3: 2011-06-30 (木) 23:22:50 sero |
4: 2011-07-01 (金) 08:10:15 sero |
| -- nask:nask→obj, obj2bim:obj→bim×rlm, bim2g01:bim×rlm→g01, tekmin0;bim2bin;tekmin1:g01→g01(tekによる圧縮) | | -- nask:nask→obj, obj2bim:obj→bim×rlm, bim2g01:bim×rlm→g01, tekmin0;bim2bin;tekmin1:g01→g01(tekによる圧縮) |
| -- bim2binはg01でないので圧縮はいったんあきらめる。したがって、nask;obj2bim;bim2g01でnask→g01(圧縮なし)のビルドができることがわかった。 | | -- bim2binはg01でないので圧縮はいったんあきらめる。したがって、nask;obj2bim;bim2g01でnask→g01(圧縮なし)のビルドができることがわかった。 |
| + | - あとは、キーボードからの入力をファイルに書き出す補助ツールがあれば、「ソースの入力→アセンブル→リンク」がg01だけで実現できることになる。 |
| + | - で、作った。ファイル名: input.c |
| + | #include <guigui01.h> |
| + | |
| + | void G01Main(void) { |
| + | static const unsigned char cmdusage[] = { |
| + | 0x86, 0x50, |
| + | 0x8c, |
| + | 0x40 |
| + | }; |
| + | char * const p0 = g01_bss1a1, *p = p0; |
| + | int flag = 0; |
| + | |
| + | g01_setcmdlin(cmdusage); |
| + | |
| + | for (;;) { |
| + | int c = jg01_inkey3(); |
| + | if (c == '\r') |
| + | c = '\n'; |
| + | g01_putc(c); |
| + | |
| + | if (!flag) { |
| + | if (c == 'q') |
| + | flag = 1; |
| + | else |
| + | *p++ = c; |
| + | } else { |
| + | if (c == '\n') |
| + | break; |
| + | *p++ = 'q'; |
| + | *p++ = c; |
| + | flag = 0; |
| + | } |
| + | } |
| + | *p = '\0'; |
| + | |
| + | g01_getcmdlin_fopen_s_3_5(0); |
| + | jg01_fwrite1f_5(p - p0, p0); |
| + | } |
| + | - 出力ファイル名を受け取り、入力された文字をそこに書き込む。入力の終了は'q'+Enterで表す。 |
| | | |
| - まだ未完成。進展があったら更新。 | | - まだ未完成。進展があったら更新。 |
| | | |
| #comment | | #comment |