home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 15 / CDACTUAL15.iso / cdactual / program / asm / PS_A96.ZIP / MNEM196.ASM < prev    next >
Encoding:
Assembly Source File  |  1989-08-31  |  6.7 KB  |  286 lines

  1.          .org 0
  2.           ;test all 8096 opcodes in all configurations
  3.          br  [op1]
  4.          br  [0x20]
  5.          add op1,op2
  6.          add op1,op2,op3
  7.          add op1,far2
  8.          add op1,op2,far3
  9.          addb op1,op2
  10.          addb op1,op2,op3
  11.          addb op1,far2
  12.          addb op1,op2,far3
  13.          add op1,#h'00
  14.          add op1,op2,#h'ff
  15.          add op1,far2
  16.          add op1,op2,far3
  17.          addb op1,#h'00
  18.          addb op1,op2,#h'ff
  19.          addb op1,far2
  20.          addb op1,op2,far3
  21.          lcall longtest
  22.          ljmp longtest
  23.          sjmp sj0
  24.          sjmp sj1
  25.          sjmp sj2
  26.          sjmp sj3
  27.          sjmp sj4
  28.          add op1,[op1]
  29.          add op1,op2,op2[op1]
  30.          add op1,op2,-128[op1]
  31.          addb op1,op2,127[op1]
  32.          add op1,far5
  33.          add op1,op2,far3
  34.          addb op1,[op1]+
  35.          addb op1,op2,op2[op1]
  36.          addb op1,far5
  37.          addb op1,op2,far3
  38.          push op1
  39.          pop op1
  40.          .equ op1,32
  41.          .equ op2,128
  42.          .equ op3,132
  43.          .equ far2,1024
  44.          .equ far3,2048
  45.          add op1,op2
  46.          add op1,op2,op3
  47.          add op1,far2
  48.          add op1,op2,far3
  49.          addb op1,op2
  50.          addb op1,op2,op3
  51.          addb op1,far2
  52.          addb op1,op2,far3
  53.          addc op1,op2
  54.          addcb op1,op2
  55.          sub  op1,op2
  56.          sub  op1,op2,op3
  57.          subb  op1,op2
  58.          subb  op1,op2,op3
  59.          subc  op1,op2
  60.          subcb op1,op2
  61.          subcb op1,op2+1
  62.          subcb op1,#op2
  63.          cmp  op1,op2
  64.          cmpl  op1,op2  ;80196 instruction
  65.          bmov  op1,op2  ;80196 instruction
  66.          cmpb  op1,op2
  67.          mulu op1,op2
  68.          mulu op1,op2,op3
  69.          mulub op1,op2
  70.          mulub op1,op2,op3
  71.          mul op1,op2
  72.          mul op1,op2,op3
  73.          mulb op1,op2
  74.          mulb op1,op2,op3
  75.          divu op1,op2
  76.          divub op1,op2
  77.          div op1,op2
  78.          divb op1,op2
  79.          and op1,op2
  80.          and op1,op2,op3
  81.          andb op1,op2
  82.          andb op1,op2,op3
  83.          or op1,op2
  84.          orb op1,op2
  85.          xor op1,op2
  86.          xorb op1,op2
  87.          ld op1,op2
  88.          ldb op1,op2
  89.          ld op1,#h'00
  90.          ld op1,#h'ff
  91.          ld op1,#h'00ff
  92.          ldb op1,#00
  93.          ldb op1,#h'ff
  94.          st op1,op2
  95.          stb op1,op2
  96.          ldbse op1,op2
  97.          ldbze op1,op2
  98.          push op1
  99.          pop op1
  100.          pushf
  101.          popf
  102.          pusha      ;80196 instruction
  103.          popa       ;80196 instruction
  104.          idlpd #1   ;80196 instruction
  105.          idlpd #2   ;80196 instruction
  106.          ljmp longtest
  107. stest:   sjmp stest
  108.          indjmp op1
  109.          lcall longtest
  110.          scall stest
  111.          ret
  112.          djnz op1,rtest
  113.          djnzw op1,rtest    ;80196 instruction
  114.          jc rtest
  115.          jnc rtest
  116. rtest:   jh rtest
  117.          jnh rtest
  118.          je rtest
  119.          jne rtest
  120.          jv rtest
  121.          jnv rtest
  122.          jge rtest
  123.          jlt rtest
  124.          jvt rtest
  125.          jnvt rtest
  126.          jgt rtest
  127.          jle rtest
  128.          jst rtest
  129.          jnst rtest
  130.          jbc op1,0,rtest
  131.          jbs op1,7,rtest
  132.          djnz op27,rtest
  133.          djnzw op27,rtest  ;80196 instruction
  134.          .equ op27,46
  135.          dec op1
  136.          decb op1
  137.          neg op1
  138.          negb op1
  139.          inc op1
  140.          incb op1
  141.          ext op1
  142.          extb op1
  143.          not op1
  144.          notb op1
  145.          clr op1
  146.          clrb op1
  147.          shl op1,0
  148.          shl op1,15
  149.          shl op1,#15
  150.          shl op1,op1
  151.          shr op1,0
  152.          shra op1,0
  153.          shlb op1,0
  154.          shrb op1,0
  155.          shrab op1,0
  156.          shll op1,0
  157.          shrl op1,0
  158.          shral op1,0
  159.          setc
  160.          clrc
  161.          clrvt
  162.          rst
  163.          di
  164.          ei
  165.          nop
  166.          skip op1
  167. synct1:  norml op1,op2
  168.  
  169.          add op1,#h'00
  170.          add op1,op2,#h'ff
  171.          add op1,far2
  172.          add op1,op2,far3
  173.          addb op1,#h'00
  174.          addb op1,op2,#h'ff
  175.          addb op1,far2
  176.          addb op1,op2,far3
  177.          addc op1,#h'00
  178.          sub  op1,#h'00
  179.          sub  op1,op2,#h'ff
  180.          subb  op1,#h'00
  181.          subb  op1,op2,#h'ff
  182.          subc  op1,#h'00
  183.          subcb op1,#h'00
  184.          cmp  op1,#h'00
  185.          cmpb  op1,#h'00
  186.          mulu op1,#h'00
  187.          mulu op1,op2,#h'ff
  188.          mulub op1,#h'00
  189.          mulub op1,op2,#h'ff
  190.          mul op1,#h'00
  191.          mul op1,op2,#h'ff
  192.          mulb op1,#h'00
  193.          mulb op1,op2,#h'ff
  194.          divu op1,#h'00
  195.          divub op1,#h'00
  196.          div op1,#h'00
  197.          divb op1,#h'00
  198.          and op1,#h'00
  199.          and op1,op2,#h'ff
  200.          andb op1,#h'00
  201.          andb op1,op2,#h'ff
  202.          orb op1,#h'00
  203.          orb op1,#h'00
  204.          xorb op1,#h'00
  205.          xorb op1,#h'00
  206.          ld op1,#h'00
  207.          ldb op1,#h'00
  208.          ld op1,#h'00
  209.          ld op1,#h'ff
  210.          ld op1,#h'00ff
  211.          ldb op1,#00
  212.          ldb op1,#h'ff
  213.          ldbse op1,#h'ff
  214.          ldbze op1,#h'00
  215.          push #h'00
  216. synct2:  norml op1,48
  217.  
  218.          add op1,[op1]
  219.          add op1,op2,op2[op1]
  220.          add op1,op2,-128[op1]
  221.          addb op1,op2,127[op1]
  222.          add op1,far5
  223.          add op1,op2,far3
  224.          addb op1,[op1]+
  225.          addb op1,op2,op2[op1]
  226.          addb op1,far5
  227.          addb op1,op2,far3
  228.          addc op1,[op1]
  229.          sub  op1,[op1]+
  230.          sub  op1,op2,op2[op1]
  231.          subb  op1,[op1]
  232.          subb  op1,op2,op2[op1]
  233.          subc  op1,[op1]
  234.          subcb op1,[op1]
  235.          cmp  op1,[op1]
  236.          cmpb  op1,[op1]
  237.          mulu op1,[op1]
  238.          mulu op1,op2,op2[op1]
  239.          mulub op1,[op1]
  240.          mulub op1,op2,op2[op1]
  241.          mul op1,[op1]
  242.          mul op1,op2,op2[op1]
  243.          mulb op1,[op1]
  244.          mulb op1,op2,op2[op1]
  245.          divu op1,[op1]
  246.          divub op1,[op1]
  247.          div op1,[op1]
  248.          divb op1,[op1]
  249.          and op1,[op1]
  250.          and op1,op2,op2[op1]
  251.          andb op1,[op1]
  252.          andb op1,op2,op2[op1]
  253.          orb op1,[op1]
  254.          orb op1,[op1]
  255.          xorb op1,[op1]
  256.          xorb op1,[op1]
  257.          ld op1,[op1]
  258.          ldb op1,[op1]
  259.          ld op1,[op1]
  260.          ld op1,op2[op1]
  261.          ld op1,[op1]
  262.          ldb op1,#00
  263.          ldb op1,op2[op1]
  264.          st op1,[op1]+
  265.          stb op1,[op1]+
  266.          ldbse op1,[op2]
  267.          ldbze op2,[op1]
  268.          push [op1]
  269.          pop [op1]
  270. synctst:
  271. farloop: .equ forward1,h'ff
  272. far5:    .equ forward2,h'00
  273. sj0:     .org h'0000
  274. sj1:     .org h'0100
  275. sj2:     .org h'0200
  276. sj3:     .org h'0300
  277. sj4:     .org h'0400
  278.          sjmp sj1
  279.          sjmp sj2
  280.          sjmp sj3
  281.          sjmp sj4
  282.          sjmp *-1022
  283.          sjmp *+1025
  284.  
  285. longtest:.end
  286.