home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / crossasm / ps51a123.arc / MNEMTEST.ASM < prev    next >
Assembly Source File  |  1987-03-04  |  15KB  |  653 lines

  1.          .org 0
  2. stest:   acall stest
  3.          ajmp *
  4.          ljmp *+5 ;jump over next line of code
  5.          add a,#00
  6.          sjmp *-9 ;jump to stest
  7.          add a,#h'ff
  8.          add a,00
  9.          add a,h'ff
  10.          add a,@r0
  11.          add a,@r1
  12.          add a,r0           ;test all 8051 opcodes in all configurations
  13.          add a,r1           ;all machine mnemonics copyright Intel corp. 1976
  14.          add a,r2
  15.          add a,r3
  16.          add a,r4
  17.          add a,r5
  18.          add a,r6
  19.          add a,r7
  20.          addc a,#00
  21.          addc a,#h'ff
  22.          addc a,00
  23.          addc a,h'ff
  24.          addc a,@r0
  25.          addc a,@r1
  26.          addc a,r0
  27.          addc a,r1
  28.          addc a,r2
  29.          addc a,r3
  30.          addc a,r4
  31.          addc a,r5
  32.          addc a,r6
  33.          addc a,r7
  34.          ajmp stest
  35.          anl a,#00
  36.          anl a,#h'ff
  37.          anl a,00
  38.          anl a,h'ff
  39.          anl a,@r0
  40.          anl a,@r1
  41.          anl a,r0
  42.          anl a,r1
  43.          anl a,r2
  44.          anl a,r3
  45.          anl a,r4
  46.          anl a,r5
  47.          anl a,r6
  48.          anl a,r7
  49.          anl h'00,a
  50.          anl h'ff,a
  51.          anl h'00,#00
  52.          anl h'00,#h'ff
  53.          anl h'ff,#00
  54.          anl h'ff,#h'ff
  55.          anl c,00
  56.          anl c,h'ff
  57.          anl c,/00
  58.          anl c,/h'ff
  59.          cjne a,h'00,stest
  60.          cjne a,h'ff,stest
  61.          cjne a,#h'00,stest
  62.          cjne a,#h'ff,stest
  63.          cjne r0,#h'00,stest
  64.          cjne r7,#h'ff,stest
  65.          cjne @r0,#h'00,stest
  66.          cjne @r1,#h'ff,stest
  67.          clr a
  68.          clr h'00
  69.          clr h'ff
  70.          clr c
  71.          cpl a
  72.          cpl h'00
  73.          cpl h'ff
  74.          cpl c
  75.          da a
  76.          dec a
  77.          dec r0
  78.          dec r1
  79.          dec r2
  80.          dec r3
  81.          dec r4
  82.          dec r5
  83.          dec r6
  84.          dec r7
  85.          dec h'00
  86.          dec h'ff
  87.          dec @r0
  88.          dec @r1
  89.          div ab
  90. loop1:   djnz r0,loop1
  91.          djnz r1,loop1
  92.          djnz r2,loop1
  93.          djnz r3,loop1
  94.          djnz r4,loop1
  95.          djnz r5,loop1
  96.          djnz r6,loop1
  97.          djnz r7,loop1
  98.          djnz h'00,loop1
  99.          djnz h'ff,loop1
  100.          inc a
  101.          inc r0
  102.          inc r1
  103.          inc r2
  104.          inc r3
  105.          inc r4
  106.          inc r5
  107.          inc r6
  108.          inc r7
  109.          inc h'00
  110.          inc h'ff
  111.          inc @r0
  112.          inc @r1
  113.          inc dptr
  114. loop:    jb  h'00,loop
  115.          jb  h'ff,loop
  116.          jbc  h'00,loop
  117.          jbc  h'ff,loop
  118.          jc loop
  119.          jmp @a+dptr
  120.          jnb  h'00,loop
  121.          jnb  h'ff,loop
  122.          jnc loop
  123.          jnz loop
  124.          jz loop
  125.          lcall stest
  126.          ljmp stest
  127.          mov a,r0
  128.          mov a,r1
  129.          mov a,r2
  130.          mov a,r3
  131.          mov a,r4
  132.          mov a,r5
  133.          mov a,r6
  134.          mov a,r7
  135.          mov a,h'00
  136.          mov a,h'ff
  137.          mov a,@r0
  138.          mov a,@r1
  139.          mov a,#h'00
  140.          mov a,#h'ff
  141.          mov r0,#h'00
  142.          mov r0,#h'ff
  143.          mov r0,h'00
  144.          mov r0,h'ff
  145.          mov r0,a
  146.          mov r1,#h'00
  147.          mov r1,#h'ff
  148.          mov r1,h'00
  149.          mov r1,h'ff
  150.          mov r1,a
  151.          mov r2,#h'00
  152.          mov r2,#h'ff
  153.          mov r2,h'00
  154.          mov r2,h'ff
  155.          mov r2,a
  156.          mov r3,#h'00
  157.          mov r3,#h'ff
  158.          mov r3,h'00
  159.          mov r3,h'ff
  160.          mov r3,a
  161.          mov r4,#h'00
  162.          mov r4,#h'ff
  163.          mov r4,h'00
  164.          mov r4,h'ff
  165.          mov r4,a
  166.          mov r5,#h'00
  167.          mov r5,#h'ff
  168.          mov r5,h'00
  169.          mov r5,h'ff
  170.          mov r5,a
  171.          mov r6,#h'00
  172.          mov r6,#h'ff
  173.          mov r6,h'00
  174.          mov r6,h'ff
  175.          mov r6,a
  176.          mov r7,#h'00
  177.          mov r7,#h'ff
  178.          mov r7,h'00
  179.          mov r7,h'ff
  180.          mov r7,a
  181.          mov h'00,a
  182.          mov h'00,r0
  183.          mov h'00,r1
  184.          mov h'00,r2
  185.          mov h'00,r3
  186.          mov h'00,r4
  187.          mov h'00,r5
  188.          mov h'00,r6
  189.          mov h'00,r7
  190.          mov h'00,h'00
  191.          mov h'00,h'ff
  192.          mov h'00,@r0
  193.          mov h'00,@r1
  194.          mov h'00,#h'00
  195.          mov h'00,#h'ff
  196.          mov h'ff,a
  197.          mov h'ff,r0
  198.          mov h'ff,r1
  199.          mov h'ff,r2
  200.          mov h'ff,r3
  201.          mov h'ff,r4
  202.          mov h'ff,r5
  203.          mov h'ff,r6
  204.          mov h'ff,r7
  205.          mov h'ff,h'00
  206.          mov h'ff,h'ff
  207.          mov h'ff,@r0
  208.          mov h'ff,@r1
  209.          mov h'ff,#h'00
  210.          mov h'ff,#h'ff
  211.          mov @r0,#h'00
  212.          mov @r0,#h'ff
  213.          mov @r0,h'00
  214.          mov @r0,h'ff
  215.          mov @r0,a
  216.          mov @r1,#h'00
  217.          mov @r1,#h'ff
  218.          mov @r1,h'00
  219.          mov @r1,h'ff
  220.          mov @r1,a
  221.          mov c,h'00
  222.          mov c,h'ff
  223.          mov h'00,c
  224.          mov h'ff,c
  225.          mov dptr,#h'00ff
  226.          mov dptr,#h'ff00
  227.          movc a,@a+dptr
  228.          movc a,@a+pc
  229.          movx a,@r0
  230.          movx a,@r1
  231.          movx a,@dptr
  232.          movx @r0,a
  233.          movx @r1,a
  234.          movx @dptr,a
  235.          mul ab
  236.          nop
  237.          orl a,#00
  238.          orl a,#h'ff
  239.          orl a,00
  240.          orl a,h'ff
  241.          orl a,@r0
  242.          orl a,@r1
  243.          orl a,r0
  244.          orl a,r1
  245.          orl a,r2
  246.          orl a,r3
  247.          orl a,r4
  248.          orl a,r5
  249.          orl a,r6
  250.          orl a,r7
  251.          orl h'00,a
  252.          orl h'ff,a
  253.          orl h'00,#00
  254.          orl h'00,#h'ff
  255.          orl h'ff,#00
  256.          orl h'ff,#h'ff
  257.          orl c,00
  258.          orl c,h'ff
  259.          orl c,/00
  260.          orl c,/h'ff
  261.          pop h'00
  262.          pop h'ff
  263.          push h'00
  264.          push h'ff
  265.          ret
  266.          reti
  267.          rl a
  268.          rlc a
  269.          rr a
  270.          rrc a
  271.          setb h'00
  272.          setb h'ff
  273.          setb c
  274. rloop2:  sjmp rloop2
  275.          subb a,#00
  276.          subb a,#h'ff
  277.          subb a,00
  278.          subb a,h'ff
  279.          subb a,@r0
  280.          subb a,@r1
  281.          subb a,r0           ;test all 8051 opcodes in all configurations
  282.          subb a,r1           ;all machine mnemonics copyright Intel corp. 1976
  283.          subb a,r2
  284.          subb a,r3
  285.          subb a,r4
  286.          subb a,r5
  287.          subb a,r6
  288.          subb a,r7
  289.          swap a
  290.          xch a,@r0
  291.          xch a,@r1
  292.          xch a,r0
  293.          xch a,r1
  294.          xch a,r2
  295.          xch a,r3
  296.          xch a,r4
  297.          xch a,r5
  298.          xch a,r6
  299.          xch a,r7
  300.          xch a,h'00
  301.          xch a,h'ff
  302.          xchd a,@r0
  303.          xchd a,@r1
  304.          xrl a,#00
  305.          xrl a,#h'ff
  306.          xrl a,00
  307.          xrl a,h'ff
  308.          xrl a,@r0
  309.          xrl a,@r1
  310.          xrl a,r0
  311.          xrl a,r1
  312.          xrl a,r2
  313.          xrl a,r3
  314.          xrl a,r4
  315.          xrl a,r5
  316.          xrl a,r6
  317.          xrl a,r7
  318.          xrl h'00,a
  319.          xrl h'ff,a
  320.          xrl h'00,#00
  321.          xrl h'00,#h'ff
  322.          xrl h'ff,#00
  323.          xrl h'ff,#h'ff
  324.          acall stest
  325.          add a,#forward2
  326.          add a,#forward1
  327.          add a,00
  328.          add a,forward1
  329.          add a,@r0
  330.          add a,@r1
  331.          add a,r0           ;test all 8051 opcodes in all configurations
  332.          add a,r1           ;all machine mnemonics copyright Intel corp. 1976
  333.          add a,r2
  334.          add a,r3
  335.          add a,r4
  336.          add a,r5
  337.          add a,r6
  338.          add a,r7
  339.          addc a,#forward2
  340.          addc a,#forward1
  341.          addc a,00
  342.          addc a,forward1
  343.          addc a,@r0
  344.          addc a,@r1
  345.          addc a,r0
  346.          addc a,r1
  347.          addc a,r2
  348.          addc a,r3
  349.          addc a,r4
  350.          addc a,r5
  351.          addc a,r6
  352.          addc a,r7
  353.          ajmp stest
  354.          anl a,#forward2
  355.          anl a,#forward1
  356.          anl a,00
  357.          anl a,forward1
  358.          anl a,@r0
  359.          anl a,@r1
  360.          anl a,r0
  361.          anl a,r1
  362.          anl a,r2
  363.          anl a,r3
  364.          anl a,r4
  365.          anl a,r5
  366.          anl a,r6
  367.          anl a,r7
  368.          anl forward2,a
  369.          anl forward1,a
  370.          anl forward2,#forward2
  371.          anl forward2,#forward1
  372.          anl forward1,#forward2
  373.          anl forward1,#forward1
  374.          anl c,00
  375.          anl c,forward1
  376.          anl c,/00
  377.          anl c,/forward1
  378. rloop3:  cjne a,forward2,rloop3
  379.          cjne a,forward1,rloop3
  380.          cjne a,#forward2,rloop3
  381.          cjne a,#forward1,rloop3
  382.          cjne r0,#forward2,rloop3
  383.          cjne r1,#forward1,rloop3
  384.          cjne r2,#forward2,rloop3
  385.          cjne r3,#forward1,rloop3
  386.          cjne r4,#forward2,rloop3
  387.          cjne r5,#forward1,rloop3
  388.          cjne r6,#forward2,rloop3
  389.          cjne r7,#forward1,rloop3
  390.          cjne @r0,#forward2,rloop3
  391.          cjne @r1,#forward1,rloop3
  392.          clr a
  393.          clr forward2
  394.          clr forward1
  395.          clr c
  396.          cpl a
  397.          cpl forward2
  398.          cpl forward1
  399.          cpl c
  400.          da a
  401.          dec a
  402.          dec r0
  403.          dec r1
  404.          dec r2
  405.          dec r3
  406.          dec r4
  407.          dec r5
  408.          dec r6
  409.          dec r7
  410.          dec forward2
  411.          dec forward1
  412.          dec @r0
  413.          dec @r1
  414.          div ab
  415. loop2:   djnz r0,loop2
  416.          djnz r1,loop2
  417.          djnz r2,loop2
  418.          djnz r3,loop2
  419.          djnz r4,loop2
  420.          djnz r5,loop2
  421.          djnz r6,loop2
  422.          djnz r7,loop2
  423.          djnz forward2,loop2
  424.          djnz forward1,loop2
  425.          inc a
  426.          inc r0
  427.          inc r1
  428.          inc r2
  429.          inc r3
  430.          inc r4
  431.          inc r5
  432.          inc r6
  433.          inc r7
  434.          inc forward2
  435.          inc forward1
  436.          inc @r0
  437.          inc @r1
  438.          inc dptr
  439. loop3:   jb  forward2,loop3
  440.          jb  forward1,loop3
  441.          jbc  forward2,loop3
  442.          jbc  forward1,loop3
  443.          jc loop3
  444.          jmp @a+dptr
  445.          jnb  forward2,loop3
  446.          jnb  forward1,loop3
  447.          jnc loop3
  448.          jnz loop3
  449.          jz loop3
  450.          lcall stest
  451.          ljmp stest
  452.          mov a,r0
  453.          mov a,r1
  454.          mov a,r2
  455.          mov a,r3
  456.          mov a,r4
  457.          mov a,r5
  458.          mov a,r6
  459.          mov a,r7
  460.          mov a,forward2
  461.          mov a,forward1
  462.          mov a,@r0
  463.          mov a,@r1
  464.          mov a,#forward2
  465.          mov a,#forward1
  466.          mov r0,#forward2
  467.          mov r0,#forward1
  468.          mov r0,forward2
  469.          mov r0,forward1
  470.          mov r0,a
  471.          mov r1,#forward2
  472.          mov r1,#forward1
  473.          mov r1,forward2
  474.          mov r1,forward1
  475.          mov r1,a
  476.          mov r2,#forward2
  477.          mov r2,#forward1
  478.          mov r2,forward2
  479.          mov r2,forward1
  480.          mov r2,a
  481.          mov r3,#forward2
  482.          mov r3,#forward1
  483.          mov r3,forward2
  484.          mov r3,forward1
  485.          mov r3,a
  486.          mov r4,#forward2
  487.          mov r4,#forward1
  488.          mov r4,forward2
  489.          mov r4,forward1
  490.          mov r4,a
  491.          mov r5,#forward2
  492.          mov r5,#forward1
  493.          mov r5,forward2
  494.          mov r5,forward1
  495.          mov r5,a
  496.          mov r6,#forward2
  497.          mov r6,#forward1
  498.          mov r6,forward2
  499.          mov r6,forward1
  500.          mov r6,a
  501.          mov r7,#forward2
  502.          mov r7,#forward1
  503.          mov r7,forward2
  504.          mov r7,forward1
  505.          mov r7,a
  506.          mov forward2,a
  507.          mov forward2,r0
  508.          mov forward2,r1
  509.          mov forward2,r2
  510.          mov forward2,r3
  511.          mov forward2,r4
  512.          mov forward2,r5
  513.          mov forward2,r6
  514.          mov forward2,r7
  515.          mov forward2,forward2
  516.          mov forward2,forward1
  517.          mov forward2,@r0
  518.          mov forward2,@r1
  519.          mov forward2,#forward2
  520.          mov forward2,#forward1
  521.          mov forward1,a
  522.          mov forward1,r0
  523.          mov forward1,r1
  524.          mov forward1,r2
  525.          mov forward1,r3
  526.          mov forward1,r4
  527.          mov forward1,r5
  528.          mov forward1,r6
  529.          mov forward1,r7
  530.          mov forward1,forward2
  531.          mov forward1,forward1
  532.          mov forward1,@r0
  533.          mov forward1,@r1
  534.          mov forward1,#forward2
  535.          mov forward1,#forward1
  536.          mov @r0,#forward2
  537.          mov @r0,#forward1
  538.          mov @r0,forward2
  539.          mov @r0,forward1
  540.          mov @r0,a
  541.          mov @r1,#forward2
  542.          mov @r1,#forward1
  543.          mov @r1,forward2
  544.          mov @r1,forward1
  545.          mov @r1,a
  546.          mov c,forward2
  547.          mov c,forward1
  548.          mov forward2,c
  549.          mov forward1,c
  550.          mov dptr,#forward2ff
  551.          mov dptr,#forward100
  552.          movc a,@a+dptr
  553.          movc a,@a+pc
  554.          movx a,@r0
  555.          movx a,@r1
  556.          movx a,@dptr
  557.          movx @r0,a
  558.          movx @r1,a
  559.          movx @dptr,a
  560.          mul ab
  561.          nop
  562.          orl a,#forward2
  563.          orl a,#forward1
  564.          orl a,00
  565.          orl a,forward1
  566.          orl a,@r0
  567.          orl a,@r1
  568.          orl a,r0
  569.          orl a,r1
  570.          orl a,r2
  571.          orl a,r3
  572.          orl a,r4
  573.          orl a,r5
  574.          orl a,r6
  575.          orl a,r7
  576.          orl forward2,a
  577.          orl forward1,a
  578.          orl forward2,#forward2
  579.          orl forward2,#forward1
  580.          orl forward1,#forward2
  581.          orl forward1,#forward1
  582.          orl c,00
  583.          orl c,forward1
  584.          orl c,/00
  585.          orl c,/forward1
  586.          pop forward2
  587.          pop forward1
  588.          push forward2
  589.          push forward1
  590.          ret
  591.          reti
  592.          rl a
  593.          rlc a
  594.          rr a
  595.          rrc a
  596.          setb forward2
  597.          setb forward1
  598.          setb c
  599. rloop:   sjmp rloop
  600.          subb a,#forward2
  601.          subb a,#forward1
  602.          subb a,00
  603.          subb a,forward1
  604.          subb a,@r0
  605.          subb a,@r1
  606.          subb a,r0           ;test all 8051 opcodes in all configurations
  607.          subb a,r1           ;all machine mnemonics copyright Intel corp. 1976
  608.          subb a,r2
  609.          subb a,r3
  610.          subb a,r4
  611.          subb a,r5
  612.          subb a,r6
  613.          subb a,r7
  614.          swap a
  615.          xch a,@r0
  616.          xch a,@r1
  617.          xch a,r0
  618.          xch a,r1
  619.          xch a,r2
  620.          xch a,r3
  621.          xch a,r4
  622.          xch a,r5
  623.          xch a,r6
  624.          xch a,r7
  625.          xch a,forward2
  626.          xch a,forward1
  627.          xchd a,@r0
  628.          xchd a,@r1
  629.          xrl a,#forward2
  630.          xrl a,#forward1
  631.          xrl a,00
  632.          xrl a,forward1
  633.          xrl a,@r0
  634.          xrl a,@r1
  635.          xrl a,r0
  636.          xrl a,r1
  637.          xrl a,r2
  638.          xrl a,r3
  639.          xrl a,r4
  640.          xrl a,r5
  641.          xrl a,r6
  642.          xrl a,r7
  643.          xrl forward2,a
  644.          xrl forward1,a
  645.          xrl forward2,#forward2
  646.          xrl forward2,#forward1
  647.          xrl forward1,#forward2
  648.          xrl forward1,#forward1
  649. synctst:
  650. farloop: .equ forward1,h'ff
  651.          .equ forward2,h'00
  652.          .end
  653.