| Ti dirò, l' ho provato effettivamente è un po' macchinoso. Ad ogni modo io gli ho caricato questo file DEMO.Z80 il cui contenuto è:
;----------------------------+ ; PROGRAMMA DIMOSTRATIVO | ;----------------------------| ;SORGENTE : DEMO.Z80 | ;FOGLIO ASSEMBLER: ASSEMB.TXT| ;CODICE PER EPROM: ASSEMB.BIN| ;----------------------------+
ORG #9F00 NVOLTE EQU 2 LD A,#F0 LD I,A IM 2 EI LD B,NVOLTE LOOP CALL SOMMA CALL EXTERN CALL SHIFT DJNZ LOOP HALT
; SUBROUTINE DI SOMMA ; DIMOSTRATIVO
SOMMA PUSH AF ;SALVA PUSH HL ;REGISTRI PUSH IX LD HL,#21FE LD A,#15 LD (HL),#17 ADD A,(HL) DAA ; FORMATO BCD SCF LD IX,10 LD (IX-1),#1F INC IX ADC A,(IX-2) POP IX ;RIPRISTINA POP HL ;REGISTRI POP AF RET
; SUBROUTINE DI INPUT/OUTPUT ; DIMOSTRATIVO
EXTERN PUSH AF ;SALVA PUSH IX ;REGISTRI IN A,(#E6) LD IX,#1EF5 LD C,A INC (IX+16) OR A SBC A,(IX+16) OUT (C),A DEC A DEC C OUT (C),A POP IX ;RIPRISTINO POP AF ;REGISTRI RET
; SUBROUTINE DI SHIFT ; DIMOSTRATIVO
ORG #7000
SHIFT PUSH DE PUSH IY LD D,128 LD IY,#30F0 LD (IY+9),#FF LD E,3 LOOP2 SLA (IY+9) RL D DEC E JR NZ,LOOP2 POP IY POP DE RET
Lanciato effettivamente gira, e genera un file di log con tutto il trace:
DEC SP JR NZ 32 DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L DEC L LD A, H DEC C LD A, (BC) DEC SP LD D, E LD C, A LD D, D LD B, A LD B, L LD C, (HL) LD D, H LD B, L JR NZ 32 LD B, L LD C, L LD B, D LD C, H LD B, L LD D, D LD A, (0x4120) LD D, E LD D, E LD B, L LD C, L LD B, D LD L, 0x54 LD E, B LD D, H LD A, H DEC C LD A, (BC) DEC SP LD B, E LD C, A LD B, H LD C, C LD B, E LD B, L JR NZ 80 LD C, H LD D, H LD B, L JR NZ 69 JR NZ 32 LD C, L LD B, C DEC C LD A, (BC) JR NZ 32 LD D, E LD C, B LD C, C LD B, (HL) LD D, H DEC C LD A, (BC) JR NZ 32 LD A, (BC) DEC SP JR NZ 83 LD D, D LD B, L LD B, A LD C, C LD D, E LD D, H LD D, D LD C, C DEC C LD A, (BC) JR NZ 32 LD B, (HL) LD B, L DEC C LD A, (BC) JR NZ 32 INC HL LD SP, 0x0D37 LD A, (BC) JR NZ 32 JR NZ 70 JR NZ 32 JR NZ 32 JR NZ 32 LD B, C LD B, (HL) DEC C LD A, (BC) JR NZ 32 LD D, L LD D, H CPL LD C, A LD D, L LD D, H LD D, B LD D, L LD D, H DEC C LD A, (BC) DEC SP JR NZ 68 LD D, E LD D, H LD D, D LD C, C DEC C LD A, (BC) JR NZ 32 LD E, B INC L INC HL LD SP, 0x4645 DEC (HL) DEC C LD A, (BC) JR NZ 32 LD SP, 0x2936 DEC C LD A, (BC) JR NZ 32 LD SP, 0x2936 DEC C LD A, (BC) JR NZ 32 DEC C LD A, (BC) JR NZ 32 DEC C LD A, (BC) JR NZ 32 JR NZ 32 LD B, L LD D, H DEC C LD A, (BC) DEC C LD A, (BC) DEC SP JR NZ 83 JR NZ 32 JR NZ 32 LD E, C DEC HL ADD HL, SP ADD HL, HL INC L INC HL LD B, (HL) LD B, (HL) DEC C LD A, (BC) JR NZ 32 ADD HL, SP ADD HL, HL DEC C LD A, (BC) JR NZ 32 JR NZ 32 DEC C LD A, (BC) JR NZ 32 NOP NOP NOP NOP
Di più non so, io sono analogico.
|