;------------------------------------------------- ; Z80 Nuova Elettronica ; Disassemblatore residente in ROM/RAM ; ; uso: caricare in RAM e lanciare a D000h. Puň essere rilocato a patto che l'inizio della tabella mnemonici sia ad una locazione avente il byte meno significativo a 00 (xx00h) ; ; digitare separati da una virgola l'indirizzo esadecimale di inizio e fine codice da disassemblare (iiii,ffff). ; premere invio per confermare, la lista degli mnemonici verrŕ  mostrata a video ; premendo invece spazio la lista verrŕ  anche stampata sulla stampante alla porta I/O 0x03 ; durante lo scorrimento della lista del disassemblato, Control-S mette in pausa lo scorrimento. Un tasto qualsiasi per riprendere ; Break riavvia il disassemblatore, Form Feed per cancellare lo schermo, Esc ritorna al monitor esadecimale ; ; sorgente compilato e commentato da Paolo Carrer. ; Modificato da Roberto Bazzano per utilizzo con scheda multi-firmware ; sulla base di un'immagine ROM compresa nell'espansione di terze parti "Monitor AG3" ; novembre 2024 ; ; compilare con ZASM ; ;------------------------------------------------- cursor: .equ 0014h ; + 0015h locazione video attuale list: .equ 0016h ; se = 0 scrive a video, se != 0 scrive a video e stampa ix_iy: .equ 0017h ; annotazione per decodifica opcodes con HL, IX o IY video: .equ 0EC00h vsync: .equ 0EBh keyb: .equ 0EAh lpt: .equ 003h #target bin #code _BANKEPR_0,$D000,$1000 L0333: JP L0001 ; scrive a video il carattere in C L0018: NOP LD A,C CP 60H JR C,L0002 SRA C L0002: PUSH AF LD A,C EXX LD HL,(cursor) CP 20H JP M,L0003 ; se č un carattere ascii di controllo salta a loro gestione CALL L0004 INC HL L0010: LD A,H CP 0EEH ; verifica se fare scroll per fine schermo JR NZ,L0005 LD DE,video LD HL,video+20h LD B,04H L0007: PUSH BC LD BC,0078H L0006: IN A,(vsync) BIT 7,A JR NZ,L0006 LDIR POP BC DJNZ L0007 EX DE,HL CALL L0008 LD HL,video+1E0h L0005: LD A,81H CALL L0004 LD (cursor),HL POP AF EXX RET ; gestione caratteri ascii di controllo L0003: CP 0DH L0097: JR NZ,L0009 CALL L0008 JR L0010 L0009: CP 0CH JR NZ,L0011 LD HL,video L0012: CALL L0008 LD A,H CP 0EEH JR NZ,L0012 LD HL,video JR L0005 L0011: CP 08H JR NZ,L0099 LD A,20H CALL L0004 DEC HL JR L0005 L0099: CP 1BH ; ESC ritorna al monitor multi-firmware JR NZ,L0005 JP 0F800h L0008: LD A,20H CALL L0004 INC HL LD A,L AND 1FH JR NZ,L0008 RET L0004: PUSH AF PUSH BC LD C,A L0013: IN A,(vsync) BIT 7,A JR NZ,L0013 LD (HL),C POP BC POP AF RET ; lettura tastiera con conversione da minuscole a maiuscole L0014: IN A,(keyb) BIT 7,A JP Z,L0014 RES 7,A CP 60H JP M,L0015 CP 7BH JP P,L0015 RES 5,A L0015: PUSH AF L0016: IN A,(keyb) BIT 7,A JR NZ,L0016 POP AF RET L0047: LD C,20H JP L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) L0040: LD C,0DH JP L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) L0023: CALL L0014 ; legge tastiera AND 7FH ; superfluo? PUSH BC LD C,A CALL L0018 ; scrive a video il carattere digitato LD A,C POP BC RET ; ritorna con carattere tastiera in A L0019: ADD A,90H DAA ADC A,40H DAA LD C,A RET L0021: CALL L0019 JP L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) ; scrive a video o stampante le quattro cifre esadecimali contenute nel registro HL L0046: LD A,H CALL L0020 LD A,L ; scrive a video o stampante le due cifre esadecimali contenute nel registro A L0020: PUSH AF RRCA RRCA RRCA RRCA AND 0FH CALL L0021 POP AF AND 0FH JR L0021 L0024: SUB 30H RET C ; ritorna se carattere č inferiore allo "0" ADD A,0E9H RET C ; ritorna se carattere č superiore alla "F" ADD A,06H JP P,L0022 ; salta se il carattere č una lettera (da A a F) ADD A,07H RET C ; torna se il carattere č maggiore di "9" L0022: ADD A,0AH ; converte il carattere alfanumerico nel valore esadecimale OR A RET L0027: CP 20H RET Z ; ritorna se "spazio" CP 2CH RET Z ; ritorna se "virgola" CP 0DH SCF CCF RET NZ ; se non č "invio" ritorna con carry azzerato SCF RET ; se č "invio" ritorna con flag carry impostato L0030: LD HL,0000H L0026: CALL L0023 ; legge tastiera e scrive carattere letto LD B,A CALL L0024 ; verifica che il carattere digitato sia una cifra esadecimale JR C,L0025 ; se carry č impostato il carattere non č esadecimale ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL OR L LD L,A JR L0026 L0025: EX (SP),HL PUSH HL LD A,B CALL L0027 ; verifica se spazio, virgola o invio JR NC,L0028 DEC C JR NZ,L0029 RET L0028: JR NZ,L0029 DEC C JR NZ,L0030 RET L0029: CALL L0031 LD SP,HL LD C,2AH ; "*" č messaggio errore CALL L0018 ; scrive a video carattere in C JP L0032 L0031: LD HL,0ECFFH L0033: DEC H LD A,(HL) CPL LD (HL),A CP (HL) CPL LD (HL),A JR NZ,L0033 PUSH BC LD BC,0FFE6H ADD HL,BC POP BC RET msg_ST: db "DISASSEMBLER AG 3 " msg_OK: db "OK" reg_1: db "BC", "DE", "HL", "SP" reg_2: db "BC", "DE", "HL", "*", "A" reg_3: db "HL", "IX", "IY" L0066: LD C,2CH ; "," JP L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) ; stampa stringa puntata da HL e lunga B su video o stampante L0037: LD C,(HL) INC HL CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) DJNZ L0037 RET ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) L0017: LD A,(list) OR A CALL NZ,L0038 JP L0018 ; scrive a video il carattere in C ; stampa carattere su stampante L0038: IN A,(lpt) BIT 0,A JR NZ,L0038 LD A,C SET 7,A OUT (lpt),A RES 7,A OUT (lpt),A SET 7,A OUT (lpt),A RET ; punto ingresso L0001: LD A,0C3H LD (0066H),A LD HL,L0333 LD (0067H),HL ; cancella schermo LD H,0ECH LD (cursor),HL LD BC,01ffh ;03FFH LD DE,0EC01H LD (HL),20H LDIR ; ricerca ram (duplicato?) LD HL,0ECFFH L0039: DEC H LD A,(HL) CPL LD (HL),A CP (HL) CPL LD (HL),A JR NZ,L0039 INC HL LD SP,HL ; scrive messaggio iniziale e attende immissione caratteri dopo prompt LD HL,msg_ST LD B,12H ; 18 caratteri da scrivere L0043: LD DE,0000H ; E=0 -> scrive a video, D=0 -> registro HL (non IX o IY) LD (list),DE CALL L0037 ; invia stringa puntata da HL a video (list = 0) L0032: CALL L0040 ; invia CR LD C,5DH ; "]" prompt CALL L0018 ; scrive a video carattere in C LD C,02H ; numero caratteri da ricevere da tastiera?? CALL L0030 ; legge da tastiera, scrive a video e ritorna CP 20H JR NZ,L0041 CALL L0040 ; se digitato "spazio" invia CR LD (list),A ; scrive valore diverso da 0 (20h = spazio) per uscita su stampante L0041: POP BC POP HL L0052: PUSH HL SCF SBC HL,BC JR C,L0042 POP HL LD HL,msg_OK ; "OK" LD B,02H ; 2 caratteri da scrivere JR L0043 ; scrive "OK" e torna a ciclo immissione da tastiera L0042: PUSH BC LD A,(list) OR A JR NZ,L0044 IN A,(keyb) CP 93H JR NZ,L0044 L0045: IN A,(keyb) BIT 7,A JR NZ,L0045 CALL L0014 ; legge tastiera L0044: POP BC POP HL PUSH BC CALL L0046 CALL L0047 POP BC XOR A LD (ix_iy),A L0076: LD DE,tabella L0128: PUSH BC L0087: EX DE,HL L0049: LD B,(HL) LD A,(DE) AND B INC HL CP (HL) INC HL JR Z,L0048 LD BC,0004H ADD HL,BC JR L0049 L0048: PUSH BC LD B,(HL) CALL L0050 INC HL LD C,(HL) INC HL CALL L0051 LD B,(HL) INC HL LD C,(HL) EX DE,HL PUSH BC RET L0051: LD A,(BC) RES 7,A PUSH BC LD C,A CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) POP BC LD A,(BC) INC BC BIT 7,A JR Z,L0051 RET ;0250h del file bin L0053: POP BC L0063: CALL L0040 POP BC INC HL JR L0052 ;0258 del file bin L0069: INC HL LD A,(HL) CALL L0020 JR L0053 L0055: LD A,B CPL LD B,A AND (HL) L0054: SRL B RET C SRL A JR L0054 L0062: CALL L0055 L0071: CP 06H JR Z,L0056 L0115: LD DE,reg_2 ADD A,E LD E,A LD A,(DE) LD C,A CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) RET L0056: LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0057 JR NZ,L0058 LD C,2BH CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) INC HL LD A,(HL) CALL L0020 L0058: LD C,29H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) RET L0057: EX DE,HL LD HL,reg_3 LD A,(ix_iy) CP 0DDH JR Z,L0059 CP 0FDH JR Z,L0060 JR L0061 L0060: INC HL INC HL L0059: INC HL INC HL L0061: PUSH BC LD B,02H PUSH AF CALL L0037 ; invia stringa puntata da HL a video (list = 0) POP AF POP BC EX DE,HL RET ;02B6 del file bin T0001: POP BC CALL L0062 L0068: JR L0063 T0018: POP BC CALL L0064 JR L0063 L0065: CALL L0055 L0080: CP 02H JR Z,L0057 L0072: EX DE,HL LD HL,reg_1 ADD A,A ADD A,L LD L,A JR L0061 ;02D2 del file bin T0002: POP BC CALL L0065 CALL L0066 CALL L0067 L0070: JR L0068 L0067: INC HL LD E,(HL) INC HL LD D,(HL) EX DE,HL CALL L0046 EX DE,HL RET ;02E8 del file bin T0003: POP BC PUSH BC CALL L0062 CALL L0066 JP L0069 L0073: LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0067 LD C,29H JP L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) L0086: CALL L0067 POP BC JR L0070 ;0306 del file bin T0004: POP BC LD C,(HL) PUSH BC LD A,07H OR B LD B,A CALL L0062 CALL L0066 POP BC LD A,0F8H OR B CPL LD B,A AND C CALL L0054 CALL L0071 JR L0070 L0113: CALL L0057 CALL L0066 T0010: POP BC CALL L0065 JR L0070 T0005: LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) LD A,03H CALL L0072 LD C,29H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) L0111: CALL L0066 CALL L0057 L0074: JP L0053 T0006: CALL L0057 L0075: CALL L0066 CALL L0073 JR L0074 T0007: LD C,41H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) JR L0075 T0008: CALL L0073 L0078: CALL L0066 LD C,41H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) JR L0074 T0009: CALL L0073 CALL L0066 CALL L0057 L0083: JR L0074 ;0370h del file bin T0011: LD A,(HL) LD (ix_iy),A POP BC POP BC INC HL JP L0076 L0077: LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0065 LD C,29H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) RET T0012: LD C,41H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0066 POP BC CALL L0077 L0081: JP L0063 T0013: POP BC PUSH BC CALL L0077 JR L0078 T0014: POP BC CALL L0055 CP 03H JR Z,L0079 CALL L0080 JR L0081 L0079: EX DE,HL LD HL,reg_afaf ;544EH CALL L0061 JR L0081 L0082: LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) INC HL LD A,(HL) CALL L0020 LD C,29H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) RET T0015: LD C,41H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0066 CALL L0082 JR L0083 T0016: CALL L0082 JR L0078 L0064: CALL L0055 LD D,A LD BC,reg_nu ;5515H AND A JR Z,L0084 L0085: LD A,(BC) INC BC BIT 7,A JR Z,L0085 DEC D JR NZ,L0085 L0084: CALL L0051 RET T0017: POP BC PUSH BC CALL L0064 CALL L0066 JP L0086 T0024: POP BC INC HL LD DE,tabella2 JP L0087 ;------> Tabella dei codici mnemonici .org 0D500h mnemo: db "ADC AÂŹ" db "ADC " db "ADD AÂŹ" db "ADD " db "AND " db "BIT " db "CALL " db "CC" db "Æ" db "CP " db "CP" db "Ä" db "CPD" db "Ò" db "CP" db "É" db "CPI" db "Ò" db "CP" db "Ì" db "DA" db "Á" db "DEC " db "D" db "É" db "DJNZ " db "E" db "É" db "EX " db "EX " reg_afaf: db "AF,AF" db "§" db "EX DE,H" db "Ì" db "EX" db "Ø" db "HAL" db "Ô" db "IM " db "IN " db "INC " db "IN" db "Ä" db "IND" db "Ò" db "IN" db "É" db "INI" db "Ò" db "JP " db "JR " db "LD " db "LD" db "Ä" db "LDD" db "Ò" db "LD" db "É" db "LDI" db "ÒNEÇ" db "NO" db "Ð" db "OR " db "OTD" db "Ò" db "OTI" db "Ò" db "OUT " db "OUT" db "Ä" db "OUT" db "É" db "POP " db "PUSH " db "RES " db "RET " db "RET" db "É" db "RET" db "Î" db "RL " db "RL" db "Á" db "RLC " db "RLC" db "Á" db "RL" db "Ä" db "RR " db "RR" db "Á" db "RRC " db "RRC" db "Á" db "RR" db "Ä" db "RST " db "SBC " db "A" db "ÂŹ" db "SBC " db "SC" db "Æ" db "SET " db "SLA " db "SRA " db "SRL " db "SUB " db "XOR" db 0A0h, 80h, 0AAh reg_nu: db 4Eh, 0DAh, 0DAh, 4Eh, 0C3h, 0C3h, 50h, 0CFh, 50h, 0C5h, 0D0h, 0CDh, 00h L0109: INC HL LD A,(HL) CALL L0020 CALL L0047 LD C,5FH CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) PUSH HL LD A,(HL) INC HL LD C,A LD B,00H CP 80H JR C,L0108 LD B,0FFH L0108: ADD HL,BC CALL L0046 POP HL L0110: JP L0053 NOP T0019: POP BC PUSH BC CALL L0064 CALL L0066 JR L0109 T0020: LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0057 LD C,29H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) JR L0110 T0021: LD A,03H CALL L0072 JP L0111 T0022: POP BC CALL L0055 ADD A,A ADD A,A ADD A,A CALL L0020 JP L0063 T0023: POP BC POP BC LD DE,tabella3 INC HL JP L0112 NOP NOP NOP NOP NOP T0025: XOR A LD (ix_iy),A JP L0113 T0026: LD C,32H JR L0114 T0027: POP BC PUSH BC CALL L0055 ADD A,30H LD C,A L0114: CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) JR L0110 L0116: LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) LD C,43H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) LD C,29H JP L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) T0028: POP BC CALL L0055 CALL L0115 CALL L0066 CALL L0116 L0119: JP L0063 T0029: LD DE,4149H ; A , I JR L0117 T0030: LD DE,4152H ; A , R L0117: POP BC CALL L0055 CP 01H JR Z,L0118 LD C,D LD D,E LD E,C L0118: LD C,D CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0066 LD C,E CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) JR L0119 L0050: BIT 2,B PUSH AF BIT 3,B PUSH AF LD A,03H AND B INC A LD B,A PUSH DE L0120: LD A,(DE) CALL L0020 INC DE DJNZ L0120 POP DE POP AF JR NZ,L0121 LD A,(cursor) AND 1FH SUB 0FH CPL LD B,A L0122: CALL L0047 DJNZ L0122 L0121: db opcode(ld b,N) ;LD B,0F8H ;D5h inizio tabella mnemonici!!! db hi(mnemo) POP AF JR Z,L0123 INC B L0123: RET T0031: POP BC PUSH BC CALL L0065 JP L0075 T0032: CALL L0073 DEC HL DEC HL CALL L0066 POP BC CALL L0065 INC HL INC HL JR L0119 T0033: CALL L0116 CALL L0066 POP BC CALL L0062 L0126: JR L0119 NOP L0125: LD A,07H OR B LD B,A CALL L0055 ADD A,30H LD C,A CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) RET T0034: LD A,(ix_iy) AND A JR NZ,L0124 POP BC PUSH BC CALL L0125 CALL L0066 POP BC LD A,38H OR B LD B,A L0129: CALL L0062 JR L0126 INC HL ; ?????? refuso? L0124: POP BC PUSH BC CALL L0125 CALL L0066 POP BC LD A,38H OR B LD B,A L0130: CALL L0055 CP 06H JP NZ,L0029 LD C,28H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) CALL L0057 LD C,2BH CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) DEC HL LD A,(HL) INC HL CALL L0020 LD C,29H CALL L0017 ; dirige carattere da stampare a video (list a 0) o a stampante (list diverso da 0) JR L0126 L0112: LD A,(ix_iy) AND A JR Z,L0127 PUSH BC LD A,(HL) CALL L0020 INC HL POP BC L0127: JP L0128 T0035: LD A,(ix_iy) POP BC AND A JR Z,L0129 JR L0130 NOP NOP NOP NOP NOP NOP NOP NOP NOP ; tabella per decodifica opcodes tabella: db 0FFh db 03Fh db 000h db 021h .byte hi(L0053) .byte lo(L0053) db 0FFh db 02Fh db 000h db 035h .byte hi(L0053) .byte lo(L0053) db 0FFh db 027h db 000h db 038h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0F3h db 000h db 03Fh .byte hi(L0053) .byte lo(L0053) db 0FFh db 0FBh db 000h db 046h .byte hi(L0053) .byte lo(L0053) db 0FFh db 008h db 000h db 04Bh .byte hi(L0053) .byte lo(L0053) db 0FFh db 0EBh db 000h db 054h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0D9h db 000h db 05Ch .byte hi(L0053) .byte lo(L0053) db 0FFh db 076h db 000h db 05Fh .byte hi(L0053) .byte lo(L0053) db 0FFh db 000h db 000h db 095h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0C9h db 000h db 0BCh .byte hi(L0053) .byte lo(L0053) db 0FFh db 017h db 000h db 0CBh .byte hi(L0053) .byte lo(L0053) db 0FFh db 007h db 000h db 0d2h .byte hi(L0053) .byte lo(L0053) db 0FFh db 01Fh db 000h db 0dch .byte hi(L0053) .byte lo(L0053) db 0FFh db 00Fh db 000h db 0E3h .byte hi(L0053) .byte lo(L0053) db 0FFh db 037h db 000h db 0F8h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0CEh db 001h db 000h .byte hi(L0069) .byte lo(L0069) db 0FFh db 0C6h db 001h db 00Ah .byte hi(L0069) .byte lo(L0069) db 0FFh db 0E6h db 001h db 014h .byte hi(L0069) .byte lo(L0069) db 0FFh db 0FEh db 001h db 024h .byte hi(L0069) .byte lo(L0069) db 0FFh db 0F6h db 001h db 098h .byte hi(L0069) .byte lo(L0069) db 0FFh db 0DEh db 001h db 0EEh .byte hi(L0069) .byte lo(L0069) db 0FFh db 0D6h db 005h db 00Bh .byte hi(L0069) .byte lo(L0069) db 0FFh db 0EEh db 005h db 00Fh .byte hi(L0069) .byte lo(L0069) db 0F8h db 088h db 000h db 000h .byte hi(T0001) .byte lo(T0001) db 0F8h db 080h db 000h db 00Ah .byte hi(T0001) .byte lo(T0001) db 0F8h db 0A0h db 000h db 014h .byte hi(T0001) .byte lo(T0001) db 0F8h db 0B8h db 000h db 024h .byte hi(T0001) .byte lo(T0001) db 0C7h db 005h db 000h db 03Bh .byte hi(T0001) .byte lo(T0001) db 0C7h db 004h db 000h db 069h .byte hi(T0001) .byte lo(T0001) db 0F8h db 0B0h db 000h db 098h .byte hi(T0001) .byte lo(T0001) db 0F8h db 098h db 000h db 0EEh .byte hi(T0001) .byte lo(T0001) db 0F8h db 090h db 004h db 00Bh .byte hi(T0001) .byte lo(T0001) db 0F8h db 0A8h db 004h db 00Fh .byte hi(T0001) .byte lo(T0001) db 0DFh db 0DDh db 00Ch db 013h .byte hi(T0011) .byte lo(T0011) db 0CFh db 001h db 002h db 081h .byte hi(T0002) .byte lo(T0002) db 0C7h db 006h db 001h DB 081h .byte hi(T0003) .byte lo(T0003) db 0FFh db 0C3h db 002h db 07Bh .byte hi(L0086) .byte lo(L0086) db 0FFh db 0CDh db 002h db 01Ch .byte hi(L0086) .byte lo(L0086) db 0C0h db 040h db 000h db 081h .byte hi(T0004) .byte lo(T0004) db 0CFh db 009h db 000h db 010h .byte hi(L0113) .byte lo(L0113) db 0FFh db 0E3h db 000h db 048h .byte hi(T0005) .byte lo(T0005) db 0FFh db 02Ah db 002h db 081h .byte hi(T0006) .byte lo(T0006) db 0FFh db 03Ah db 002h db 081h .byte hi(T0007) .byte lo(T0007) db 0FFh db 032h db 002h db 081h .byte hi(T0008) .byte lo(T0008) db 0FFh db 022h db 002h db 081h .byte hi(T0009) .byte lo(T0009) db 0CFh db 00Bh db 000h db 03Bh .byte hi(T0010) .byte lo(T0010) db 0CFh db 003h db 000h db 069h .byte hi(T0010) .byte lo(T0010) db 0EFh db 00Ah db 000h db 081h .byte hi(T0012) .byte lo(T0012) db 0EFh db 002h db 000h db 081h .byte hi(T0013) .byte lo(T0013) db 0CFh db 0C1h db 000h db 0AFh .byte hi(T0014) .byte lo(T0014) db 0CFh db 0C5h db 000h db 0B3h .byte hi(T0014) .byte lo(T0014) db 0FFh db 0DBh db 001h db 066h .byte hi(T0015) .byte lo(T0015) db 0FFh db 0D3h db 001h db 0A3h .byte hi(T0016) .byte lo(T0016) db 0C7h db 0C4h db 002h db 01Ch .byte hi(T0017) .byte lo(T0017) db 0C7h db 0C2h db 002h db 07bh .byte hi(T0017) .byte lo(T0017) db 0C7h db 0C0h db 000h db 0BCh .byte hi(T0018) .byte lo(T0018) db 0FFh db 018h db 001h db 07Eh .byte hi(L0109) .byte lo(L0109) db 0E7h db 020h db 001h db 07Eh .byte hi(T0019) .byte lo(T0019) db 0FFh db 010h db 001h db 041h .byte hi(L0109) .byte lo(L0109) db 0FFh db 0E9h db 000h db 07Bh .byte hi(T0020) .byte lo(T0020) db 0FFh db 0F9h db 000h db 081h .byte hi(T0021) .byte lo(T0021) db 0C7h db 0C7h db 000h db 0eah .byte hi(T0022) .byte lo(T0022) db 0FFh db 0CBh db 00Ch db 013h .byte hi(T0023) .byte lo(T0023) db 0FFh db 0EDh db 00Ch db 013h .byte hi(T0024) .byte lo(T0024) db 000h db 000h db 040h db 014h .byte hi(L0053) .byte lo(L0053) NOP NOP NOP NOP tabella2: db 0CFh db 04Ah db 000h db 006h .byte hi(T0025) .byte lo(T0025) db 0FFh db 0A9h db 000h db 027h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0B9h db 000h db 02Ah .byte hi(L0053) .byte lo(L0053) db 0FFh db 0A1h db 000h db 02Eh .byte hi(L0053) .byte lo(L0053) db 0FFh db 0B1h db 000h db 031h .byte hi(L0053) .byte lo(L0053) db 0FFh db 05Eh db 000h db 063h .byte hi(T0026) .byte lo(T0026) db 0EFh db 046h db 000h db 063h .byte hi(T0027) .byte lo(T0027) db 0FFh db 0AAh db 000h db 06Dh .byte hi(L0053) .byte lo(L0053) db 0FFh db 0BAh db 000h db 070h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0A2h db 000h db 074h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0B2h db 000h db 077h .byte hi(L0053) .byte lo(L0053) db 0C7h db 040h db 000h db 066h .byte hi(T0028) .byte lo(T0028) db 0EFh db 047h db 000h db 081h .byte hi(T0029) .byte lo(T0029) db 0EFh db 04Fh db 000h db 081h .byte hi(T0030) .byte lo(T0030) db 0FFh db 0A8h db 000h db 084h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0B8h db 000h db 087h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0A0h db 000h db 08Bh .byte hi(L0053) .byte lo(L0053) db 0FFh db 0B0h db 000h db 08Eh .byte hi(L0053) .byte lo(L0053) db 0FFh db 044h db 000h db 092h .byte hi(L0053) .byte lo(L0053) db 0CFh db 04Bh db 002h db 081h .byte hi(T0031) .byte lo(T0031) db 0CFh db 043h db 002h db 081h .byte hi(T0032) .byte lo(T0032) db 0C7h db 041h db 000h db 0A3h .byte hi(T0033) .byte lo(T0033) db 0FFh db 0ABh db 000h db 0A7h .byte hi(L0053) .byte lo(L0053) db 0FFh db 0BBh db 000h db 09Bh .byte hi(L0053) .byte lo(L0053) db 0FFh db 0A3h db 000h db 0ABh .byte hi(L0053) .byte lo(L0053) db 0FFh db 0B3h db 000h db 09Fh .byte hi(L0053) .byte lo(L0053) db 0FFh db 04Dh db 000h db 0C0h .byte hi(L0053) .byte lo(L0053) db 0FFh db 045h db 000h db 0c4h .byte hi(L0053) .byte lo(L0053) db 0FFh db 067h db 000h db 0E7h .byte hi(L0053) .byte lo(L0053) db 0FFh db 06Fh db 000h db 0D6h .byte hi(L0053) .byte lo(L0053) db 0CFh db 042h db 000h db 0F4h .byte hi(L0113) .byte lo(L0113) db 000h db 000h db 004h db 013h .byte hi(L0029) .byte lo(L0029) tabella3: db 0C0h db 040h db 000h db 018h .byte hi(T0034) .byte lo(T0034) db 0C0h db 080h db 000h db 0B8h .byte hi(T0034) .byte lo(T0034) db 0C0h db 0C0h db 000h db 0FBh .byte hi(T0034) .byte lo(T0034) db 0F8h db 010h db 000h db 0C8h .byte hi(T0035) .byte lo(T0035) db 0F8h db 000h db 000h db 0CEh .byte hi(T0035) .byte lo(T0035) db 0F8h db 018h db 000h db 0D9h .byte hi(T0035) .byte lo(T0035) db 0F8h db 008h db 000h db 0DFh .byte hi(T0035) .byte lo(T0035) db 0F8h db 020h db 000h db 0FFh .byte hi(T0035) .byte lo(T0035) db 0F8h db 028h db 004h db 003h .byte hi(T0035) .byte lo(T0035) db 0F8h db 038h db 004h db 007h .byte hi(T0035) .byte lo(T0035) db 000h db 000h db 004h db 013h .byte hi(L0029) .byte lo(L0029) db 000h db 000h db 004h db 013h .byte hi(L0053) .byte lo(L0053) db 000h db 000h db 004h db 013h .byte hi(L0053) .byte lo(L0053) db 000h db 000h db 000h db 000h db 000h db 000h