Debugging CP/M 8080 code on the Z80-MBC2
I develop programs for the Z80-MBC2 in Intel 8080 Assembly with the Suite8080 8080 assembler. Aside from the binary compatibility, the Z80-MBC2 is a Z80 system, so I wondered what Assembly mnemonics and register set the CP/M development tools work with.
It turns out my favorite CP/M debugger, the SID symbolic debugger, comes in two versions specialized on the CPU, SID and ZSID.
SID accepts as input and outputs 8080 mnemonics and registers, ZSID Z80 mnemonics and registers. For example, in this CP/M 3.0 SID session on the Z80-MBC2 I loaded my Twirl 8080 program and disassembled it with SID's l
(list) command:
A>sid f:twirl.com
CP/M 3 SID - Version 3.0
NEXT MSZE PC END
0180 0180 0100 D4FF
#l
0100 MVI C,09
0102 LXI D,0139
0105 CALL 0005
0108 LXI H,0142
010B MVI B,08
010D PUSH H
010E PUSH B
010F MVI C,09
0111 LXI D,013E
0114 CALL 0005
0117 POP B7
The output contains 8080 mnemonics. An analogous ZSID session running the same disassembly command outputs Z80 mnemonics:
A>zsid f:twirl.com
SID VERS 1.4
NEXT PC END
0180 0100 CDFF
#l
0100 LD C,09
0102 LD DE,0139
0105 CALL 0005
0108 LD HL,0142
010B LD B,08
010D PUSH HL
010E PUSH BC
010F LD C,09
0111 LD DE,013E
0114 CALL 0005
0117 POP BC
SID thus lets me work in a 8080 environment on a Z80 system.
#z80mbc2 #Suite8080 #CPM #Assembly
Discuss... Email | Reply @amoroso@fosstodon.org