{ Set di istruzioni per il microprocessore NEC 78C10 } REGISTER BYTE=('B') WORD=('W') WA=('B') r=( <000>='V' <001>='A' <010>='B' <011>='C' <100>='D' <101>='E' <110>='H' <111>='L' ) r1=( <000>='EAh' <001>='EAl' <010>='B' <011>='C' <100>='D' <101>='E' <110>='H' <111>='L' ) r2=( <01>='A' <10>='B' <11>='C' ) rp=( <00>='SP' <01>='BC' <10>='DE' <11>='HL' ) rp1=( <000>='VA' <001>='BC' <010>='DE' <011>='HL' <100>='EA' ) rp2=( <000>='SP' <001>='BC' <010>='DE' <011>='HL' <100>='EA' ) rp3=( <01>='BC' <10>='DE' <11>='HL' ) rpa=( <001>='(BC)' <010>='(DE)' <011>='(HL)' <100>='(DE)+' <101>='(HL)+' <110>='(DE)-' <111>='(HL)-' ) rpa1=( <01>='(BC)' <10>='(DE)' <11>='(HL)' ) rpa2=( <0001>='(BC)' <0010>='(DE)' <0011>='(HL)' <0100>='(DE)+' <0101>='(HL)+' <0110>='(DE)-' <0111>='(HL)-' <1011>='(DE+)' <1100>='(HL+A)' <1101>='(HL+B)' <1110>='(HL+EA)' <1111>='(HL+)' ) rpa3=( <0010>='(DE)' <0011>='(HL)' <0100>='(DE)++' <0101>='(HL)++' <1011>='(DE+)' <1100>='(HL+A)' <1101>='(HL+B)' <1110>='(HL+EA)' <1111>='(HL+)' ) sr=( <00000>='PA' <00001>='PB' <00010>='PC' <00011>='PD' <00101>='PF' <00110>='MKh' <00111>='MKl' <01000>='ANM' <01001>='SMh' <01010>='SMl' <01011>='EOM' <01100>='ETMM' <01101>='TMM' <10000>='MM' <10001>='MCC' <10010>='MA' <10011>='MB' <10100>='MC' <10111>='MF' <11000>='TXB' <11010>='TM0' <11011>='TM1' ) sr1=( <000000>='PA' <000001>='PB' <000010>='PC' <000011>='PD' <000101>='PF' <000110>='MKh' <000111>='MKl' <001000>='ANM' <001001>='SMh' <001011>='EOM' <001101>='TMM' <011001>='RXB' <100000>='CR0' <100001>='CR1' <100010>='CR2' <100011>='CR3' ) sr2=( <0000>='PA' <0001>='PB' <0010>='PC' <0011>='PD' <0101>='PF' <0110>='MKh' <0111>='MKl' <1000>='ANM' <1001>='SMh' <1011>='EOM' <1101>='TMM' ) sr3=( <0>='ETM0' <1>='ETM1' ) sr4=( <0>='ECNT' <1>='ECPT' ) irf=( <00000>='NMI' <00001>='INTFT0' <00010>='INTFT1' <00011>='INTF1' <00100>='INTF2' <00101>='INTFE0' <00110>='INTFE1' <00111>='INTFEIN' <01000>='INTFAD' <01001>='INTFSR' <01010>='INTFST' <01011>='ER' <01100>='OV' <10000>='AN4' <10001>='AN5' <10010>='AN6' <10011>='AN7' <10100>='SB' ) f=( <010>='CY' <011>='HC' <100>='Z' ) jdisp1=( <000000>='0' <000001>='+1' <000010>='+2' <000011>='+3' <000100>='+4' <000101>='+5' <000110>='+6' <000111>='+7' <001000>='+8' <001001>='+9' <001010>='+A' <001011>='+B' <001100>='+C' <001101>='+D' <001110>='+E' <001111>='+F' <010000>='+10' <010001>='+11' <010010>='+12' <010011>='+13' <010100>='+14' <010101>='+15' <010110>='+16' <010111>='+17' <011000>='+18' <011001>='+19' <011010>='+1A' <011011>='+1B' <011100>='+1C' <011101>='+1D' <011110>='+1E' <011111>='+1F' <100000>='-20' <100001>='-1F' <100010>='-1E' <100011>='-1D' <100100>='-1C' <100101>='-1B' <100110>='-1A' <100111>='-19' <101000>='-18' <101001>='-17' <101010>='-16' <101011>='-15' <101100>='-14' <101101>='-13' <101110>='-12' <101111>='-11' <110000>='-10' <110001>='-F' <110010>='-E' <110011>='-D' <110100>='-C' <110101>='-B' <110110>='-A' <110111>='-9' <111000>='-8' <111001>='-7' <111010>='-6' <111011>='-5' <111100>='-4' <111101>='-3' <111110>='-2' <111111>='-1' ) jh=( <0>='+' <1>='-' ) fah=( <000>='08' <001>='09' <010>='0A' <011>='0B' <100>='0C' <101>='0D' <110>='0E' <111>='0F' ) ta=( <00000>='80' <00001>='82' <00010>='84' <00011>='86' <00100>='88' <00101>='8A' <00110>='8C' <00111>='8E' <01000>='90' <01001>='92' <01010>='94' <01011>='96' <01100>='98' <01101>='9A' <01110>='9C' <01111>='9E' <10000>='A0' <10001>='A2' <10010>='A4' <10011>='A6' <10100>='A8' <10101>='AA' <10110>='AC' <10111>='AE' <11000>='B0' <11001>='B2' <11010>='B4' <11011>='B6' <11100>='B8' <11101>='BA' <11110>='BC' <11111>='BE' ) bit=( <000>='0' <001>='1' <010>='2' <011>='3' <100>='4' <101>='5' <110>='6' <111>='7' ) INSTRUCTION 'MOV ,A'=(<00011ABC>) 'MOV A,'=(<00001ABC>) 'MOV ,A'=(<01001101> <110ABCDE>) 'MOV A,'=(<01001100> <11ABCDEF>) 'MOV ,'=(<01110000> <01101ABC>) 'MOV ,'=(<01110000> <01111ABC>) 'MVI ,'=(<01101ABC>) 'MVI ,'=(<01100100> ) 'MVIW ,'=(<01110001>) 'MVIX ,'=(<010010AB>) 'STAW '=(<01100011>) 'LDAW '=(<00000001>) 'STAX '=() 'LDAX '=() 'EXX'=(<00010001>) 'EXA'=(<00010000>) 'EXH'=(<01010000>) 'BLOCK'=(<00110001>) 'DMOV ,EA'=(<101101AB>) 'DMOV EA,'=(<101001AB>) 'DMOV ,EA'=(<01001000> <1101001A>) 'DMOV EA,'=(<01001000> <1100000A>) 'SBCD '=(<01110000> <00011110>) 'SDED '=(<01110000> <00101110>) 'SHLD '=(<01110000> <00111110>) 'SSPD '=(<01110000> <00001110>) 'STEAX '=(<01001000> <1001ABCD>) 'LBCD '=(<01110000> <00011111>) 'LDED '=(<01110000> <00101111>) 'LHLD '=(<01110000> <00111111>) 'LSPD '=(<01110000> <00001111>) 'LDEAX '=(<01001000> <1000ABCD>) 'PUSH '=(<10110ABC>) 'POP '=(<10100ABC>) 'LXI ,'=(<0ABC0100>) 'TABLE'=(<01001000> <10101000>) 'ADD A,'=(<01100000> <11000ABC>) 'ADD ,A'=(<01100000> <01000ABC>) 'ADC A,'=(<01100000> <11010ABC>) 'ADC ,A'=(<01100000> <01010ABC>) 'ADDNC A,'=(<01100000> <10100ABC>) 'ADDNC ,A'=(<01100000> <00100ABC>) 'SUB A,'=(<01100000> <11100ABC>) 'SUB ,A'=(<01100000> <01100ABC>) 'SBB A,'=(<01100000> <11110ABC>) 'SBB ,A'=(<01100000> <01110ABC>) 'SUBNB A,'=(<01100000> <10110ABC>) 'SUBNB ,A'=(<01100000> <00110ABC>) 'ANA A,'=(<01100000> <10001ABC>) 'ANA ,A'=(<01100000> <00001ABC>) 'ORA A,'=(<01100000> <10011ABC>) 'ORA ,A'=(<01100000> <00011ABC>) 'XRA A,'=(<01100000> <10010ABC>) 'XRA ,A'=(<01100000> <00010ABC>) 'GTA A,'=(<01100000> <10101ABC>) 'GTA ,A'=(<01100000> <00101ABC>) 'LTA A,'=(<01100000> <10111ABC>) 'LTA ,A'=(<01100000> <00111ABC>) 'NEA A,'=(<01100000> <11101ABC>) 'NEA ,A'=(<01100000> <01101ABC>) 'EQA A,'=(<01100000> <11111ABC>) 'EQA ,A'=(<01100000> <01111ABC>) 'ONA A,'=(<01100000> <11001ABC>) 'OFFA A,'=(<01100000> <11011ABC>) 'ADDX '=(<01110000> <11000ABC>) 'ADCX '=(<01110000> <11010ABC>) 'ADDNCX '=(<01110000> <10100ABC>) 'SUBX '=(<01110000> <11100ABC>) 'SBBX '=(<01110000> <11110ABC>) 'SUBNBX '=(<01110000> <10110ABC>) 'ANAX '=(<01110000> <10001ABC>) 'ORAX '=(<01110000> <10011ABC>) 'XRAX '=(<01110000> <10010ABC>) 'GTAX '=(<01110000> <10101ABC>) 'LTAX '=(<01110000> <10111ABC>) 'NEAX '=(<01110000> <11101ABC>) 'EQAX '=(<01110000> <11111ABC>) 'ONAX '=(<01110000> <11001ABC>) 'OFFAX '=(<01110000> <11011ABC>) 'ADI A,'=(<01000110>) 'ADI ,'=(<01110100> <01000ABC>) 'ADI ,'=(<01100100> ) 'ACI A,'=(<01010110>) 'ACI ,'=(<01110100> <01010ABC>) 'ACI ,'=(<01100100> ) 'ADINC A,'=(<00100110>) 'ADINC ,'=(<01110100> <00100ABC>) 'ADINC ,'=(<01100100> ) 'SUI A,'=(<01100110>) 'SUI ,'=(<01110100> <01100ABC>) 'SUI ,'=(<01100100> ) 'SBI A,'=(<01110110>) 'SBI ,'=(<01110100> <01110ABC>) 'SBI ,'=(<01100100> ) 'SUINB A,'=(<00110110>) 'SUINB ,'=(<01110100> <00110ABC>) 'SUINB ,'=(<01100100> ) 'ANI A,'=(<00000111>) 'ANI ,'=(<01110100> <00001ABC>) 'ANI ,'=(<01100100> ) 'ORI A,'=(<00010111>) 'ORI ,'=(<01110100> <00011ABC>) 'ORI ,'=(<01100100> ) 'XRI A,'=(<00010110>) 'XRI ,'=(<01110100> <00010ABC>) 'XRI ,'=(<01100100> ) 'GTI A,'=(<00100111>) 'GTI ,'=(<01110100> <00101ABC>) 'GTI ,'=(<01100100> ) 'LTI A,'=(<00110111>) 'LTI ,'=(<01110100> <00111ABC>) 'LTI ,'=(<01100100> ) 'NEI A,'=(<01100111>) 'NEI ,'=(<01110100> <01101ABC>) 'NEI ,'=(<01100100> ) 'EQI A,'=(<01110111>) 'EQI ,'=(<01110100> <01111ABC>) 'EQI ,'=(<01100100> ) 'ONI A,'=(<01000111>) 'ONI ,'=(<01110100> <01001ABC>) 'ONI ,'=(<01100100> ) 'OFFI A,'=(<01010111>) 'OFFI ,'=(<01110100> <01011ABC>) 'OFFI ,'=(<01100100> ) 'ADDW '=(<01110100> <11000000>) 'ADCW '=(<01110100> <11010000>) 'ADDNCW '=(<01110100> <10100000>) 'SUBW '=(<01110100> <11100000>) 'SBBW '=(<01110100> <11110000>) 'SUBNBW '=(<01110100> <10110000>) 'ANAW '=(<01110100> <10001000>) 'ORAW '=(<01110100> <10011000>) 'XRAW '=(<01110100> <10010000>) 'GTAW '=(<01110100> <10101000>) 'LTAW '=(<01110100> <10111000>) 'NEAW '=(<01110100> <11101000>) 'EQAW '=(<01110100> <11111000>) 'ONAW '=(<01110100> <11001000>) 'OFFAW '=(<01110100> <11011000>) 'ANIW ,'=(<00000101>) 'ORIW ,'=(<00010101>) 'GTIW ,'=(<00100101>) 'LTIW ,'=(<00110101>) 'NEIW ,'=(<01100101>) 'EQIW ,'=(<01110101>) 'ONIW ,'=(<01000101>) 'OFFIW ,'=(<01010101>) 'EADD EA,'=(<01110000> <010000AB>) 'DADD EA,'=(<01110100> <110001AB>) 'DADC EA,'=(<01110100> <110101AB>) 'DADDNC EA,'=(<01110100> <101001AB>) 'ESUB EA,'=(<01110000> <011000AB>) 'DSUB EA,'=(<01110100> <011000AB>) 'DSBB EA,'=(<01110100> <111101AB>) 'DSUBNB EA,'=(<01110100> <101101AB>) 'DAN EA,'=(<01110100> <100011AB>) 'DOR EA,'=(<01110100> <100111AB>) 'DXR EA,'=(<01110100> <100101AB>) 'DGT EA,'=(<01110100> <101011AB>) 'DLT EA,'=(<01110100> <101111AB>) 'DNE EA,'=(<01110100> <111011AB>) 'DEQ EA,'=(<01110100> <111111AB>) 'DON EA,'=(<01110100> <110011AB>) 'DOFF EA,'=(<01110100> <110111AB>) 'MUL '=(<01001000> <001011AB>) 'DIV '=(<01001000> <001111AB>) 'INR '=(<010000AB>) 'INRW '=(<00100000>) 'INX '=(<00AB0010>) 'INX EA'=(<10101000>) 'DCR '=(<010100AB>) 'DCRW '=(<00110000>) 'DCX '=(<00AB0011>) 'DCX EA'=(<10101001>) 'DAA'=(<01100001>) 'STC'=(<01001000> <00101011>) 'CLC'=(<01001000> <00101010>) 'NEGA'=(<01001000> <00111010>) 'RLD'=(<01001000> <00111000>) 'RRD'=(<01001000> <00111001>) 'RLL '=(<01001000> <001101AB>) 'RLR '=(<01001000> <001100AB>) 'SLL '=(<01001000> <001001AB>) 'SLR '=(<01001000> <001000AB>) 'SLLC '=(<01001000> <000001AB>) 'SLRC '=(<01001000> <000000AB>) 'DRLL EA'=(<01001000> <10110100>) 'DRLR EA'=(<01001000> <10110000>) 'DSLL EA'=(<01001000> <10100100>) 'DSLR EA'=(<01001000> <10100000>) 'JMP '=(<01010100>) 'JB'=(<00100001>) 'JR h'=(<11ABCDEF>) 'JRE '=(<0100111A>) 'JEA'=(<01001000> <00101000>) 'CALL '=(<01000000>) 'CALB'=(<01001000> <00101001>) 'CALF '=(<01111ABC>) 'CALT (00h)'=(<100ABCDE>) 'SOFTI'=(<01110010>) 'RET'=(<10111000>) 'RETS'=(<10111001>) 'RETI'=(<01100010>) 'BIT ,'=(<01011ABC>) 'SK '=(<01001000> <00001ABC>) 'SKN '=(<01001000> <00011ABC>) 'SKIT '=(<01001000> <010ABCDE>) 'SKNIT '=(<01001000> <011ABCDE>) 'NOP'=(<00000000>) 'EI'=(<10101010>) 'DI'=(<10111010>) 'HLT'=(<01001000> <00111011>) END