4 /*マクロ命令「IN IBUF,LEN」をメモリに書込
13 bool writeIN(const char *ibuf, const char *len, PASS pass)
18 writememory(0x7001, ptr++, pass);
19 writememory(0x0, ptr++, pass);
21 writememory(0x7002, ptr++, pass);
22 writememory(0x0, ptr++, pass);
24 writememory(0x1210, ptr++, pass);
25 writememory(getadr(ibuf, pass), ptr++, pass);
27 writememory(0x1220, ptr++, pass);
28 writememory(getadr(len, pass), ptr++, pass);
30 writememory(0xF000, ptr++, pass);
31 writememory(0x0001, ptr++, pass);
33 writememory(0x7120, ptr++, pass);
35 writememory(0x7110, ptr++, pass);
42 /* マクロ命令「OUT OBUF,LEN」をメモリに書込
54 bool writeOUT(const char *obuf, const char *len, PASS pass)
59 writememory(0x7001, ptr++, pass);
60 writememory(0x0, ptr++, pass);
62 writememory(0x7002, ptr++, pass);
63 writememory(0x0, ptr++, pass);
65 writememory(0x1210, ptr++, pass);
66 writememory(getadr(obuf, pass), ptr++, pass);
68 writememory(0x1020, ptr++, pass);
69 writememory(getadr(len, pass), ptr++, pass);
71 writememory(0xF000, ptr++, pass);
72 writememory(0x0002, ptr++, pass);
74 writememory(0x1210, ptr++, pass);
78 writememory(lptr, ptr++, pass); /* リテラルのアドレスを書込 */
80 writememory(0xA, lptr++, pass);
82 writememory(0x1220, ptr++, pass);
83 writememory(0x0001, ptr++, pass);
85 writememory(0xF000, ptr++, pass);
86 writememory(0x0002, ptr++, pass);
88 writememory(0x7120, ptr++, pass);
90 writememory(0x7110, ptr++, pass);
97 /* マクロ命令「RPUSH」をメモリに書き込む
106 bool writeRPUSH(PASS pass) {
110 for(i = 1; i <= 7; i++) {
111 writememory(0x7000 + i, ptr++, pass); /* PUSH GRn */
112 writememory(0x0, ptr++, pass);
120 /* マクロ命令「RPOP」をメモリに書き込む
130 bool writeRPOP(PASS pass) {
133 for(i = 7; i >= 1; i--) {
134 writememory((0x7100 + (i << 4)), ptr++, pass); /* POP GRn */