4 /* マクロ命令「IN IBUF,LEN」をメモリに書込 */
12 bool writeIN(const char *ibuf, const char *len, PASS pass)
17 writememory(0x7001, (asprop->ptr)++, pass);
18 writememory(0x0, (asprop->ptr)++, pass);
20 writememory(0x7002, (asprop->ptr)++, pass);
21 writememory(0x0, (asprop->ptr)++, pass);
23 writememory(0x1210, (asprop->ptr)++, pass);
24 writememory(getadr(asprop->prog, ibuf, pass), (asprop->ptr)++, pass);
26 writememory(0x1220, (asprop->ptr)++, pass);
27 writememory(getadr(asprop->prog, len, pass), (asprop->ptr)++, pass);
29 writememory(0xF000, (asprop->ptr)++, pass);
30 writememory(0x0001, (asprop->ptr)++, pass);
32 writememory(0x7120, (asprop->ptr)++, pass);
34 writememory(0x7110, (asprop->ptr)++, pass);
41 /* マクロ命令「OUT OBUF,LEN」をメモリに書込 */
52 bool writeOUT(const char *obuf, const char *len, PASS pass)
57 writememory(0x7001, (asprop->ptr)++, pass);
58 writememory(0x0, (asprop->ptr)++, pass);
60 writememory(0x7002, (asprop->ptr)++, pass);
61 writememory(0x0, (asprop->ptr)++, pass);
63 writememory(0x1210, (asprop->ptr)++, pass);
64 writememory(getadr(asprop->prog, obuf, pass), (asprop->ptr)++, pass);
66 writememory(0x1220, (asprop->ptr)++, pass);
67 writememory(getadr(asprop->prog, len, pass), (asprop->ptr)++, pass);
69 writememory(0xF000, (asprop->ptr)++, pass);
70 writememory(0x0002, (asprop->ptr)++, pass);
72 writememory(0x1210, (asprop->ptr)++, pass);
76 writememory(asprop->lptr, (asprop->ptr)++, pass); /* リテラルのアドレスを書込 */
78 writememory(0xA, (asprop->lptr)++, pass);
80 writememory(0x1220, (asprop->ptr)++, pass);
84 writememory(asprop->lptr, (asprop->ptr)++, pass); /* リテラルのアドレスを書込 */
86 writememory(0x1, (asprop->lptr)++, pass);
88 writememory(0xF000, (asprop->ptr)++, pass);
89 writememory(0x0002, (asprop->ptr)++, pass);
91 writememory(0x7120, (asprop->ptr)++, pass);
93 writememory(0x7110, (asprop->ptr)++, pass);
100 /* マクロ命令「RPUSH」をメモリに書き込む
109 bool writeRPUSH(PASS pass) {
113 for(i = 1; i <= 7; i++) {
114 writememory(0x7000 + i, (asprop->ptr)++, pass); /* PUSH GRn */
115 writememory(0x0, (asprop->ptr)++, pass);
123 /* マクロ命令「RPOP」をメモリに書き込む
133 bool writeRPOP(PASS pass) {
136 for(i = 7; i >= 1; i--) {
137 writememory((0x7100 + (i << 4)), (asprop->ptr)++, pass); /* POP GRn */