home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / DISASM / ZDASM15.LBR / ZDASMT.MQC / ZDASMT.MAC
Text File  |  2000-06-30  |  13KB  |  732 lines

  1. ;
  2. ;DASMTDL.MAC from DASM.TDL (ver. 3.0)
  3. ;The following routine is the disassembler module for TDL Mnemonics in DASM.
  4. ;It is included during the assembly of DASM by M80.
  5. ;
  6.     IF1
  7.     .PRINTX    /DASM with TDL Mnemonics/
  8.     ENDIF
  9. ;
  10. ;  This is the Header to be printed for this module by DASM
  11. ;
  12. HEADER:
  13.     DEFB    'DASM for TDL Mnemonics',0dh,0ah
  14.     DEFB    '    Derived from ZZSOURCE/RESOURCE',0dh,0ah
  15.     DEFB    0dh,0ah,'$',0
  16. ;
  17. ;  This is the main Disassembler module; the instruction to be disassembled
  18. ;    is pted to by PC
  19. ;
  20. DASM:    CALL    HSYM        ;write a symbol if it exists, then put PC
  21.     LD    HL,(RPLPTR)    ;IS THIS ENTIRE LINE TO BE REPLACED?
  22.     LD    A,H
  23.     OR    L
  24.     JR    Z,DASM1
  25.     LD    B,(HL)
  26.     INC    HL
  27.     DEC    B
  28.     CALL    NWLN0
  29. DASM1:    LD    HL,(PC)                            
  30.     EX    DE,HL        ;DE hold the PC
  31.     LD    HL,(OFFSET)
  32.     ADD    HL,DE        ;HL is now the biased PC
  33.     LD    (BIASED),HL
  34.     EX    DE,HL
  35.     INC    HL
  36.     LD    (PC),HL        ;the new PC (next byte)
  37.     EX    DE,HL        ;DE is byte after instruction address
  38.     LD    B,(HL)        ;get the current byte
  39.     LD    HL,OPC
  40.     CALL    GTCD
  41.     CALL    TYPEOC
  42. ;
  43. ;........TYPE 1, 2, AND 3 ARE 1-BYTE INSTRUCTIONS.
  44. ;
  45.     CP    4
  46.     JR    C,OLDPC
  47. ;
  48. ;........TYPE 9, A, B AND C ARE 1-BYTE INSTRUCTIONS.
  49. ;
  50.     CP    9
  51.     JR    C,XTND        ;not a 1-byte
  52.     CP    0DH
  53.     JR    C,OLDPC        ;is a 1-byte
  54. XTND:    INC    HL
  55.     CP    6
  56.     JR    C,NEWPC        ;types 4 & 5 are 2 byte
  57.     CP    9
  58.     JR    NC,NEWPC    ;types d, e, f, etc. -2 bytes or more
  59.     INC    HL        ;3 bytes for 6, 7, and 8.
  60. NEWPC:    LD    (PC),HL
  61. OLDPC:    PUSH    DE
  62.     LD    E,A
  63.     LD    D,0
  64.     LD    HL,JMPTBL
  65.     ADD    HL,DE        ;add 3*opcode type to JMPTBL to
  66.     ADD    HL,DE        ;.. get routine jump vector address
  67.     ADD    HL,DE
  68.     POP    DE
  69.     PUSH    HL        ;push address
  70.     LD    HL,(BIASED)
  71.     RET            ;'return' to routine 
  72. ;
  73. ;  GO TO JUMP TABLE + 3*(OPCODE TYPE).
  74. ;
  75. JMPTBL:    JP    TZERO
  76.     JP    TONE
  77.     JP    TTWO
  78.     JP    TTHREE
  79.     JP    TFOUR
  80.     JP    TFIVE
  81.     JP    TSIX
  82.     JP    TSEVEN
  83.     JP    TEIGHT
  84.     JP    TNINE
  85.     JP    TTEN
  86.     JP    TELEVEN
  87. ;                New decode routines
  88.     JP    T12        ;bit, res, set
  89.     JP    T13        ;djnz, jmpr
  90.     JP    T14        ;jrxx
  91.     JP    T15        ;the 'cb' series
  92.     JP    T16        ;'db' generation
  93.     JP    T17        ;the 'dd' series
  94.     JP    T18        ; "  'fd'    "
  95.     JP    T19        ; "  'ed'    "
  96.     JP    T20        ;  2 byte dd/fd
  97.     JP    T21        ;  "   "    "
  98.     JP    T22        ;  "   "    "
  99.     JP    T23        ;  3 byte dd/fd
  100.     JP    T24        ;  "   "    "
  101.     JP    T25        ;  "   "    "
  102.     JP    T26        ;  LXIii nn
  103.     JP    T27        ;  LIiiD, SIxxD
  104.     JP    T28        ;  mvi    d(ii),n
  105.     JP    T29        ;  the 4 byte 'cb' series
  106.     JP    T30        ;  inc/dec/repeat group
  107.     JP    T31        ;  4 byte direct store    
  108. ;
  109. GTCD:    LD    DE,6
  110. ;
  111. ;  FIND THE OPCODE FOR THIS BYTE.
  112. ;
  113. NXTCD:    ADD    HL,DE
  114.     LD    A,(HL)        ;get mask
  115.     AND    B
  116.     INC    HL        ;point to compare byte.
  117.     CP    (HL)
  118.     JR    NZ,NXTCD
  119.     INC    HL
  120.     LD    A,(HL)        ;get type
  121.     LD    (OPCTP),A
  122.     RET    
  123. ;
  124. ;  TYPE THE OPCODE MNEMONIC.
  125. ;
  126. TYPEOC:    LD    B,4        ;maximum of 4 characters to type
  127. TYPEC1:    INC    HL
  128.     LD    A,(HL)
  129.     CP    '.'        ;do not type '.'
  130.     CALL    NZ,COUT
  131.     DJNZ    TYPEC1
  132.     LD    HL,(PC)
  133.     LD    A,(OPCTP)
  134.     RET    
  135. ;
  136. ;  SIMPLE ONE BYTE INSTRUCTIONS.
  137. ;
  138. TZERO:    JP    DCRLF
  139. ;
  140. ;  ARITHMETIC AND LOGICAL INSTRUCTIONS.
  141. ;
  142. TONE:    CALL    TAB
  143. REG0:    CALL    PREG0
  144.     JP    DCRLF
  145. ;
  146. ;  DCR AND INR INSTRUCTIONS.
  147. ;
  148. TTWO:    CALL    TAB
  149.     CALL    PREG1
  150.     JP    DCRLF
  151. ;
  152. ;  DOUBLE REGISTER NON-IMMEDIATES.
  153. ;
  154. TTHREE:    CALL    TAB
  155.     LD    E,'H'
  156.     CALL    PXREG
  157.     JP    DCRLF
  158. ;
  159. ;  THE 'MVI' INSTRUCTIONS.
  160. ;
  161. TFOUR:    CALL    TAB
  162.     CALL    PREG1
  163. T4PT:    CALL    COMMA
  164.     JR    BYTWO
  165. ;
  166. ;  REGISTER IMMEDIATES (EXCEPT MVI) AND IN & OUT.
  167. ;
  168. TFIVE:    CALL    TAB
  169. BYTWO:    LD    HL,(BIASED)
  170.     INC    HL
  171.     LD    (BIASED),HL
  172. DTABYT:    LD    A,(HL)
  173.     CP    ' '
  174.     JR    C,NOTASC
  175.     CP    5BH
  176.     JR    NC,NOTASC
  177. ;
  178. ;...ONLY TYPE 4 & 5 WITH ASCII DATA BYTES GET HERE.
  179. ;
  180.     LD    A,(HL)
  181.     CALL    PASCII
  182.     LD    A,''''
  183.     CALL    COUT
  184.     LD    A,(XCSW)    ;IS SYMBOL COMMENTING ON?
  185.     OR    A
  186.     JP    Z,DCRLF
  187.     CALL    TAB
  188.     CALL    SEMI
  189. ;
  190. ;..THE DATA BYTE SHOULD NOT BE PRINTED AS ASCII.
  191. ;
  192. NOTASC:    LD    A,(HL)
  193.     CP    0AH
  194.     JR    C,NTSC0
  195.     CALL    PASHEX
  196.     LD    A,'H'
  197.     CALL    COUT
  198.     JP    DCRLF
  199. NTSC0:    ADD    A,'0'
  200.     CALL    COUT
  201.     JP    DCRLF
  202. ;
  203. ;  THE LXI INSTRUCTION.
  204. ;
  205. TSIX:    CALL    TAB
  206.     LD    E,'H'
  207.     CALL    PXREG
  208. T6PT:    CALL    COMMA
  209. ;
  210. ;  READ THE 2 BYTES AFTER BIASED INTO DE.
  211. ;
  212. TWOBYTE:LD    HL,(BIASED)
  213.     INC    HL
  214.     LD    E,(HL)
  215.     INC    HL
  216.     LD    D,(HL)
  217.     CALL    PRNTDE
  218.     JP    DCRLF
  219. ;
  220. ;  UNCONDITIONAL JUMPS AND 3-BYTERS WITH ADDRESSES.
  221. ;
  222. TSEVEN:    CALL    TAB
  223.     JR    TWOBYTE
  224. ;
  225. ;  CONDITIONAL CALLS AND JUMPS.
  226. ;
  227. TEIGHT:    LD    E,0EH
  228.     CALL    PRNTCND
  229.     LD    HL,(BIASED)
  230.     JR    TSEVEN
  231. ;
  232. ;  THE CONDITIONAL RETURNS...
  233. ;
  234. TNINE:    LD    E,0EH
  235.     CALL    PRNTCND
  236.     JP    DCRLF
  237. ;
  238. ;  THE RST INSTRUCTION.....
  239. ;
  240. TTEN:    CALL    TAB
  241.     LD    A,(HL)
  242.     RRA    
  243.     RRA    
  244.     RRA    
  245.     AND    7
  246.     OR    '0'
  247.     CALL    COUT
  248.     JP    DCRLF
  249. ;
  250. TELEVEN:CALL    TAB
  251.     CALL    PREG1
  252. T11PT:    CALL    COMMA
  253.     LD    HL,(BIASED)
  254.     LD    A,(HL)
  255.     JP    REG0
  256. ;                ADDED Z-80 ROUTINES
  257. T12:    CALL    TAB        ;bit, res, set
  258.     CALL    PBIT
  259.     JR    T11PT
  260. PBIT:    LD    A,(HL)
  261.     RRA    
  262.     RRA    
  263.     RRA    
  264.     AND    7
  265.     ADD    A,'0'
  266.     JP    COUT
  267. T13:    CALL    TAB        ;djnz & jmpr
  268.     INC    HL
  269.     LD    A,(HL)
  270.     LD    E,A
  271.     LD    D,0
  272.     LD    HL,(PC)
  273.     OR    A
  274.     JP    P,PSTV
  275.     DEC    D
  276. PSTV:    ADD    HL,DE
  277.     EX    DE,HL
  278.     CALL    PRNTDE
  279.     JP    DCRLF
  280. T14:    LD    E,6        ;conditional relative jumps
  281.     CALL    PRNTCND
  282.     LD    HL,(BIASED)
  283.     JR    T13
  284. T15:    INC    HL        ;the 'cb' series
  285.     LD    B,(HL)
  286.     LD    (BIASED),HL    ;new current byte
  287.     LD    HL,OPC2-6
  288.     CALL    GTCD        ;octyp is either 1, 10h or 0ch    
  289.     CALL    TYPEOC
  290.     JP    OLDPC
  291. T16:    LD    HL,(PC)        ;a 'db', so back up the pc
  292.     DEC    HL
  293.     LD    (PC),HL
  294.     LD    HL,(BIASED)
  295.     DEC    HL        ;back up here too
  296.     JP    PRDB
  297. T17:    LD    E,'X'        ;the 'dd' series 
  298. T170:    PUSH    DE
  299.     INC    HL
  300.     LD    (BIASED),HL    ;second byte of instruction
  301.     LD    B,(HL)
  302.     LD    HL,OPC3-6
  303.     CALL    GTCD
  304.     CALL    TYPEOC
  305.     POP    DE
  306.     CP    23
  307.     JP    C,OLDPC
  308.     INC    HL
  309.     CP    26
  310.     JP    C,NEWPC
  311.     INC    HL
  312.     JP    NEWPC
  313. T18:    LD    E,'Y'        ;the 'fd' series
  314.     JR    T170
  315. T19:    INC    HL        ;the 'ed' series
  316.     LD    (BIASED),HL
  317.     LD    B,(HL)
  318.     LD    HL,OPC4-6
  319.     CALL    GTCD
  320.     CALL    TYPEOC
  321.     CP    1FH
  322.     JP    C,OLDPC
  323.     INC    HL
  324.     INC    HL
  325.     JP    NEWPC
  326. T21:    CALL    TAB        ;pop x, push x
  327. T20:    LD    A,E        ;xtix, etc.
  328.     CALL    COUT
  329.     JP    DCRLF
  330. T22:    LD    A,E
  331.     CALL    COUT
  332.     CALL    TAB
  333.     CALL    PXREG
  334.     JP    DCRLF
  335. T23:    CALL    TAB
  336. T231:    CALL    PDISP
  337.     CALL    PINDX
  338.     JP    DCRLF
  339. PDISP:    INC    HL        ;print displacement
  340.     LD    A,(HL)
  341.     CALL    PASHEX
  342.     LD    A,'H'
  343.     JP    COUT
  344. PINDX:    LD    A,'('        ;print '(x)'
  345.     CALL    COUT
  346.     LD    A,E
  347.     CALL    COUT
  348.     LD    A,')'        ;
  349.     JP    COUT
  350. T24:    CALL    TAB        ;mov r,d(ii)
  351.     CALL    PREG1
  352.     CALL    COMMA
  353.     LD    HL,(BIASED)
  354.     JR    T231
  355. T25:    CALL    TAB        ;mov d(ii),r
  356.     CALL    PDISP
  357.     CALL    PINDX
  358.     JP    T11PT
  359. T26:    CALL    TAB
  360.     LD    A,E
  361.     CALL    COUT
  362.     JP    T6PT
  363. T27:    LD    A,E
  364.     CALL    COUT
  365.     LD    A,'D'
  366.     CALL    COUT
  367.     JP    TSEVEN
  368. T28:    CALL    TAB        ;mvi    d(ii),n
  369.     CALL    PDISP
  370.     CALL    PINDX
  371.     LD    (BIASED),HL
  372.     JP    T4PT
  373. T29:    INC    HL
  374.     INC    HL
  375.     LD    B,(HL)
  376.     LD    HL,OPC2-6
  377.     PUSH    DE
  378.     CALL    GTCD
  379.     POP    DE
  380.     LD    A,B        ;get o.c.
  381.     AND    7
  382.     CP    6
  383.     JR    NZ,ILLEG
  384.     CALL    TYPEOC
  385.     LD    HL,(BIASED)
  386.     CP    0CH
  387.     JP    C,T23
  388.     JR    Z,DD12
  389. ILLEG:    LD    HL,(PC)
  390.     DEC    HL
  391.     DEC    HL
  392.     LD    (PC),HL
  393.     JP    T16
  394. DD12:    CALL    TAB
  395.     INC    HL
  396.     INC    HL
  397.     CALL    PBIT
  398.     CALL    COMMA
  399.     DEC    HL
  400.     DEC    HL
  401.     JP    T231
  402. T30:    LD    A,(HL)
  403.     AND    8
  404.     LD    A,'I'
  405.     JR    Z,T301
  406.     LD    A,'D'
  407. T301:    CALL    COUT
  408.     LD    A,(HL)
  409.     AND    10H
  410.     JP    Z,DCRLF
  411.     LD    A,'R'
  412.     CALL    COUT
  413.     JP    DCRLF
  414. T31:    LD    E,'H'
  415.     CALL    PXREG
  416.     LD    A,D
  417.     RRCA    
  418.     LD    D,A
  419.     LD    A,'C'
  420.     DEC    D
  421.     JP    M,T311
  422.     LD    A,'E'
  423.     DEC    D
  424.     JP    M,T311
  425.     LD    A,'L'
  426.     DEC    D
  427. T311:    CALL    NZ,COUT
  428.     LD    A,'D'
  429.     CALL    COUT
  430.     JP    TSEVEN
  431. ;
  432. ;  THE END OF Z80 ADDITIONS.
  433. ;
  434. ;  ROUTINES TO PRINT VARIOUS CHARACTERS
  435. ;
  436. COMMA:    LD    A,','
  437.     JP    COUT
  438. TAB:    LD    A,9
  439.     JP    COUT
  440. SEMI:    LD    A,';'
  441.     JP    COUT
  442. PRDB:    CALL    PSTG
  443.     DEFB    'DB',9,0
  444.     JP    DTABYT
  445. ;
  446. ;...PRINT THE CONDITION CODE LETTERS FOR THIS INSTRUCTION.
  447. ;
  448. PRNTCND:    LD    A,(HL)
  449.     RRA    
  450.     RRA    
  451.     AND    E
  452.     LD    HL,CNDTAB
  453.     CALL    SKIP
  454.     LD    A,(HL)
  455.     CALL    COUT
  456.     INC    HL
  457.     LD    A,(HL)
  458.     CP    '.'
  459.     CALL    NZ,COUT
  460.     RET    
  461. ;
  462. ;...PRINT A LEADING QUOTE AND THEN THE ASCII
  463. ;  (PRINT '' FOR ').
  464. ;
  465. PASCII:    PUSH    AF
  466.     LD    A,''''
  467.     CALL    COUT
  468.     POP    AF
  469.     CP    ''''
  470.     JP    NZ,COUT
  471.     PUSH    AF
  472.     CALL    COUT
  473.     POP    AF
  474.     JP    COUT
  475. ;
  476. ;...PRINT THE FALUE FOR A DOUBLE REGISTER.
  477. ;
  478. PXREG:    LD    A,(HL)
  479.     RRA    
  480.     RRA    
  481.     RRA    
  482.     AND    6
  483.     LD    D,A
  484.     CP    4
  485.     JR    NZ,TAGN
  486.     LD    A,E
  487.     JP    COUT
  488. TAGN:    CP    6
  489.     JR    NZ,PREG
  490.     LD    A,(HL)
  491.     AND    0CFH
  492. ;
  493. ;......IS IT A POP?
  494. ;
  495.     CP    0C1H
  496.     JR    Z,PPSW
  497. ;
  498. ;......IS IT A PUSH?
  499. ;
  500.     CP    0C5H
  501.     JR    Z,PPSW
  502.     LD    A,'S'
  503.     CALL    COUT
  504.     LD    A,'P'
  505.     JP    COUT
  506. PPSW:    CALL    PSTG
  507.     DEFB    'PSW',0
  508.     RET    
  509. ;
  510. ;...READ A BYTE AND PRINT ITS DEST. REGISTER.
  511. ;
  512. PREG1:    LD    A,(HL)
  513.     RRA    
  514.     RRA    
  515.     RRA    
  516.     JR    PREG
  517. ;
  518. ;...READ A BYTE AND PRINT ITS SOURCE REGISTER.
  519. ;
  520. PREG0:    LD    A,(HL)
  521. PREG:    LD    HL,REGTAB
  522.     AND    7
  523.     CALL    SKIP
  524.     LD    A,(HL)
  525.     JP    COUT
  526. ;
  527. ;...ADVANCE H & L BY (A).
  528. ;
  529. SKIP:    ADD    A,L
  530.     LD    L,A
  531.     RET    NC
  532.     INC    H
  533.     RET    
  534. ;
  535. ;...PRINT THE VALUE IN A AS HEX,
  536. ;   WITH A LEADING ZERO IF NECESSARY.
  537. ;
  538. PASHEX:    CP    0A0H
  539.     JP    C,PHEX
  540.     PUSH    AF
  541.     LD    A,'0'
  542.     CALL    COUT
  543.     POP    AF
  544.     JP    PHEX
  545. ;
  546. ;...PRINT A SYMBOLIC VALUE FOR (DE)
  547. ;
  548. PRNTDE:    PUSH    DE
  549.     CALL    SYMSCH
  550.     POP    DE
  551.     JR    NC,SYMTCH
  552.     LD    A,(BUILD)
  553.     OR    A
  554.     JR    Z,NOBLD
  555.     PUSH    DE
  556.     CALL    BLDSYM
  557.     POP    DE
  558.     JR    NOBLD
  559. SYMTCH:    CALL    PRNT
  560. PDERTN:    LD    A,(XCSW)    ;SYMBOL COMMENTING?
  561.     OR    A
  562.     RET    Z
  563.     CALL    TAB
  564.     CALL    SEMI
  565. NOBLD:    LD    A,D
  566.     OR    E
  567.     LD    A,'0'
  568.     JR    Z,NOBLD1
  569.     LD    A,D
  570.     OR    A
  571.     JR    Z,NOBLD2
  572.     CALL    PASHEX
  573.     LD    A,E
  574.     CALL    PHEX
  575. NOBLD0:    LD    A,'H'
  576. NOBLD1:    CALL    COUT
  577.     RET    
  578. NOBLD2:    LD    A,E
  579.     CP    0AH
  580.     JR    C,NOBLD3
  581.     CALL    PASHEX
  582.     JR    NOBLD0
  583. NOBLD3:    ADD    A,'0'
  584.     JR    NOBLD1
  585. ;
  586. ;...PRINT THE STRING AT (HL) FOR (B) CHARACTERS.
  587. ;
  588. PRNT:    LD    A,(HL)
  589.     CALL    COUT
  590.     INC    HL
  591.     DJNZ    PRNT
  592.     RET    
  593. ;
  594. ;  OPCODE TABLES
  595. ;
  596. CNDTAB:    DEFB    'NZZ.NCC.POPEP.M.'
  597. REGTAB:    DEFB    'BC'
  598. OPC:    DEFB    'DEHLMA'
  599.     DEFB    0FFH,0CEH,5,'ACI.'
  600.     DEFB    0F8H,88H,1,'ADC.'
  601.     DEFB    0F8H,80H,1,'ADD.'
  602.     DEFB    0FFH,0C6H,5,'ADI.'
  603.     DEFB    0F8H,0A0H,1,'ANA.'
  604.     DEFB    0FFH,0E6H,5,'ANI.'
  605.     DEFB    0C7H,0C4H,8,'C...'
  606.     DEFB    0FFH,0CDH,7,'CALL'
  607.     DEFB    0FFH,2FH,0,'CMA.'
  608.     DEFB    0FFH,3FH,0,'CMC.'
  609.     DEFB    0F8H,0B8H,1,'CMP.'
  610.     DEFB    0FFH,0FEH,5,'CPI.'
  611.     DEFB    0FFH,27H,0,'DAA.'
  612.     DEFB    0CFH,9,3,'DAD.'
  613.     DEFB    0C7H,5,2,'DCR.'
  614.     DEFB    0CFH,0BH,3,'DCX.'
  615.     DEFB    0FFH,0F3H,0,'DI..'
  616.     DEFB    0FFH,0FBH,0,'EI..'
  617.     DEFB    0FFH,76H,0,'HLT.'
  618.     DEFB    0FFH,0DBH,5,'IN..'
  619.     DEFB    0C7H,4,2,'INR.'
  620.     DEFB    0CFH,3,3,'INX.'
  621.     DEFB    0C7H,0C2H,8,'J...'
  622.     DEFB    0FFH,0C3H,7,'JMP.'
  623.     DEFB    0FFH,3AH,7,'LDA.'
  624.     DEFB    0EFH,0AH,3,'LDAX'
  625.     DEFB    0FFH,2AH,7,'LHLD'
  626.     DEFB    0CFH,1,6,'LXI.'
  627.     DEFB    0C0H,40H,0BH,'MOV.'
  628.     DEFB    0C7H,6,4,'MVI.'
  629.     DEFB    0FFH,0,0,'NOP.'
  630.     DEFB    0F8H,0B0H,1,'ORA.'
  631.     DEFB    0FFH,0F6H,5,'ORI.'
  632.     DEFB    0FFH,0D3H,5,'OUT.'
  633.     DEFB    0FFH,0E9H,0,'PCHL'
  634.     DEFB    0CFH,0C1H,3,'POP.'
  635.     DEFB    0CFH,0C5H,3,'PUSH'
  636.     DEFB    0C7H,0C0H,9,'R...'
  637.     DEFB    0FFH,17H,0,'RAL.'
  638.     DEFB    0FFH,1FH,0,'RAR.'
  639.     DEFB    0FFH,0C9H,0,'RET.'
  640.     DEFB    0FFH,0FH,0,'RRC.'
  641.     DEFB    0FFH,7,0,'RLC.'
  642.     DEFB    0C7H,0C7H,0AH,'RST.'
  643.     DEFB    0F8H,98H,1,'SBB.'
  644.     DEFB    0FFH,0DEH,5,'SBI.'
  645.     DEFB    0FFH,22H,7,'SHLD'
  646.     DEFB    0FFH,0F9H,0,'SPHL'
  647.     DEFB    0FFH,32H,7,'STA.'
  648.     DEFB    0EFH,2,3,'STAX'
  649.     DEFB    0FFH,37H,0,'STC.'
  650.     DEFB    0F8H,90H,1,'SUB.'
  651.     DEFB    0FFH,0D6H,5,'SUI.'
  652.     DEFB    0FFH,0EBH,0,'XCHG'
  653.     DEFB    0F8H,0A8H,1,'XRA.'
  654.     DEFB    0FFH,0EEH,5,'XRI.'
  655.     DEFB    0FFH,0E3H,0,'XTHL'
  656. ;
  657.     DEFB    0FFH,008H,0,'EXAF'
  658.     DEFB    0FFH,0D9H,0,'EXX.'
  659.     DEFB    0FFH,010H,0DH,'DJNZ'
  660.     DEFB    0FFH,018H,0DH,'JMPR'
  661.     DEFB    0E7H,020H,0EH,'JR..'
  662.     DEFB    0FFH,0CBH,0FH,'....';THE 'CB' SERIES
  663.     DEFB    0FFH,0DDH,11H,'....'; "  'DD'    "
  664.     DEFB    0FFH,0FDH,12H,'....'; "  'FD'    "
  665.     DEFB    0FFH,0EDH,13H,'....'; "  'ED'    "
  666. OPC2:    DEFB    0F8H,0,1,'RLCR'
  667.     DEFB    0F8H,8,1,'RRCR'
  668.     DEFB    0F8H,10H,1,'RALR'
  669.     DEFB    0F8H,18H,1,'RARR'
  670.     DEFB    0F8H,20H,1,'SLAR'
  671.     DEFB    0F8H,28H,1,'SRAR'
  672.     DEFB    0F8H,38H,1,'SRLR'
  673.     DEFB    0C0H,40H,0CH,'BIT.'
  674.     DEFB    0C0H,80H,0CH,'RES.'
  675.     DEFB    0C0H,0C0H,0CH,'SET.'
  676.     DEFB    0,0,10H,'....'
  677. OPC3:    DEFB    0FFH,0E3H,14H,'XIT.'
  678.     DEFB    0FFH,0E9H,14H,'PCI.'
  679.     DEFB    0FFH,0F9H,14H,'SPI.'
  680.     DEFB    0FFH,0E1H,15H,'POP.'
  681.     DEFB    0FFH,0E5H,15H,'PUSH'
  682.     DEFB    0CFH,9,16H,'DAD.'
  683. ;
  684.     DEFB    0FFH,23H,15H,'INX.'
  685.     DEFB    0FFH,2BH,15H,'DCX.'
  686.     DEFB    0FFH,34H,17H,'INR.'
  687.     DEFB    0FFH,35H,17H,'DCR.'
  688.     DEFB    0FFH,86H,17H,'ADD.'
  689.     DEFB    0FFH,8EH,17H,'ADC.'
  690.     DEFB    0FFH,96H,17H,'SUB.'
  691.     DEFB    0FFH,9EH,17H,'SBB.'
  692.     DEFB    0FFH,0A6H,17H,'ANA.'
  693.     DEFB    0FFH,0AEH,17H,'XRA.'
  694.     DEFB    0FFH,0B6H,17H,'ORA.'
  695.     DEFB    0FFH,0BEH,17H,'CMP.'
  696.     DEFB    0C7H,046H,18H,'MOV.'
  697.     DEFB    0F8H,070H,19H,'MOV.'
  698. ;
  699.     DEFB    0FFH,021H,1AH,'LXI.'
  700.     DEFB    0FFH,022H,1BH,'SI..'
  701.     DEFB    0FFH,02AH,1BH,'LI..'
  702.     DEFB    0FFH,036H,1CH,'MVI.'
  703.     DEFB    0CBH,0CBH,1DH,'....'
  704.     DEFB    0,0,010H,'....'
  705. OPC4:    DEFB    0FEH,070H,010H,'....';PREVENTS 'INP M'
  706.     DEFB    0FFH,044H,0,'NEG.'
  707.     DEFB    0FFH,045H,0,'RETN'
  708.     DEFB    0FFH,046H,0,'IM0.'
  709.     DEFB    0FFH,056H,0,'IM1.'
  710.     DEFB    0FFH,05EH,0,'IM2.'
  711.     DEFB    0FFH,047H,0,'STAI'
  712.     DEFB    0FFH,04DH,0,'RETI'
  713.     DEFB    0FFH,04FH,0,'STAR'
  714.     DEFB    0FFH,057H,0,'LDAI'
  715.     DEFB    0FFH,05FH,0,'LDAR'
  716.     DEFB    0FFH,067H,0,'RRD.'
  717.     DEFB    0FFH,06FH,0,'RLD.'
  718.     DEFB    0CFH,042H,3,'DSBC'
  719.     DEFB    0CFH,04AH,3,'DADC'
  720.     DEFB    0C7H,040H,2,'INP.'
  721.     DEFB    0C7H,041H,2,'OUTP'
  722.     DEFB    0E7H,0A0H,1EH,'LD..'
  723.     DEFB    0E7H,0A1H,1EH,'CC..'
  724.     DEFB    0E7H,0A2H,1EH,'IN..'
  725.     DEFB    0E7H,0A3H,1EH,'OUT.'
  726.     DEFB    0CFH,043H,1FH,'S...'
  727.     DEFB    0CFH,04BH,1FH,'L...'
  728.     DEFB    0,0,010H,'....'
  729. ;
  730. ;  END OF OPCODE TABLES
  731. ;
  732.