標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第620回]
●Windows7のコマンドプロンプトで異常表示(その2)
[第618回]では、Windows7(32ビット版)のコマンドプロンプトでZ80アセンブラZASM.COMを実行すると、それまで画面に表示されていた日本語の表示が全部???…に化けてしまうという、信じられない現象について書きました。
ZASM.COMは言わずと知れた16ビットアプリケーションです。
というか純粋混じりっけ無しの8086アプリケーションです。
原因は皆目見当がつきません。
あるいは私の作ったプログラムに問題があるのかも知れません。
でも、ZASM.COMは結構しつこいプログラムなのですよね。
どこかに問題があったとしても、それを追求するのはなかなかに大変なことで…。
そうか!
確認する方法がありました!
もっと、うんと簡単なプログラムを書いてテストしてみればいいじゃありませんか。
ほら、例の”Hello World!”っていうやつです。
そうか、”Hello World”って書けば良かった。今、そのことに気が付いたんですけど、もう別のプログラムを書いてテストしてしまいました。
comtest2.comというのが、そのテストプログラムです。

この画面で、これから[Enter]を押します。
と、こうなります。

簡単なプログラムでも、同じ現象がおきました。
ね。私のプログラムのせいじゃなかったでしょ。
あ。”TEST END”は”Hello World”だったことにしておいてくださいね。
comtest2.comのプログラムリストです。
2010/9/24 9:10 COMTEST2.TXT
[00001] ;;; command prompt test 10/9/24
[00002] ORG=100
[00003] ;
[00004] 0100 BF3101 MOV DI,TBL
[00005] 0103 32C0 XOR AL,AL
[00006] 0105 E80600 CALL DEDP <010E>
[00007] 0108 32C0 REENT:XOR AL,AL
[00008] 010A B44C MOV AH,4C
[00009] 010C CD21 INT 21
[00010] ;
[00011] 010E 8AF0 DEDP:MOV DH,AL
[00012] DEDP1:
[00013] 0110 26 ES:
[00014] 0111 8A15 MOV DL,[DI]
[00015] 0113 47 INC DI
[00016] 0114 3AD6 CMP DL,DH
[00017] 0116 7501 JNZ DEDP2 <0119>
[00018] 0118 C3 RET
[00019] 0119 80FA0D DEDP2:CMP DL,0D
[00020] 011C 7407 JZ CRLF0 <0125>
[00021] 011E B402 MOV AH,2
[00022] 0120 CD21 INT 21
[00023] 0122 EBEC90 JMP DEDP1 <0110>
[00024] 0125 47 CRLF0:INC DI
[00025] 0126 B402 CRLF:MOV AH,2
[00026] 0128 B20D MOV DL,0D
[00027] 012A CD21 INT 21
[00028] 012C B20A MOV DL,0A
[00029] 012E CD21 INT 21
[00030] 0130 C3 RET
[00031] ;
[00032] 0131 544553542045 TBL:"TEST END
4E44
[00033] 0139 0D DB 0D
[00034] ;
0100-0139
CRLF =0126 CRLF0 =0125 DEDP =010E DEDP1 =0110 DEDP2 =0119 REENT =0108 TBL =0131
実はこのお話しについては続きがあるのですけれど、本日は時間がありません。
その続きは次回に書くことにいたします。
2010.9.25upload
前へ
次へ
ホームページトップへ戻る