復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第59回]
●ファイル内容比較プログラム(5)
前回はファイル内容を比較するプログラムcmp.comを使って、その前にcopy.comで作成したtestdata.txtファイルと、そのもとになったftest4−1.txtファイルを比較しました。
cmp.comは2つのファイルを先頭から1バイトずつ比較して、不一致のところだけ表示するというプログラムですから、完全に一致しているファイルを比較しても何も表示されません。
結果としてはそれでよいのですけれど、作ったばかりのプログラムですから、なんとなく、いいのかなあ、という気になってしまいます。
そこで今回は短いファイルで、かつ一致している部分と不一致の部分があるような、2つのファイルを比較してみることにいたします。
そういうファイルを新しく作ってもいいのですけれど、わざわざ作るのも面倒ですから、何かすでにあるファイルで手頃なものはないものか、と思いましたら、ありました。手頃なものが。
2012/3/7 9:40 fillff.txt END=810D ; FILL FF 805c-807c ; ORG $8100 FCB=$805C ; REENT=$1033 ; 8100 215C80 LD HL,FCB 8103 0624 LD B,24 8105 0EFF LD C,FF 8107 71 LOOP:LD (HL),C 8108 23 INC HL 8109 05 DEC B 810A C20781 JP NZ,LOOP 810D C9 RET ; FCB =805C LOOP =8107 REENT =1033 |
2012/3/2 19:59 fill00.txt END=808F ; FILL 00 8100-87ff ; ORG $8080 REENT=$1033 ; 8080 210081 LD HL,$8100 8083 0600 LD B,00 8085 70 LOOP:LD (HL),B 8086 23 INC HL 8087 7C LD A,H 8088 FE88 CP 88 808A C28580 JP NZ,LOOP 808D C33310 JP REENT ; LOOP =8085 REENT =1033 |
ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >jp d233 a>dir A: FILLE5 COM : FTEST1 COM : FTEST2 COM : DM COM A: TEST COM : FTEST4 COM : FTEST4-1 TXT : FTEST4-2 COM A: FTEST4-3 COM : COPY COM : TESTDATA TXT : FILLFF COM A: TESTDAT2 TXT : CMP COM a> |
a>^D>a>^D> ERR:23 >/ld fill00.bin,8080 loading FILL00.BIN ...0010(16)bytes loaded,from 8080 to 808F >jp 8080 >/ld fillff.bin,8100 loading FILLFF.BIN ...000e(14)bytes loaded,from 8100 to 810D >dm 8100,81ff 8100 21 5C 80 06 24 0E FF 71-23 05 C2 07 81 C9 00 00 !\..$..q#.ツ..ノ.. 8110 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8180 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 8190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 81A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 81B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 81C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 81D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 81E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 81F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ >jp d233 a>dir A: FILLE5 COM : FTEST1 COM : FTEST2 COM : DM COM A: TEST COM : FTEST4 COM : FTEST4-1 TXT : FTEST4-2 COM A: FTEST4-3 COM : COPY COM : TESTDATA TXT : FILLFF COM A: TESTDAT2 TXT : CMP COM a>save 1 fillff.com a>dir A: FILLE5 COM : FTEST1 COM : FTEST2 COM : DM COM A: TEST COM : FTEST4 COM : FTEST4-1 TXT : FTEST4-2 COM A: FTEST4-3 COM : COPY COM : TESTDATA TXT : FILLFF COM A: TESTDAT2 TXT : CMP COM a> |
a>^D>a>^D> ERR:23 >/ld fill00.bin,8100 loading FILL00.BIN ...0010(16)bytes loaded,from 8100 to 810F >jp d233 a>save 1 fill00.bin a>dir A: FILLE5 COM : FTEST1 COM : FTEST2 COM : DM COM A: TEST COM : FTEST4 COM : FTEST4-1 TXT : FTEST4-2 COM A: FTEST4-3 COM : COPY COM : TESTDATA TXT : FILLFF COM A: TESTDAT2 TXT : CMP COM : FILL00 BIN a>cmp fillff.com fill00.bin 0001 5C-00 0002 80-81 0004 24-00 0005 0E-70 0006 FF-23 0007 71-7C 0008 23-FE 0009 05-88 000B 07-85 000C 81-80 000D C9-C3 000E 00-33 000F 00-10 a> |