home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_100 / 149_01 / test18.asm < prev    next >
Assembly Source File  |  1989-01-13  |  7KB  |  524 lines

  1.         TITL    "1802/1805A Cross-Assembler Test Source File"
  2.         EJCT    60
  3.  
  4.         CPU    1805
  5.  
  6. NUMBER        EQU    0
  7.  
  8. ;
  9. ; Register Definitions:
  10. ;
  11. R0        EQU    0
  12. R1        EQU    1
  13. R2        EQU    2
  14. R3        EQU    3
  15. R4        EQU    4
  16. R5        EQU    5
  17. R6        EQU    6
  18. R7        EQU    7
  19. R8        EQU    8
  20. R9        EQU    9
  21. R10        EQU    10
  22. R11        EQU    11
  23. R12        EQU    12
  24. R13        EQU    13
  25. R14        EQU    14
  26. R15        EQU    15
  27.  
  28. ;
  29. ; I/O Port Definitions:
  30. ;
  31. P1        EQU    1
  32. P2        EQU    2
  33. P3        EQU    3
  34. P4        EQU    4
  35. P5        EQU    5
  36. P6        EQU    6
  37. P7        EQU    7
  38.  
  39. ;
  40. ; The 1805A opcodes in opcode numerical order -- one-byte opcodes first:
  41. ;
  42. START        ORG    100H
  43.  
  44. ; 00H - 0FH.
  45.         IDL
  46.         LDN    R1
  47.         LDN    R2
  48.         LDN    R3
  49.         LDN    R4
  50.         LDN    R5
  51.         LDN    R6
  52.         LDN    R7
  53.         LDN    R8
  54.         LDN    R9
  55.         LDN    R10
  56.         LDN    R11
  57.         LDN    R12
  58.         LDN    R13
  59.         LDN    R14
  60.         LDN    R15
  61. ; 10H - 1FH.
  62.         INC    R0
  63.         INC    R1
  64.         INC    R2
  65.         INC    R3
  66.         INC    R4
  67.         INC    R5
  68.         INC    R6
  69.         INC    R7
  70.         INC    R8
  71.         INC    R9
  72.         INC    R10
  73.         INC    R11
  74.         INC    R12
  75.         INC    R13
  76.         INC    R14
  77.         INC    R15
  78. ; 20H - 2FH.
  79.         DEC    R0
  80.         DEC    R1
  81.         DEC    R2
  82.         DEC    R3
  83.         DEC    R4
  84.         DEC    R5
  85.         DEC    R6
  86.         DEC    R7
  87.         DEC    R8
  88.         DEC    R9
  89.         DEC    R10
  90.         DEC    R11
  91.         DEC    R12
  92.         DEC    R13
  93.         DEC    R14
  94.         DEC    R15
  95. ; 30H - 3FH.
  96.         BR    $ AND 1111111100000000B
  97.         BQ    $ AND 1111111100000000B
  98.         BZ    $ AND 1111111100000000B
  99.         BDF    $ AND 1111111100000000B
  100.         B1    $ AND 1111111100000000B
  101.         B2    $ AND 1111111100000000B
  102.         B3    $ AND 1111111100000000B
  103.         B4    $ AND 1111111100000000B
  104.         NBR    $ AND 1111111100000000B
  105.         BNQ    $ AND 1111111100000000B
  106.         BNZ    $ AND 1111111100000000B
  107.         BNF    $ AND 1111111100000000B
  108.         BN1    $ AND 1111111100000000B
  109.         BN2    $ AND 1111111100000000B
  110.         BN3    $ AND 1111111100000000B
  111.         BN4    $ AND 1111111100000000B
  112. ; 40H - 4FH.
  113.         LDA    R0
  114.         LDA    R1
  115.         LDA    R2
  116.         LDA    R3
  117.         LDA    R4
  118.         LDA    R5
  119.         LDA    R6
  120.         LDA    R7
  121.         LDA    R8
  122.         LDA    R9
  123.         LDA    R10
  124.         LDA    R11
  125.         LDA    R12
  126.         LDA    R13
  127.         LDA    R14
  128.         LDA    R15
  129. ; 50H - 5FH.
  130.         STR    R0
  131.         STR    R1
  132.         STR    R2
  133.         STR    R3
  134.         STR    R4
  135.         STR    R5
  136.         STR    R6
  137.         STR    R7
  138.         STR    R8
  139.         STR    R9
  140.         STR    R10
  141.         STR    R11
  142.         STR    R12
  143.         STR    R13
  144.         STR    R14
  145.         STR    R15
  146. ; 60H - 6FH.
  147.         IRX
  148.         OUT    P1
  149.         OUT    P2
  150.         OUT    P3
  151.         OUT    P4
  152.         OUT    P5
  153.         OUT    P6
  154.         OUT    P7
  155.                     ; 68H goes with the two-byte opcodes.
  156.         INP    P1
  157.         INP    P2
  158.         INP    P3
  159.         INP    P4
  160.         INP    P5
  161.         INP    P6
  162.         INP    P7
  163. ; 70H - 7FH.
  164.         RET
  165.         DIS
  166.         LDXA
  167.         STXD
  168.         ADC
  169.         SDB
  170.         SHRC
  171.         SMB
  172.         SAV
  173.         MARK
  174.         REQ
  175.         SEQ
  176.         ADCI    NUMBER
  177.         SDBI    NUMBER
  178.         SHLC
  179.         SMBI    NUMBER
  180. ; 80H - 8FH.
  181.         GLO    R0
  182.         GLO    R1
  183.         GLO    R2
  184.         GLO    R3
  185.         GLO    R4
  186.         GLO    R5
  187.         GLO    R6
  188.         GLO    R7
  189.         GLO    R8
  190.         GLO    R9
  191.         GLO    R10
  192.         GLO    R11
  193.         GLO    R12
  194.         GLO    R13
  195.         GLO    R14
  196.         GLO    R15
  197. ; 90H - 9FH.
  198.         GHI    R0
  199.         GHI    R1
  200.         GHI    R2
  201.         GHI    R3
  202.         GHI    R4
  203.         GHI    R5
  204.         GHI    R6
  205.         GHI    R7
  206.         GHI    R8
  207.         GHI    R9
  208.         GHI    R10
  209.         GHI    R11
  210.         GHI    R12
  211.         GHI    R13
  212.         GHI    R14
  213.         GHI    R15
  214. ; 0A0H - 0AFH.
  215.         PLO    R0
  216.         PLO    R1
  217.         PLO    R2
  218.         PLO    R3
  219.         PLO    R4
  220.         PLO    R5
  221.         PLO    R6
  222.         PLO    R7
  223.         PLO    R8
  224.         PLO    R9
  225.         PLO    R10
  226.         PLO    R11
  227.         PLO    R12
  228.         PLO    R13
  229.         PLO    R14
  230.         PLO    R15
  231. ; 0B0H - 0BFH.
  232.         PHI    R0
  233.         PHI    R1
  234.         PHI    R2
  235.         PHI    R3
  236.         PHI    R4
  237.         PHI    R5
  238.         PHI    R6
  239.         PHI    R7
  240.         PHI    R8
  241.         PHI    R9
  242.         PHI    R10
  243.         PHI    R11
  244.         PHI    R12
  245.         PHI    R13
  246.         PHI    R14
  247.         PHI    R15
  248. ; 0C0H - 0CFH.
  249.         LBR    START
  250.         LBQ    START
  251.         LBZ    START
  252.         LBDF    START
  253.         NOP
  254.         LSNQ
  255.         LSNZ
  256.         LSNF
  257.         NLBR    START
  258.         LBNQ    START
  259.         LBNZ    START
  260.         LBNF    START
  261.         LSIE
  262.         LSQ
  263.         LSZ
  264.         LSDF
  265. ; 0D0H - 0DFH.
  266.         SEP    R0
  267.         SEP    R1
  268.         SEP    R2
  269.         SEP    R3
  270.         SEP    R4
  271.         SEP    R5
  272.         SEP    R6
  273.         SEP    R7
  274.         SEP    R8
  275.         SEP    R9
  276.         SEP    R10
  277.         SEP    R11
  278.         SEP    R12
  279.         SEP    R13
  280.         SEP    R14
  281.         SEP    R15
  282. ; 0E0H - 0EFH.
  283.         SEX    R0
  284.         SEX    R1
  285.         SEX    R2
  286.         SEX    R3
  287.         SEX    R4
  288.         SEX    R5
  289.         SEX    R6
  290.         SEX    R7
  291.         SEX    R8
  292.         SEX    R9
  293.         SEX    R10
  294.         SEX    R11
  295.         SEX    R12
  296.         SEX    R13
  297.         SEX    R14
  298.         SEX    R15
  299. ; 0F0H - 0FFH.
  300.         LDX
  301.         OR
  302.         AND
  303.         XOR
  304.         ADD
  305.         SD
  306.         SHR
  307.         SM
  308.         LDI    NUMBER
  309.         ORI    NUMBER
  310.         ANI    NUMBER
  311.         XRI    NUMBER
  312.         ADI    NUMBER
  313.         SDI    NUMBER
  314.         SHL
  315.         SMI    NUMBER
  316.  
  317. ;
  318. ; Now, the unique 1805A opcodes in numerical order by second opcode byte:
  319. ;
  320.         PAGE
  321.  
  322. ; 00H - 0FH
  323.         STPC
  324.         DTC
  325.         SPM2
  326.         SCM2
  327.         SPM1
  328.         SCM1
  329.         LDC
  330.         STM
  331.         GEC
  332.         ETQ
  333.         XIE
  334.         XID
  335.         CIE
  336.         CID
  337.                     ; 0EH - 0FH are undefined.
  338. ; 10H - 1FH
  339.                     ; 10H - 1FH are undefined.
  340. ; 20H - 2FH
  341.         DBNZ    R0, START
  342.         DBNZ    R1, START
  343.         DBNZ    R2, START
  344.         DBNZ    R3, START
  345.         DBNZ    R4, START
  346.         DBNZ    R5, START
  347.         DBNZ    R6, START
  348.         DBNZ    R7, START
  349.         DBNZ    R8, START
  350.         DBNZ    R9, START
  351.         DBNZ    R10, START
  352.         DBNZ    R11, START
  353.         DBNZ    R12, START
  354.         DBNZ    R13, START
  355.         DBNZ    R14, START
  356.         DBNZ    R15, START
  357. ; 30H - 3FH
  358.                     ; 30H - 3DH are undefined.
  359.         BCI    $ AND 1111111100000000B
  360.         BXI    $ AND 1111111100000000B
  361. ; 40H - 4FH
  362.                     ; 40H - 4FH are undefined.
  363. ; 50H - 5FH
  364.                     ; 50H - 5FH are undefined.
  365. ; 60H - 6FH
  366.         RLXA    R0
  367.         RLXA    R1
  368.         RLXA    R2
  369.         RLXA    R3
  370.         RLXA    R4
  371.         RLXA    R5
  372.         RLXA    R6
  373.         RLXA    R7
  374.         RLXA    R8
  375.         RLXA    R9
  376.         RLXA    R10
  377.         RLXA    R11
  378.         RLXA    R12
  379.         RLXA    R13
  380.         RLXA    R14
  381.         RLXA    R15
  382. ; 70H - 7FH
  383.                     ; 70H - 73H are undefined.
  384.         DADC
  385.                     ; 75H is undefined.
  386.         DSAV
  387.         DSMB
  388.                     ; 78H - 7BH are undefined.
  389.         DACI    NUMBER
  390.                     ; 7DH - 7EH are undefined.
  391.         DSBI    NUMBER
  392. ; 80H - 8FH
  393.         SCAL    R0, START
  394.         SCAL    R1, START
  395.         SCAL    R2, START
  396.         SCAL    R3, START
  397.         SCAL    R4, START
  398.         SCAL    R5, START
  399.         SCAL    R6, START
  400.         SCAL    R7, START
  401.         SCAL    R8, START
  402.         SCAL    R9, START
  403.         SCAL    R10, START
  404.         SCAL    R11, START
  405.         SCAL    R12, START
  406.         SCAL    R13, START
  407.         SCAL    R14, START
  408.         SCAL    R15, START
  409. ; 90H - 9FH
  410.         SRET    R0
  411.         SRET    R1
  412.         SRET    R2
  413.         SRET    R3
  414.         SRET    R4
  415.         SRET    R5
  416.         SRET    R6
  417.         SRET    R7
  418.         SRET    R8
  419.         SRET    R9
  420.         SRET    R10
  421.         SRET    R11
  422.         SRET    R12
  423.         SRET    R13
  424.         SRET    R14
  425.         SRET    R15
  426. ; 0A0H - 0AFH
  427.         RSXD    R0
  428.         RSXD    R1
  429.         RSXD    R2
  430.         RSXD    R3
  431.         RSXD    R4
  432.         RSXD    R5
  433.         RSXD    R6
  434.         RSXD    R7
  435.         RSXD    R8
  436.         RSXD    R9
  437.         RSXD    R10
  438.         RSXD    R11
  439.         RSXD    R12
  440.         RSXD    R13
  441.         RSXD    R14
  442.         RSXD    R15
  443. ; 0B0H - 0BFH
  444.         RNX    R0
  445.         RNX    R1
  446.         RNX    R2
  447.         RNX    R3
  448.         RNX    R4
  449.         RNX    R5
  450.         RNX    R6
  451.         RNX    R7
  452.         RNX    R8
  453.         RNX    R9
  454.         RNX    R10
  455.         RNX    R11
  456.         RNX    R12
  457.         RNX    R13
  458.         RNX    R14
  459.         RNX    R15
  460. ; 0C0H - 0CFH
  461.         RLDI    R0, START
  462.         RLDI    R1, START
  463.         RLDI    R2, START
  464.         RLDI    R3, START
  465.         RLDI    R4, START
  466.         RLDI    R5, START
  467.         RLDI    R6, START
  468.         RLDI    R7, START
  469.         RLDI    R8, START
  470.         RLDI    R9, START
  471.         RLDI    R10, START
  472.         RLDI    R11, START
  473.         RLDI    R12, START
  474.         RLDI    R13, START
  475.         RLDI    R14, START
  476.         RLDI    R15, START
  477. ; 0D0H - 0DFH
  478.                     ; 0D0H - 0DFH are undefined.
  479. ; 0E0H - 0EFH
  480.                     ; 0E0H - 0EFH are undefined.
  481. ; 0F0H - 0FFH
  482.                     ; 0F0H - 0F3H are undefined.
  483.         DADD
  484.                     ; 0F5H - 0F6H are undefined.
  485.         DSM
  486.                     ; 0F8H - 0FBH are undefined.
  487.         DADI    NUMBER
  488.                     ; 0FDH - 0FEH are undefined.
  489.         DSMI    NUMBER
  490.  
  491. ;
  492. ; Let's test the rest of the pseudo-ops while we're at it:
  493. ;
  494.         LOAD    R2, START
  495.  
  496. VARIABLE    SET    -1
  497.  
  498.         IF    VARIABLE
  499.         BYTE    -1, , +1
  500.         ELSE
  501.         BYTE    +1, , -1
  502.         ENDI
  503.  
  504. VARIABLE    SET    VARIABLE EQ 0
  505.  
  506.         IF    VARIABLE
  507.         WORD    , +1
  508.         ELSE
  509.         WORD    , -1
  510.         ENDI
  511.  
  512.         BLK    10H
  513.  
  514.         TEXT    "EXPLOSION"
  515.  
  516.         END
  517. 5
  518.         RNX    R6
  519.         RNX    R7
  520.         RNX    R8
  521.         RNX    R9
  522.         RNX    R10
  523.         RNX    R11
  524.         RNX