MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第26回]
●Windows側のプログラム(部分)です
実はちょっと後悔しております。
やっぱりプログラムリストをお見せするべきではなかったのかなと。
いえ。
隠しておくつもりはありませんです。
ただちょっと特殊なプログラムなので、やっぱり説明がしにくいです。
あまり参考にはならないような気がします。
そしてこちらがWindows側のプログラム(BSAVEの部分)です。
[00759] ;;; bsave [00760] 072B E82C06 BSAVE:CALL DIN <0D5A> [00761] 072E 3C10 CMP AL,10 [00762] 0730 7527 JNZ BSAVE1 <0759> [00763] ;wfopen [00764] 0732 E82506 CALL DIN <0D5A> [00765] 0735 8AD8 MOV BL,AL [00766] 0737 E82006 CALL DIN <0D5A> [00767] 073A 8AF8 MOV BH,AL [00768] 073C 891E5AF1 MOV [ZRETADRS],BX [00769] 0740 E81706 CALL DIN <0D5A> [00770] 0743 8AD8 MOV BL,AL [00771] 0745 E81206 CALL DIN <0D5A> [00772] 0748 8AF8 MOV BH,AL [00773] 074A 891E5CF1 MOV [ZWBFADRS],BX [00774] 074E B001 MOV AL,01 [00775] 0750 A259F1 MOV [LOGFSW],AL [00776] 0753 E88B08 CALL LOGOPEN <0FE1> [00777] 0756 EB6A90 JMP ZBENT32 <07C2> [00778] 0759 3C12 BSAVE1:CMP AL,12 [00779] 075B 750A JNZ BSAVE2 <0767> [00780] ;wfclose [00781] 075D E84600 CALL WFWRITE <07A6> [00782] 0760 B43E MOV AH,3E;CLOSE [00783] 0762 CD21 INT 21 [00784] 0764 EB5C90 JMP ZBENT32 <07C2> [00785] ;bfwrite & wfwrite [00786] 0767 3C11 BSAVE2:CMP AL,11 [00787] 0769 7403 JZ BSAVE3 <076E> [00788] 076B EB5590 JMP ZBENT32 <07C2> [00789] 076E 8B1E5CF1 BSAVE3:MOV BX,[ZWBFADRS] [00790] 0772 E806FB CALL ADOUT <027B> [00791] 0775 B238 MOV DL,38;DUMP MEMORY [00792] 0777 E8AC05 CALL OUT <0D26> [00793] 077A B200 MOV DL,00 [00794] 077C E89105 CALL DOUT <0D10> [00795] 077F B300 MOV BL,00 [00796] 0781 BF00E8 MOV DI,WFBFTOP [00797] 0784 E8D305 BSAVE32:CALL DIN <0D5A> [00798] 0787 8805 MOV [DI],AL [00799] 0789 47 INC DI [00800] 078A FECB DEC BL [00801] 078C 75F6 JNZ BSAVE32 <0784> [00802] 078E E81500 CALL WFWRITE <07A6> [00803] 0791 8B1E5AF1 MOV BX,[ZRETADRS] [00804] 0795 E8E3FA CALL ADOUT <027B> [00805] 0798 B248 MOV DL,48;GO [00806] 079A E88905 CALL OUT <0D26> [00807] 079D B22E MOV DL,2E;'.' [00808] 079F B402 MOV AH,02 [00809] 07A1 CD21 INT 21 [00810] 07A3 EB1D90 JMP ZBENT32 <07C2> [00811] ; [00812] 07A6 BA00E8 WFWRITE:MOV DX,WFBFTOP [00813] 07A9 B90001 MOV CX,100 [00814] 07AC 8B1E5EF1 MOV BX,[WFNO] [00815] 07B0 B440 MOV AH,40;WRITE [00816] 07B2 CD21 INT 21 [00817] 07B4 7201 JC WFWRITE2 <07B7> [00818] 07B6 C3 RET [00819] 07B7 BAF611 WFWRITE2:MOV DX,WFERRT [00820] 07BA B409 MOV AH,9 [00821] 07BC CD21 INT 21 [00822] 07BE C3 RET [00823] ; |