3: 2011-06-30 (木) 23:22:50 sero[6] [7] | 4: 2011-07-01 (金) 08:10:15 sero[6] [8] | ||
---|---|---|---|
Line 17: | Line 17: | ||
-- 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 |
(This host) = http://osask.net