home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource4 / 267_01 / test85.asm < prev    next >
Assembly Source File  |  1989-01-13  |  4KB  |  339 lines

  1.         TITLE    "8085 Cross-Assembler Test Source File"
  2.         PAGE    60
  3. ;
  4. ; The 8085 opcodes in opcode numerical order:
  5. ;
  6. BYTE        EQU    012H
  7. WORD        EQU    034H
  8. PORT        EQU    056H
  9. ADDRESS        EQU    07890H
  10.  
  11. ; 000H - 00FH.
  12.  
  13.         NOP
  14.         LXI    B, WORD
  15.         STAX    B
  16.         INX    B
  17.         INR    B
  18.         DCR    B
  19.         MVI    B, BYTE
  20.         RLC
  21.                     ; 008H is undefined.
  22.         DAD    B
  23.         LDAX    B
  24.         DCX    B
  25.         INR    C
  26.         DCR    C
  27.         MVI    C, BYTE
  28.         RRC
  29.  
  30. ; 010H - 01FH.
  31.  
  32.                     ; 010H is undefined.
  33.         LXI    D, WORD
  34.         STAX    D
  35.         INX    D
  36.         INR    D
  37.         DCR    D
  38.         MVI    D, BYTE
  39.         RAL
  40.                     ; 018H is undefined.
  41.         DAD    D
  42.         LDAX    D
  43.         DCX    D
  44.         INR    E
  45.         DCR    E
  46.         MVI    E, BYTE
  47.         RAR
  48.  
  49. ; 020H - 02FH.
  50.  
  51.         RIM
  52.         LXI    H, WORD
  53.         SHLD    ADDRESS
  54.         INX    H
  55.         INR    H
  56.         DCR    H
  57.         MVI    H, BYTE
  58.         DAA
  59.                     ; 028H is undefined.
  60.         DAD    H
  61.         LHLD    ADDRESS
  62.         DCX    H
  63.         INR    L
  64.         DCR    L
  65.         MVI    L, BYTE
  66.         CMA
  67.  
  68. ; 030H - 03FH.
  69.  
  70.         SIM
  71.         LXI    SP, WORD
  72.         STA    ADDRESS
  73.         INX    SP
  74.         INR    M
  75.         DCR    M
  76.         MVI    M, BYTE
  77.         STC
  78.                     ; 038H is undefined.
  79.         DAD    SP
  80.         LDA    ADDRESS
  81.         DCX    SP
  82.         INR    A
  83.         DCR    A
  84.         MVI    A, BYTE
  85.         CMC
  86.  
  87. ; 040H - 04FH.
  88.  
  89.         MOV    B, B
  90.         MOV    B, C
  91.         MOV    B, D
  92.         MOV    B, E
  93.         MOV    B, H
  94.         MOV    B, L
  95.         MOV    B, M
  96.         MOV    B, A
  97.         MOV    C, B
  98.         MOV    C, C
  99.         MOV    C, D
  100.         MOV    C, E
  101.         MOV    C, H
  102.         MOV    C, L
  103.         MOV    C, M
  104.         MOV    C, A
  105.  
  106. ; 050H - 05FH.
  107.  
  108.         MOV    D, B
  109.         MOV    D, C
  110.         MOV    D, D
  111.         MOV    D, E
  112.         MOV    D, H
  113.         MOV    D, L
  114.         MOV    D, M
  115.         MOV    D, A
  116.         MOV    E, B
  117.         MOV    E, C
  118.         MOV    E, D
  119.         MOV    E, E
  120.         MOV    E, H
  121.         MOV    E, L
  122.         MOV    E, M
  123.         MOV    E, A
  124.  
  125. ; 060H - 06FH.
  126.  
  127.         MOV    H, B
  128.         MOV    H, C
  129.         MOV    H, D
  130.         MOV    H, E
  131.         MOV    H, H
  132.         MOV    H, L
  133.         MOV    H, M
  134.         MOV    H, A
  135.         MOV    L, B
  136.         MOV    L, C
  137.         MOV    L, D
  138.         MOV    L, E
  139.         MOV    L, H
  140.         MOV    L, L
  141.         MOV    L, M
  142.         MOV    L, A
  143.  
  144. ; 070H - 07FH.
  145.  
  146.         MOV    M, B
  147.         MOV    M, C
  148.         MOV    M, D
  149.         MOV    M, E
  150.         MOV    M, H
  151.         MOV    M, L
  152.         HLT
  153.         MOV    M, A
  154.         MOV    A, B
  155.         MOV    A, C
  156.         MOV    A, D
  157.         MOV    A, E
  158.         MOV    A, H
  159.         MOV    A, L
  160.         MOV    A, M
  161.         MOV    A, A
  162.  
  163. ; 080H - 08FH.
  164.  
  165.         ADD    B
  166.         ADD    C
  167.         ADD    D
  168.         ADD    E
  169.         ADD    H
  170.         ADD    L
  171.         ADD    M
  172.         ADD    A
  173.         ADC    B
  174.         ADC    C
  175.         ADC    D
  176.         ADC    E
  177.         ADC    H
  178.         ADC    L
  179.         ADC    M
  180.         ADC    A
  181.  
  182. ; 090H - 09FH.
  183.  
  184.         SUB    B
  185.         SUB    C
  186.         SUB    D
  187.         SUB    E
  188.         SUB    H
  189.         SUB    L
  190.         SUB    M
  191.         SUB    A
  192.         SBB    B
  193.         SBB    C
  194.         SBB    D
  195.         SBB    E
  196.         SBB    H
  197.         SBB    L
  198.         SBB    M
  199.         SBB    A
  200.  
  201. ; 0A0H - 0AFH.
  202.  
  203.         ANA    B
  204.         ANA    C
  205.         ANA    D
  206.         ANA    E
  207.         ANA    H
  208.         ANA    L
  209.         ANA    M
  210.         ANA    A
  211.         XRA    B
  212.         XRA    C
  213.         XRA    D
  214.         XRA    E
  215.         XRA    H
  216.         XRA    L
  217.         XRA    M
  218.         XRA    A
  219.  
  220. ; 0B0H - 0BFH.
  221.  
  222.         ORA    B
  223.         ORA    C
  224.         ORA    D
  225.         ORA    E
  226.         ORA    H
  227.         ORA    L
  228.         ORA    M
  229.         ORA    A
  230.         CMP    B
  231.         CMP    C
  232.         CMP    D
  233.         CMP    E
  234.         CMP    H
  235.         CMP    L
  236.         CMP    M
  237.         CMP    A
  238.  
  239. ; 0C0H - 0CFH.
  240.  
  241.         RNZ
  242.         POP    B
  243.         JNZ    ADDRESS
  244.         JMP    ADDRESS
  245.         CNZ    ADDRESS
  246.         PUSH    B
  247.         ADI    BYTE
  248.         RST    0
  249.         RZ
  250.         RET
  251.         JZ    ADDRESS
  252.                     ; 0CBH is undefined.
  253.         CZ    ADDRESS
  254.         CALL    ADDRESS
  255.         ACI    BYTE
  256.         RST    1
  257.  
  258. ; 0D0H - 0DFH.
  259.  
  260.         RNC
  261.         POP    D
  262.         JNC    ADDRESS
  263.         OUT    PORT
  264.         CNC    ADDRESS
  265.         PUSH    D
  266.         SUI    BYTE
  267.         RST    2
  268.         RC
  269.                     ; 0D9H is undefined.
  270.         JC    ADDRESS
  271.         IN    PORT
  272.         CC    ADDRESS
  273.                     ; 0DDH is undefined.
  274.         SBI    BYTE
  275.         RST    3
  276.  
  277. ; 0E0H - 0EFH.
  278.  
  279.         RPO
  280.         POP    H
  281.         JPO    ADDRESS
  282.         XTHL
  283.         CPO    ADDRESS
  284.         PUSH    H
  285.         ANI    BYTE
  286.         RST    4
  287.         RPE
  288.         PCHL
  289.         JPE    ADDRESS
  290.         XCHG
  291.         CPE    ADDRESS
  292.                     ; 0EDH is undefined.
  293.         XRI    BYTE
  294.         RST    5
  295.  
  296. ; 0F0H - 0FFH.
  297.  
  298.         RP
  299.         POP    PSW
  300.         JP    ADDRESS
  301.         DI
  302.         CP    ADDRESS
  303.         PUSH    PSW
  304.         ORI    BYTE
  305.         RST    6
  306.         RM
  307.         SPHL
  308.         JM    ADDRESS
  309.         EI
  310.         CM    ADDRESS
  311.                     ; 0FDH is undefined.
  312.         CPI    BYTE
  313.         RST    7
  314.  
  315. ;
  316. ; Let's test the rest of the pseudo-ops while we're at it:
  317. ;
  318. VARIABLE    SET    -1
  319.  
  320.         IF    VARIABLE
  321.         DB    -1, , +1
  322.         ELSE
  323.         DB    +1, , -1
  324.         ENDIF
  325.  
  326. VARIABLE    SET    VARIABLE EQ 0
  327.  
  328.         IF    VARIABLE
  329.         DW    , +1
  330.         ELSE
  331.         DW    , -1
  332.         ENDIF
  333.  
  334.         DS    10H
  335.  
  336.         DB    "EXPLOSION", 0DH, 0AH, 0
  337.  
  338.         END
  339.