home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / lambda / soundpot / p / z80asm.lbr / Z80OPCDS.AZM / Z80OPCDS.ASM
Encoding:
Assembly Source File  |  1993-10-25  |  3.6 KB  |  170 lines

  1. ;-----------------------------------------------;
  2. ;                        ;
  3. ;    Z80 RESIDENT ASSEMBLER            ;
  4. ;                        ;
  5. ;-----------------------------------------------;
  6. ;                        ;
  7. ;    (C) 1977  LEHMAN CONSULTING SERVICES    ;
  8. ;                        ;
  9. ;    ALL RIGHTS RESERVED            ;
  10. ;                        ;
  11. ;-----------------------------------------------;
  12. ;                        ;
  13. ;    OPCODE TABLE MODULE            ;
  14. ;                        ;
  15. ;-----------------------------------------------;
  16. ;                        ;
  17. ;    REV 0    15-JULY-77    MGL        ;
  18. ;    REV 1    20-OCT-77    MGL        ;
  19. ;                        ;
  20. ;-----------------------------------------------;
  21. ;
  22. ;
  23.     ORG    1F80H        ;****** ADDRESS EQUATE ******
  24. ;
  25. ;
  26. ;    EJECT
  27. ;
  28. ;
  29. ;    EACH SYMBOL TABLE ENTRY IS OF VARYING LENGTH
  30. ;
  31. ;    THE FIRST BYTE CONTAINS THE LENGTH IN THE LOWER 4 BITS
  32. ;    AND FLAGS IN THE UPPER 4 BITS.
  33. ;
  34. ;    THIS LIMITS THE MAX LENGTH OF AN ENTRY TO 15 BYTES
  35. ;
  36. ;    FOLLOWING THE FLAG/LENGTH BYTE IS THE NAME WHICH MAY BE FROM
  37. ;    1 TO 11 BYTES IN LENGTH
  38. ;
  39. ;    FOLLOWING THE NAME ARE 2 BYTES OF VALUE (LO,HI)
  40. ;    AND 1 BYTE OF TYPE (USED IN OPCODES)
  41. ;
  42. ;
  43. ;    THE TABLE IS SCANNED SEQUENTIALLY AND IS ENDED BY A 0 BYTE
  44. ;
  45. ;
  46. SYM    EQU    $
  47. ;
  48. ;
  49. ;
  50. ;    FLAG EQUATES
  51. ;
  52. RNAME    EQU    20H    ;REGISTER NAME FLAG
  53. ULBL    EQU    40H    ;USER LABEL FLAG
  54. RPNAME    EQU    80H    ;REGISTER PAIR NAME FLAG
  55. ;
  56. ;
  57. ;    EJECT
  58. ;
  59. ;
  60. ;    SYMBOL TABLE
  61. ;
  62. ;
  63.     DW    SYMNXT        ;SYMBEG
  64.     DW    CONDS        ;SYMCND
  65.     DB    7,'EXX',0D9H,0,1
  66.     DB    7,'LDI',0EDH,0A0H,1
  67.     DB    8,'LDIR',0EDH,0B0H,1
  68.     DB    7,'LDD',0EDH,0A8H,1
  69.     DB    8,'LDDR',0EDH,0B8H,1
  70.     DB    7,'CPI',0EDH,0A1H,1
  71.     DB    8,'CPIR',0EDH,0B1H,1
  72.     DB    7,'CPD',0EDH,0A9H,1
  73.     DB    8,'CPDR',0EDH,0B9H,1
  74.     DB    7,'DAA',27H,0,1
  75.     DB    7,'CPL',2FH,0,1
  76.     DB    7,'NEG',0EDH,040H,1
  77.     DB    7,'CCF',03FH,0,1
  78.     DB    7,'SCF',037H,0,1
  79.     DB    7,'NOP',0,0,1
  80.     DB    8,'HALT',76H,0,1
  81.     DB    6,'DI',0F3H,0,1
  82.     DB    6,'EI',0FBH,0,1
  83.     DB    7,'IM0',0EDH,46H,1
  84.     DB    7,'IM1',0EDH,56H,1
  85.     DB    7,'IM2',0EDH,5EH,1
  86.     DB    8,'RLCA',07H,0,1
  87.     DB    7,'RLA',17H,0,1
  88.     DB    8,'RRCA',0FH,0,1
  89.     DB    7,'RRA',1FH,0,1
  90.     DB    8,'RETI',0EDH,4DH,1
  91.     DB    8,'RETN',0EDH,45H,1
  92.     DB    7,'INI',0EDH,0A2H,1
  93.     DB    8,'INIR',0EDH,0B2H,1
  94.     DB    7,'IND',0EDH,0AAH,1
  95.     DB    8,'INDR',0EDH,0BAH,1
  96.     DB    8,'OUTI',0EDH,0A3H,1
  97.     DB    8,'OTIR',0EDH,0B3H,1
  98.     DB    8,'OUTD',0EDH,0ABH,1
  99.     DB    8,'OTDR',0EDH,0BBH,1
  100.     DB    6,'LD',0,0,8
  101.     DB    7,'RLC',0,0,2
  102.     DB    6,'RL',10H,0,2
  103.     DB    7,'RRC',8,0,2
  104.     DB    6,'RR',18H,0,2
  105.     DB    7,'SLA',20H,0,2
  106.     DB    7,'SRA',28H,0,2
  107.     DB    7,'SRL',38H,0,2
  108.     DB    7,'RLD',0EDH,06FH,1
  109.     DB    7,'RRD',0EDH,067H,1
  110.     DB    8,'PUSH',0C5H,0,9
  111.     DB    7,'POP',0C1H,0,9
  112.     DB    6,'EX',0EBH,0,10
  113.     DB    7,'ADD',0,9,6
  114.     DB    7,'ADC',8,4AH,6
  115.     DB    7,'SBC',18H,42H,6
  116.     DB    7,'SUB',10H,0,6
  117.     DB    7,'AND',20H,0,6
  118.     DB    6,'OR',30H,0,6
  119.     DB    7,'XOR',28H,0,6
  120.     DB    6,'CP',38H,0,6
  121.     DB    7,'INC',04H,03H,13
  122.     DB    7,'DEC',05H,0BH,13
  123.     DB    7,'BIT',040H,0,12
  124.     DB    7,'SET',0C0H,0,12
  125.     DB    7,'RES',80H,0,12
  126.     DB    6,'JP',0C3H,0,3
  127.     DB    8,'CALL',0CDH,0,3
  128.     DB    6,'JR',18H,0,4
  129.     DB    8,'DJNZ',10H,0,4
  130.     DB    7,'RET',0C9H,0,11
  131.     DB    7,'RST',0C7H,0,5
  132.     DB    6,'IN',0DBH,0,7
  133.     DB    7,'OUT',0D3H,0,7
  134.     DB    7,'EQU',1,0,14
  135.     DB    8,'DEFS',2,0,14
  136.     DB    8,'DEFB',3,0,14
  137.     DB    8,'DEFW',4,0,14
  138.     DB    7,'END',5,0,14
  139.     DB    7,'ORG',6,0,14
  140.     DB    9,'EJECT',7,0,14
  141.     DB    7,'IBM',8,0,14    ;IBM PSEUDO FOR 3270 (ICC) SCREEN FORMATTING
  142. ;
  143. ;    REGISTERS
  144. ;
  145.     DB    5+RNAME,'A',7,0,0
  146.     DB    5+RNAME,'B',0,0,0
  147.     DB    5+RNAME,'C',1,0,0
  148.     DB    5+RNAME,'D',2,0,0
  149.     DB    5+RNAME,'E',3,0,0
  150.     DB    5+RNAME,'H',4,0,0
  151.     DB    5+RNAME,'L',5,0,0
  152.     DB    6+RPNAME,'HL',4,0,0
  153.     DB    6+RPNAME,'BC',0,0,0
  154.     DB    6+RPNAME,'DE',2,0,0
  155.     DB    6+RPNAME,'SP',6,0,0
  156.     DB    6+RPNAME,'IX',0FFH,0,0
  157.     DB    6+RPNAME,'IY',0FEH,0,0
  158.     DB    6,'AF',06H,0,0    ;FOR PUSH/POP
  159. CONDS    EQU    $
  160.     DB    5,'Z',1,0,0
  161.     DB    6,'NZ',0,0,0
  162.     DB    5,'C',3,0,0
  163.     DB    6,'NC',2,0,0
  164.     DB    6,'PO',4,0,0
  165.     DB    6,'PE',5,0,0
  166.     DB    5,'P',6,0,0
  167.     DB    5,'M',7,0,0
  168. SYMNXT    EQU    $        ;FIRST AVAILABLE SLOT
  169.     DB    0
  170.