home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / beehive / utilitys / unera3.arc / Z80.LIB < prev   
Text File  |  1991-08-11  |  13KB  |  562 lines

  1. ;;
  2. ;;    Z80.LIB INCLUDES Z80 INSTRUCTIONS SET-UP FOR THIS
  3. ;;    MACHINE PLEASE READ OVER THESE INSTRUCTIONS AND 
  4. ;;    INSTRUCTIONS FOUND IN Z80EXT.LIB BEFORE PROGRAMING
  5. ;;
  6. ;;******************************************************************
  7. ;;***                                ***
  8. ;;***    INSTRUCTION SET LISTING AS FOUND IN LIBRARY        ***
  9. ;;***                                ***
  10. ;;******************************************************************
  11. ;;
  12. ;;    LDX    R,D        *    LDY    R,D
  13. ;;    STX    R,D        *    STY    R,D
  14. ;;    MVIX    N,D        *    MVIY    N,D
  15. ;;    LDAI            *    LDAR
  16. ;;    STAI            *    STAR
  17. ;;    LXIX    NNNN        *    LXIY    NNNN
  18. ;;    LDED    NNNN        *    LBCD    NNNN
  19. ;;    LSPD    NNNN        *    LIXD    NNNN
  20. ;;    LIYD    NNNN        *    SBCD    NNNN
  21. ;;    SDED    NNNN        *    SSPD    NNNN
  22. ;;    SIXD    NNNN        *    SIYD    NNNN
  23. ;;    SPIX            *    SPIY
  24. ;;    PUSHIX            *    PUSHIY
  25. ;;    POPIX            *    POPIY
  26. ;;    EXAF            *    EXX
  27. ;;    XTIX            *    XTIY
  28. ;;    LDI            *    LDIR
  29. ;;    LDD            *    LDDR
  30. ;;    CCI            *    CCIR
  31. ;;    CCD            *    CCDR
  32. ;;    ADDX    D        *    ADDY    D
  33. ;;    ADCX    D        *    ADCY    D
  34. ;;    SUBX    D        *    SUBY    D
  35. ;;    SBCX    D        *    SBCY    D
  36. ;;    ANDX    D        *    ANDY    D
  37. ;;    XORX    D        *    XORY    D
  38. ;;    ORX    D        *    ORY    D
  39. ;;    CMPX    D        *    CMPY    D
  40. ;;    INRX    D        *    INRY    D
  41. ;;    DCRX    D        *    DCRY    D
  42. ;;    NEG            *    IM0
  43. ;;    IM1            *    IM2
  44. ;;    DADC    RP        *    DSBC    RP
  45. ;;    DADX    RP        *    DADY    RP
  46. ;;    INXIX            *    INXIY
  47. ;;    DCXIX            *    DCXIY
  48. ;;    BIT    N,R        *    SETB    N,R
  49. ;;    RES    N,R        *    BITX    N,D
  50. ;;    BITY    N,D        *    SETX    N,D
  51. ;;    SETY    N,D        *    RESX    N,D
  52. ;;    RESY    N,D        *    JR    N
  53. ;;    JMPR    N        *    JRC    N
  54. ;;    JRNC    N        *    JRZ    N
  55. ;;    JRNZ    N        *
  56. ;;    DJNZ    N        *    PCIX
  57. ;;    PCIY            *    RETI
  58. ;;    RETN            *    RETEI
  59. ;;    INP    R        *    OUTP    R
  60. ;;    INI            *    INIR
  61. ;;    IND            *    INDR
  62. ;;    OUTI            *    OUTIR
  63. ;;    OUTD            *    OUTDR
  64. ;;    RLCR    R        *    RLCX    D
  65. ;;    RLCY    D        *    RALR    R
  66. ;;    RALX    D        *    RALY    D
  67. ;;    RRCR    R        *    RRCX    D
  68. ;;    RRCY    D        *    RARR    R
  69. ;;    RARX    D        *    RARY    D
  70. ;;    SLAR    R        *    SLAX    D
  71. ;;    SLAY    D        *    SRAR    R
  72. ;;    SRAX    D        *    SRAY    D
  73. ;;    SRLR    R        *    SRLX    D
  74. ;;    SRLY    D        *    RLD
  75. ;;    RRD
  76. ;;
  77. ;;******************************************************************
  78. ;;
  79. ;;    @CHK MACRO USED FOR CHECKING 8 BIT DISPLACMENTS
  80. ;;
  81. @CHK    MACRO    ?DD    ;; USED FOR CHECKING RANGE OF 8-BIT DISP.S
  82.     IF (?DD GT 07FH) AND (?DD LT 0FF80H)
  83.  'DISPLACEMENT RANGE ERROR - Z80 LIB'
  84.     ENDIF
  85.     ENDM
  86. @CHECK    MACRO    ?N
  87.     ?DD    SET ?N-$-2
  88.     IF (?DD GT 07FH) AND (?DD LT 0FF80H)
  89. 'RANGE ERROR - Z80 LIB'
  90.     ?DD    SET    0FEH
  91.     ENDIF 
  92.     ENDM
  93. ;;
  94. ;;
  95. LDX    MACRO    ?R,?D        ;;LOAD REG R FROM MEMORY AT (IX+D)
  96.     @CHK    ?D
  97.     DB    0DDH,?R*8+46H,?D
  98.     ENDM
  99. LDY    MACRO    ?R,?D        ;;LOAD REG R FROM MEMORY AT (IY+D)
  100.     @CHK    ?D
  101.     DB    0FDH,?R*8+46H,?D
  102.     ENDM
  103. STX    MACRO    ?R,?D        ;;STORE REG R AT MEMORY (IX+D)
  104.     @CHK    ?D
  105.     DB    0DDH,70H+?R,?D
  106.     ENDM
  107. STY    MACRO    ?R,?D        ;;STORE REG R AT MEMORY (IY+D)
  108.     @CHK    ?D
  109.     DB    0FDH,70H+?R,?D
  110.     ENDM
  111. MVIX    MACRO    ?N,?D        ;;MOV #N (8 BITS) INTO MEMORY AT (IX+D)
  112.     @CHK    ?D
  113.     DB    0DDH,36H,?D,?N
  114.     ENDM
  115. MVIY    MACRO    ?N,?D        ;;MOV #N (8 BITS) INTO MEMORY AT (IY+D)
  116.     @CHK    ?D
  117.     DB    0FDH,36H,?D,?N
  118.     ENDM
  119. LDAI    MACRO            ;;LOAD ACC WITH REG I (INTERRUPT VECTOR)
  120.     DB    0EDH,57H
  121.     ENDM
  122. LDAR    MACRO            ;;LOAD ACC WITH THE REFRESH REG
  123.     DB    0EDH,5FH
  124.     ENDM
  125. STAI    MACRO            ;;STORE ACC INTO REG I
  126.     DB    0EDH,47H
  127.     ENDM
  128. STAR    MACRO            ;;STORE ACC INTO THE REFRESH REG
  129.     DB    0EDH,4FH
  130.     ENDM
  131. LXIX    MACRO    ?NNNN        ;;LOAD IMMEDIATE (LDI) IX WITH #NNNN (16 BITS)
  132.     DB    0DDH,21H
  133.     DW    ?NNNN
  134.     ENDM
  135. LXIY    MACRO    ?NNNN        ;;LDI REG PAIR IY WITH #NNNN (16 BITS)
  136.     DB    0FDH,21H
  137.     DW    ?NNNN
  138.     ENDM
  139. LDED    MACRO    ?NNNN        ;;LOAD DE WITH CONTENTS OF MEMORY AT NNNN
  140.     DB    0EDH,5BH    ;;  (E)=((NN)(NN))
  141.     DW    ?NNNN        ;;  (D)=((NN)(NN+1))
  142.     ENDM
  143. LBCD    MACRO    ?NNNN        ;;LOAD BC WITH CONTENTS OF MEMORY AT NNNN
  144.     DB    0EDH,4BH
  145.     DW    ?NNNN
  146.     ENDM
  147. LSPD    MACRO    ?NNNN        ;;LOAD STACK POINTER WITH CONTENTS OF MEMORY
  148.     DB    0EDH,07BH    ;;  AT NNNN
  149.     DW    ?NNNN
  150.     ENDM
  151. LIXD    MACRO    ?NNNN        ;;LOAD IX WITH CONTENTS OF MEMORY AT NNNN
  152.     DB    0DDH,2AH
  153.     DW    ?NNNN
  154.     ENDM
  155. LIYD    MACRO    ?NNNN        ;;LOAD IY WITH CONTENTS OF MEMORY AT NNNN
  156.     DB    0FDH,2AH
  157.     DW    ?NNNN
  158.     ENDM
  159. SBCD    MACRO    ?NNNN        ;;STORE BC IN MEMORY LOCATION NNNN
  160.     DB    0EDH,43H    ;;  ((NN)(NN))=(C)
  161.     DW    ?NNNN        ;;  ((NN)(NN+1))=(B)
  162.     ENDM
  163. SDED    MACRO    ?NNNN        ;;STORE DE IN MEMORY LOC NNNN
  164.     DB    0EDH,53H
  165.     DW    ?NNNN
  166.     ENDM
  167. SSPD    MACRO    ?NNNN        ;;STORE STACK POINTER IN MEMORY LOC NNNN
  168.     DB    0EDH,73H
  169.     DW    ?NNNN
  170.     ENDM
  171. SIXD    MACRO    ?NNNN        ;;STORE IX IN MEMORY LOC NNNN
  172.     DB    0DDH,22H
  173.     DW    ?NNNN
  174.     ENDM
  175. SIYD    MACRO    ?NNNN        ;;STORE IY IN MEMORY LOC NNNN
  176.     DB    0FDH,22H
  177.     DW    ?NNNN
  178.     ENDM
  179. SPIX    MACRO            ;;MOV IX INTO STACK POINTER (SP)
  180.     DB    0DDH,0F9H
  181.     ENDM
  182. SPIY    MACRO            ;;MOV IY INTO STACK POINTER (SP)
  183.     DB    0FDH,0F9H
  184.     ENDM
  185. PUSHIX    MACRO            ;;PUSH IX ONTO STACK
  186.     DB    0DDH,0E5H
  187.     ENDM
  188. PUSHIY    MACRO            ;;PUSH IY ONTO STACK
  189.     DB    0FDH,0E5H
  190.     ENDM
  191. POPIX    MACRO            ;;POP IX OFF STACK
  192.     DB    0DDH,0E1H
  193.     ENDM
  194. POPIY    MACRO            ;;POP IY OFF STACK
  195.     DB    0FDH,0E1H
  196.     ENDM
  197. EXAF    MACRO            ;;EXCHANGE AF AND AF' REGS
  198.     DB    08H
  199.     ENDM
  200. EXX    MACRO            ;;EXCHANGE BC AND BC'
  201.     DB    0D9H        ;;         DE AND DE'
  202.                 ;;      HL AND HL'
  203.     ENDM
  204. XTIX    MACRO            ;;EXCHANGE TOP OF STACK WITH IX
  205.     DB    0DDH,0E3H
  206.     ENDM
  207. XTIY    MACRO            ;;EXCHANGE TOP OF STACK WITH IY
  208.     DB    0FDH,0E3H
  209.     ENDM
  210.  
  211. LDI    MACRO            ;;LOAD MEMORY AT (H,L) TO MEMORY AT (D,E)
  212.     DB    0EDH,0A0H    ;;  INC D,E   INC H,L  DEC B,C
  213.     ENDM
  214. LDIR    MACRO            ;;AS ABOVE REPEAT UNTIL B=0
  215.     DB    0EDH,0B0H
  216.     ENDM
  217. LDD    MACRO            ;;LOAD MEMORY AT (H,L) TO MEMORY AT (D,E)
  218.     DB    0EDH,0A8H    ;;  DEC H,L  DEC D,E  DEC B,C
  219.     ENDM
  220. LDDR    MACRO            ;;AS ABOVE REPEAT UNTIL B=0
  221.     DB    0EDH,0B8H
  222.     ENDM
  223. CCI    MACRO            ;;COMPARE ACC WITH MEMORY AT (H,L)
  224.     DB    0EDH,0A1H    ;;  INC H,L  DEC B,C  (P/V=0 IF B=0)
  225.                 ;;  (ACC=(H,L) IF Z=0)
  226.     ENDM
  227. CCIR    MACRO            ;;AS ABOVE REPEAT UNTIL (B,C) = 0 OR
  228.                 ;;    (A) = (H,L)
  229.     DB    0EDH,0B1H
  230.     ENDM
  231. CCD    MACRO            ;;COMPARE ACC WITH MEMORY AT (H,L)
  232.     DB    0EDH,0A9H    ;;  DEC H,L  DEC B,C
  233.     ENDM
  234. CCDR    MACRO            ;;AS ABOVE REPEAT UNTIL (BC) = 0 OR
  235.                 ;;    (A) = (H,L)
  236.     DB    0EDH,0B9H
  237.     ENDM
  238. ADDX    MACRO    ?D        ;;ACC=ACC+CONTENTS OF MEMORY AT (IX+D)
  239.     @CHK    ?D        ;;  ACC=ACC+((IX+D))
  240.     DB    0DDH,86H,?D
  241.     ENDM
  242. ADDY    MACRO    ?D        ;;ACC=ACC+((IY+D))
  243.     @CHK    ?D
  244.     DB    0FDH,86H,?D
  245.     ENDM
  246. ADCX    MACRO    ?D        ;;ACC=ACC+((IX+D))+CARRY
  247.     @CHK    ?D
  248.     DB    0DDH,8EH,?D
  249.     ENDM
  250. ADCY    MACRO    ?D        ;;ACC=ACC+((IY+D))+CARRY
  251.     @CHK    ?D
  252.     DB    0FDH,8EH,?D
  253.     ENDM
  254. SUBX    MACRO    ?D        ;;ACC=ACC-((IX+D))
  255.     @CHK    ?D
  256.     DB    0DDH,96H,?D
  257.     ENDM
  258. SUBY    MACRO    ?D        ;;ACC=ACC-((IY+D))
  259.     @CHK    ?D
  260.     DB    0FDH,96H,?D
  261.     ENDM
  262. SBCX    MACRO    ?D        ;;ACC=ACC-((IX+D))-BORROW
  263.     @CHK    ?D
  264.     DB    0DDH,9EH,?D
  265.     ENDM
  266. SBCY    MACRO    ?D        ;;ACC=ACC-((IY+D))-BORROW
  267.     @CHK    ?D
  268.     DB    0FDH,9EH,?D
  269.     ENDM
  270. ANDX    MACRO    ?D        ;;AND ACC WITH CONTENTS OF MEMORY (IX+D)
  271.     @CHK    ?D
  272.     DB    0DDH,0A6H,?D
  273.     ENDM
  274. ANDY    MACRO    ?D        ;;AND ACC WITH CONTENTS OF MEMORY (IY+D)
  275.     @CHK    ?D
  276.     DB    0FDH,0A6H,?D
  277.     ENDM
  278. XORX    MACRO    ?D        ;;EXCLUSIVE OR THE ACC WITH CONTEMTS OF
  279.     @CHK    ?D        ;;  MEMORY AT (IX+D)
  280.     DB    0DDH,0AEH,?D
  281.     ENDM
  282. XORY    MACRO    ?D        ;;XOR ACC WITH CONTENTS OF MEMORY (IY+D)
  283.     @CHK    ?D
  284.     DB    0FDH,0AEH,?D
  285.     ENDM
  286. ORX    MACRO    ?D        ;;OR THE ACC WITH CONTENTS OF MEMORY (IX+D)
  287.     @CHK    ?D
  288.     DB    0DDH,0B6H,?D
  289.     ENDM
  290. ORY    MACRO    ?D        ;;OR ACC WITH CONTENTS OF MEMORY (IY+D)
  291.     @CHK    ?D
  292.     DB    0FDH,0B6H,?D
  293.     ENDM
  294. CMPX    MACRO    ?D        ;;COMPARE THE ACC WITH CONTENTS OF MEMORY
  295.     @CHK    ?D        ;;  AT LOC (IX+D)
  296.     DB    0DDH,0BEH,?D
  297.     ENDM
  298. CMPY    MACRO    ?D        ;;CMP ACC WITH CONTENTS OF MEMORY (IY+D)
  299.     @CHK    ?D
  300.     DB    0FDH,0BEH,?D
  301.     ENDM
  302. INRX    MACRO    ?D        ;;INC MEMORY CONTENTS AT (IX+D)
  303.     @CHK    ?D
  304.     DB    0DDH,34H,?D
  305.     ENDM
  306. INRY    MACRO    ?D        ;;INC MEMORY CONTENTS AT (IY+D)
  307.     @CHK    ?D
  308.     DB    0FDH,34H,?D
  309.     ENDM
  310. DCRX    MACRO    ?D        ;;DEC MEMORY CONTENTS AT (IX+D)
  311.     @CHK    ?D
  312.     DB    0DDH,035H,?D
  313.     ENDM
  314. DCRY    MACRO    ?D        ;;DEC MEMORY CONTENTS AT (IY+D)
  315.     @CHK    ?D
  316.     DB    0FDH,35H,?D
  317.     ENDM
  318. NEG    MACRO            ;;NEGATE ACC (2'S COMPLEMENT)
  319.     DB    0EDH,44H
  320.     ENDM
  321. IM0    MACRO            ;;SET INTERRUPT MODE #0
  322.     DB    0EDH,46H
  323.     ENDM
  324. IM1    MACRO            ;;SET INTERRUPT MODE #1 (RESTART 0038H)
  325.     DB    0EDH,56H
  326.     ENDM
  327. IM2    MACRO            ;;SET INTERRUPT MODE #2 
  328.     DB    0EDH,5EH    ;;   RESTART AT LOC (INT REG I)(DEV SUPPLIED)
  329.     ENDM
  330. BC    EQU    0        
  331. DE    EQU    2
  332. HL    EQU    4
  333. IX    EQU    4    
  334. IY    EQU    4    
  335. DADC    MACRO    ?R        ;;DOUBLE ADD (H,L)=(H,L)+(RP)+CARRY
  336.     DB    0EDH,?R*8+4AH
  337.     ENDM
  338. DSBC    MACRO    ?R        ;;DOUBLE SUB (H,L)=(H,L)-(RP)-CARRY
  339.     DB    0EDH,?R*8+42H
  340.     ENDM
  341. DADX    MACRO    ?R        ;;DOUBLE ADD (IX)=(IX)+(RP)
  342.     DB    0DDH,?R*8+09H
  343.     ENDM
  344. DADY    MACRO    ?R        ;;DOUBLE ADD (IY)=(IY)+(RP)
  345.     DB    0FDH,?R*8+09H
  346.     ENDM
  347. INXIX    MACRO            ;;INC (IX)
  348.     DB    0DDH,23H
  349.     ENDM
  350. INXIY    MACRO            ;;INC (IY)
  351.     DB    0FDH,23H
  352.     ENDM
  353. DCXIX    MACRO            ;;DEC (IX)
  354.     DB    0DDH,2BH
  355.     ENDM
  356. DCXIY    MACRO            ;;DEC (IY)
  357.     DB    0FDH,2BH
  358.     ENDM
  359. BIT    MACRO    ?N,?R        ;;TEST BIT N IN REG R
  360.     DB    0CBH,?N*8+?R+40H
  361.     ENDM
  362. SETB    MACRO    ?N,?R        ;;SET BIT N IN REG R
  363.     DB    0CBH,?N*8+?R+0C0H
  364.     ENDM
  365. RES    MACRO    ?N,?R        ;;RESET BIT N IN REG R
  366.     DB    0CBH,?N*8+?R+80H
  367.     ENDM
  368. BITX    MACRO    ?N,?D        ;;TEST BIT N IN MEMORY LOC (IX+D)
  369.     @CHK    ?D
  370.     DB    0DDH,0CBH,?D,?N*8+46H
  371.     ENDM
  372. BITY    MACRO    ?N,?D        ;;TEST BIT N IN MEMORY LOC (IY+D)
  373.     @CHK    ?D
  374.     DB    0FDH,0CBH,?D,?N*8+46H
  375.     ENDM
  376. SETX    MACRO    ?N,?D        ;;SET BIT N IN MEMORY LOC (IX+D)
  377.     @CHK    ?D
  378.     DB    0DDH,0CBH,?D,?N*8+0C6H
  379.     ENDM
  380. SETY    MACRO    ?N,?D        ;;SET BIT N IN MEMORY LOC (IY+D)
  381.     @CHK    ?D
  382.     DB    0FDH,0CBH,?D,?N*8+0C6H
  383.     ENDM
  384. RESX    MACRO    ?N,?D        ;;RESET BIT N IN MEMORY LOC (IX+D)
  385.     @CHK    ?D
  386.     DB    0DDH,0CBH,?D,?N*8+86H
  387.     ENDM
  388. RESY    MACRO    ?N,?D        ;;RESET BIT N IN MEMORY LOC (IY+D)
  389.     @CHK    ?D
  390.     DB    0FDH,0CBH,?D,?N*8+86H
  391.     ENDM
  392. JR    MACRO    ?N        ;;JUMP RELATIVE 
  393.     @CHECK  ?N
  394.     DB    18H,?DD
  395.     ENDM
  396. JMPR    MACRO    ?N        ;;JUMP RELATIVE AS ABOVE
  397.     @CHECK     ?N
  398.     DB     18H,?DD
  399.     ENDM
  400. JRC    MACRO    ?N        ;;JUMP RELATIVE ON CARRY
  401.     @CHECK    ?N
  402.     DB    38H,?DD
  403.     ENDM
  404. JRNC    MACRO    ?N        ;;JUMP RELATIVE ON NOT CARRY
  405.     @CHECK    ?N
  406.     DB    30H,?DD
  407.     ENDM
  408. JRZ    MACRO    ?N        ;;JUMP RELATIVE ON ZERO
  409.     @CHECK    ?N
  410.     DB    28H,?DD
  411.     ENDM
  412. JRNZ    MACRO    ?N        ;;JUMP RELATIVE ON NOT ZERO
  413.     @CHECK    ?N
  414.     DB    20H,?DD
  415.     ENDM
  416. DJNZ    MACRO    ?N        ;;DEC B AND JUMP RELATIVE ON B NOT ZERO
  417.     @CHECK    ?N
  418.     DB    10H,?DD
  419.     ENDM
  420. PCIX    MACRO            ;;MOV IX INTO PROGRAM COUNTER
  421.     DB    0DDH,0E9H
  422.     ENDM
  423. PCIY    MACRO            ;;MOV IY INTO PROGRAM COUNTER
  424.     DB    0FDH,0E9H
  425.     ENDM
  426. RETI    MACRO            ;;RETURN FROM INTERRUPT (EI NOT ENABLED)
  427.     DB    0EDH,4DH
  428.     ENDM
  429. RETN    MACRO            ;;RETURN FROM NON-MASKABLE INTERRUPT
  430.     DB    0EDH,45H
  431.     ENDM
  432. RETEI    MACRO            ;;RETURN FROM INTERRUPT (EI ENABLED)
  433.     DB    EI,0EDH,4DH
  434.     ENDM
  435. INP    MACRO    ?R        ;;GO TO INPUT PORT (SPECIFIED BY REG C)
  436.     DB    0EDH,?R*8+40H    ;;    AND LOAD INTO REG R
  437.     ENDM
  438. OUTP    MACRO    ?R        ;;OUTPUT TO PORT (SPECIFIED BY REG C)
  439.     DB    0EDH,?R*8+41H    ;;    FROM REG R
  440.     ENDM
  441. INI    MACRO            ;;LOAD MEMORY (H,L) WITH INPUT PORT
  442.     DB    0EDH,0A2H    ;;    (SPECIFIED BY REG C)  INC H,L  DEC B
  443.     ENDM
  444. INIR    MACRO            ;;AS ABOVE REPEAT UNTIL B=0
  445.     DB    0EDH,0B2H
  446.     ENDM
  447. IND    MACRO            ;;LOAD MEMORY (H,L) WITH INPUT PORT
  448.     DB    0EDH,0AAH    ;;    (SPECIFIED BY REG C)   DEC H,L  DEC B
  449.     ENDM
  450. INDR    MACRO            ;;AS ABOVE REPEAT UNTIL B=0
  451.     DB    0EDH,0BAH
  452.     ENDM
  453. OUTI    MACRO            ;;OUTPUT TO PORT (SPECIFIED BY REG C)
  454.     DB    0EDH,0A3H    ;;    FROM MEMORY (H,L)  INC H,L  DEC B
  455.     ENDM
  456. OUTIR    MACRO            ;;AS ABOVE REPEAT UNTIL B=0
  457.     DB    0EDH,0B3H
  458.     ENDM
  459. OUTD    MACRO            ;;OUTPUT TO PORT (SPECIFIED BY REG C)
  460.     DB    0EDH,0ABH    ;;    FROM MEMORY (H,L)  DEC H,L  DEC B
  461.     ENDM
  462. OUTDR    MACRO            ;;AS ABOVE REPEAT UNTIL B=0
  463.     DB    0EDH,0BBH
  464.     ENDM
  465. RLCR    MACRO    ?R        ;;ROTATE LEFT CIRCULAR REG R
  466.     DB    0CBH, 00H + ?R
  467.     ENDM
  468. RLCX    MACRO    ?D        ;;ROTATE LEFT CIRCULAR CONTENTS OF MEMORY
  469.                 ;;    AT (IX+D)
  470.     @CHK    ?D
  471.     DB    0DDH, 0CBH, ?D, 06H
  472.     ENDM
  473. RLCY    MACRO    ?D        ;;ROTATE LEFT CIRCULAR CONTENTS OF MEMORY
  474.                 ;;    AT (IY+D)
  475.     @CHK    ?D
  476.     DB    0FDH, 0CBH, ?D, 06H
  477.     ENDM
  478. RALR    MACRO    ?R        ;;ROTATE ARITHMETIC LEFT REG R
  479.     DB    0CBH, 10H+?R
  480.     ENDM
  481. RALX    MACRO    ?D        ;;ROTATE ARITHMETIC LEFT CONTENTS OF MEMORY
  482.                 ;;    AT (IX+D)
  483.     @CHK    ?D
  484.     DB    0DDH, 0CBH, ?D, 16H
  485.     ENDM
  486. RALY    MACRO    ?D        ;;ROTATE ARITHMETIC LEFT CONTENTS OF MEMORY
  487.                 ;;    AT (IY+D)
  488.     @CHK    ?D
  489.     DB    0FDH, 0CBH, ?D, 16H
  490.     ENDM
  491. RRCR    MACRO    ?R        ;;ROTATE RIGHT CIRCULAR REG R
  492.     DB    0CBH, 08H + ?R
  493.     ENDM
  494. RRCX    MACRO    ?D        ;;ROTATE RIGHT CIRCULAR CONTENTS OF MEMORY
  495.                 ;;    AT (IX+D)
  496.     @CHK    ?D
  497.     DB    0DDH, 0CBH, ?D, 0EH
  498.     ENDM
  499. RRCY    MACRO    ?D        ;;ROTATE RIGHT CIRCULAR CONTENTS OF MEMORY
  500.                 ;;    AT (IY+D)
  501.     @CHK    ?D
  502.     DB    0FDH, 0CBH, ?D, 0EH
  503.     ENDM
  504. RARR    MACRO    ?R        ;;ROTATE ARITHMETIC RIGHT REG R
  505.     DB    0CBH, 18H + ?R
  506.     ENDM
  507. RARX    MACRO    ?D        ;;ROTATE ARITHMETIC RIGHT CONTENTS OF MEMORY
  508.                 ;;    AT (IX+D)
  509.     @CHK    ?D
  510.     DB    0DDH, 0CBH, ?D, 1EH
  511.     ENDM
  512. RARY    MACRO    ?D        ;;ROTATE ARITHMETIC RIGHT CONTENTS OF MEMORY
  513.                 ;;    AT (IY+D)
  514.     @CHK    ?D
  515.     DB    0FDH, 0CBH, ?D, 1EH
  516.     ENDM
  517. SLAR    MACRO    ?R        ;;SHIFT LEFT ARITHMETIC REG R
  518.     DB    0CBH, 20H + ?R
  519.     ENDM
  520. SLAX    MACRO    ?D        ;;SHIFT LEFT ARITHMETIC CONTENTS OF MEMORY
  521.                 ;;    AT(IX+D)
  522.     @CHK    ?D
  523.     DB    0DDH, 0CBH, ?D, 26H
  524.     ENDM
  525. SLAY    MACRO    ?D        ;;SHIFT LEFT ARITHMETIC CONTENTS OF MEMORY
  526.                 ;;    AT (IY+D)
  527.     @CHK    ?D
  528.     DB    0FDH, 0CBH, ?D, 26H
  529.     ENDM
  530. SRAR    MACRO    ?R        ;;SHIFT RIGHT ARITHMETIC REG R
  531.     DB    0CBH, 28H+?R
  532.     ENDM
  533. SRAX    MACRO    ?D        ;;SHIFT RIGHT ARITHMETIC CONTENTS OF MEMORY
  534.                 ;;    AT (IX+D)
  535.     @CHK    ?D
  536.     DB    0DDH, 0CBH, ?D, 2EH
  537.     ENDM
  538. SRAY    MACRO    ?D        ;;SHIFT RIGHT ARITHMETIC CONTENTS OF MEMORY
  539.                 ;;    AT (IY+D)
  540.     @CHK    ?D
  541.     DB    0FDH, 0CBH, ?D, 2EH
  542.     ENDM
  543. SRLR    MACRO    ?R        ;;SHIFT RIGHT LOGICALLY REG R
  544.     DB    0CBH, 38H + ?R
  545.     ENDM
  546. SRLX    MACRO    ?D        ;;SHIFT RIGHT LOGICALLY CONTENTS OF MEMORY
  547.                 ;;    AT (IX+D)
  548.     @CHK    ?D
  549.     DB    0DDH, 0CBH, ?D, 3EH
  550.     ENDM
  551. SRLY    MACRO    ?D        ;;SHIFT RIGHT LOGICALLY CONTENTS OF MEMORY
  552.                 ;;    AT (IY+D)
  553.     @CHK    ?D
  554.     DB    0FDH, 0CBH, ?D, 3EH
  555.     ENDM
  556. RLD    MACRO            ;;ROTATE NIBBLE LEFT & RIGHT BETWEEN ACC 
  557.     DB    0EDH, 6FH    ;;  AND CONTENTS AT (H,L)
  558.     ENDM
  559. RRD    MACRO            ;;ROTATE NIBBLE RIGHT & LEFT BETWEEN ACC
  560.     DB    0EDH, 67H    ;;  AND CONTENTS AT (H,L)
  561.     ENDM
  562.