Z80からi8086への移植

8bit INTEL系i8080/Z80ではCP/Mが標準のOSでした。

http://www.cpm.z80.de/index.html

16bit INTEL系i8086ではMS-DOSが標準のOSになりました。

http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code/

このv11sourceにTRANS.ASMというZ80 to 8086 Translatorがあるので、これを使ってZ80からi8086への移植をやってみたいと思います。

開発環境にはMASM32を使いました。

http://www.geocities.jp/parallel_computer_inc/TRANS.zip

>ml /c TRANS.ASM
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997.  All rights reserved.

Assembling: TRANS.ASM

>link16 /T TRANS;

Microsoft (R) Segmented Executable Linker  Version 5.60.339 Dec  5 1994
Copyright (C) Microsoft Corp 1984-1993.  All rights reserved.

LINK : warning L4045: name of output file is 'TRANS.com'

>msdos TRANS.COM 

Z80 to 8086 Translator  version 2.21

File not found

実行環境はv20objectにCOMMAND.COMがあるので、武田さんのMS-DOS Playerで使います。

http://takeda-toshiya.my.coocan.jp/msdos/

>msdos.exe COMMAND.COM

Command v. 2.02 

>type HELLO.Z80
PRLOOP LD HL,MSG
       AND A
       RET Z
       CALL PROUT
       INC HL
       JR PRLOOP
MSG    DB "Hello,World!",CR,00

>TRANS HELLO.Z80

Z80 to 8086 Translator version 2.21

Translation complete 

>type HELLO.ASM
PRLOOP: MOV BX,MSG
        AND AL,AL
        JZ RET
        CALL PROUT
        LAHF
        INC BX
        SAHF
        JMPS PRLOOP
MSG: DB "HELLO,WORLD!",CR,00