Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.         cpu     ibm5100
  2.         page    0
  3.  
  4. dest    reg     r5
  5. mask    equ     r12
  6. src     reg     r9
  7. ptr     equ     r13
  8.  
  9. dev1    port    x'a'
  10. dev2    port    b'1110'
  11.  
  12. var1    equ     x'aa'
  13. var2    equ     x'ac'
  14.  
  15.         ; basic jump instructions
  16.  
  17.         jle     dest,mask
  18.         jlo     dest,mask
  19.         jeq     dest,mask
  20.         jno     r1
  21.         jall    dest,mask
  22.         jallm   dest,mask
  23.         jnom    dest,mask
  24.         jham    dest,mask
  25.         jhi     dest,mask
  26.         jhe     dest,mask
  27.         jhl     dest,mask
  28.         jsb     r1
  29.         jsn     r5,r12
  30.         jsnm    dest,mask
  31.         jsm     dest,mask
  32.         jhsnm   dest,mask
  33.  
  34.         ; basic arithmetic
  35.  
  36.         mvm2    dest, src
  37.         mvm1    dest, src
  38.         mvp1    dest, src
  39.         mvp2    dest, src
  40.         move    dest, src
  41.         and     dest, src
  42.         or      dest, src
  43.         orb     dest, src
  44.         xor     dest, src
  45.         add     dest, src
  46.         sub     dest, src
  47.         adds1   dest, src
  48.         adds2   dest, src
  49.         htl     dest, src
  50.         lth     dest, src
  51.         getr    dev1, dest
  52.         geta    dev2, dest
  53.  
  54.         ; basic shift & rotate
  55.  
  56.         shftr   dest
  57.         rotr    dest
  58.         srr3    dest
  59.         srr4    dest
  60.  
  61.         ; direct load/store
  62.  
  63.         ldhd    dest,var1
  64.         expect  1351
  65.         ldhd    dest,var1+1
  66.         endexpect
  67.         sthd    src,var2
  68.         expect  1351
  69.         sthd    src,var2-1
  70.         endexpect
  71.  
  72.         ; indirect load/store
  73.  
  74.         ldhi    dest,ptr
  75.         ldhi    dest,ptr,0
  76.         ldhi    dest,ptr,1
  77.         ldhi    dest,ptr,2
  78.         ldhi    dest,ptr,3
  79.         ldhi    dest,ptr,4
  80.         expect  1320
  81.         ldhi    dest,ptr,5
  82.         endexpect
  83.         ldhi    dest,ptr,-1
  84.         ldhi    dest,ptr,-2
  85.         ldhi    dest,ptr,-3
  86.         ldhi    dest,ptr,-4
  87.         expect  1315
  88.         ldhi    dest,ptr,-5
  89.         endexpect
  90.  
  91.         sthi    dest,ptr
  92.         sthi    dest,ptr,0
  93.         sthi    dest,ptr,1
  94.         sthi    dest,ptr,2
  95.         sthi    dest,ptr,3
  96.         sthi    dest,ptr,4
  97.         expect  1320
  98.         sthi    dest,ptr,5
  99.         endexpect
  100.         sthi    dest,ptr,-1
  101.         sthi    dest,ptr,-2
  102.         sthi    dest,ptr,-3
  103.         sthi    dest,ptr,-4
  104.         expect  1315
  105.         sthi    dest,ptr,-5
  106.         endexpect
  107.  
  108.         ldbi    dest,ptr
  109.         ldbi    dest,ptr,0
  110.         ldbi    dest,ptr,1
  111.         ldbi    dest,ptr,2
  112.         ldbi    dest,ptr,3
  113.         ldbi    dest,ptr,4
  114.         expect  1320
  115.         ldbi    dest,ptr,5
  116.         endexpect
  117.         ldbi    dest,ptr,-1
  118.         ldbi    dest,ptr,-2
  119.         ldbi    dest,ptr,-3
  120.         ldbi    dest,ptr,-4
  121.         expect  1315
  122.         ldbi    dest,ptr,-5
  123.         endexpect
  124.  
  125.         stbi    dest,ptr
  126.         stbi    dest,ptr,0
  127.         stbi    dest,ptr,1
  128.         stbi    dest,ptr,2
  129.         stbi    dest,ptr,3
  130.         stbi    dest,ptr,4
  131.         expect  1320
  132.         stbi    dest,ptr,5
  133.         endexpect
  134.         stbi    dest,ptr,-1
  135.         stbi    dest,ptr,-2
  136.         stbi    dest,ptr,-3
  137.         stbi    dest,ptr,-4
  138.         expect  1315
  139.         stbi    dest,ptr,-5
  140.         endexpect
  141.  
  142.         ; immediate argument
  143.  
  144.         emit    dest,#x'aa'
  145.         emit    dest,x'aa'
  146.         clri    dest,#x'aa'
  147.         clri    dest,x'aa'
  148.         seti    dest,#x'aa'
  149.         seti    dest,x'aa'
  150.  
  151.         addi    dest,#x'aa'
  152.         addi    dest,x'aa'
  153.         addi    dest,#1
  154.         addi    dest,1
  155.         addi    dest,#256
  156.         addi    dest,256
  157.         expect  1315
  158.         addi    dest,#0
  159.         endexpect
  160.         expect  1320
  161.         addi    dest,#257
  162.         endexpect
  163.  
  164.         subi    dest,#x'aa'
  165.         subi    dest,x'aa'
  166.         subi    dest,#1
  167.         subi    dest,1
  168.         subi    dest,#256
  169.         subi    dest,256
  170.         expect  1315
  171.         subi    dest,#0
  172.         endexpect
  173.         expect  1320
  174.         subi    dest,#257
  175.         endexpect
  176.  
  177.         ; I/O
  178.  
  179.         ctl     dev2,#x'cf'
  180.         ctl     dev2,b'11001111'
  181.  
  182.         putb    dev2,ptr
  183.         putb    dev2,ptr,0
  184.         putb    dev2,ptr,1
  185.         putb    dev2,ptr,2
  186.         putb    dev2,ptr,3
  187.         putb    dev2,ptr,4
  188.         expect  1320
  189.         putb    dev2,ptr,5
  190.         endexpect
  191.         putb    dev2,ptr,-1
  192.         putb    dev2,ptr,-2
  193.         putb    dev2,ptr,-3
  194.         putb    dev2,ptr,-4
  195.         expect  1315
  196.         putb    dev2,ptr,-5
  197.         endexpect
  198.  
  199.         getb    dev1,ptr
  200.         getb    dev1,ptr,0
  201.         getb    dev1,ptr,1
  202.         getb    dev1,ptr,2
  203.         getb    dev1,ptr,3
  204.         getb    dev1,ptr,4
  205.         expect  1320
  206.         getb    dev1,ptr,5
  207.         endexpect
  208.         getb    dev1,ptr,-1
  209.         getb    dev1,ptr,-2
  210.         getb    dev1,ptr,-3
  211.         getb    dev1,ptr,-4
  212.         expect  1315
  213.         getb    dev1,ptr,-5
  214.         endexpect
  215.  
  216.         ; the same instructions in alphabetical order
  217.  
  218.         add     r13,r14         ; 0DE8
  219.         addi    r13,x'55'       ; AD54 (!)
  220.         adds1   r13,r14         ; 0DEA
  221.         adds2   r13,r14         ; 0DEB
  222.         and     r13,r14         ; 0DE5
  223.         clri    r13,x'55'       ; 9D55
  224.         ctl     13,#x'55'       ; 1D55
  225.         emit    r13,#x'55'      ; 8D55
  226.         geta    13,r14          ; 0DEF
  227.         getb    13,r14          ; EDE8
  228.         getr    13,r14          ; 0DEE
  229.         getrb   13,r14          ; EDEF (not listed in IBM document)
  230.         htl     r13,r14         ; 0DEC
  231.         jall    r13,r14         ; CDE4
  232.         jallm   r13,r14         ; CDE5
  233.         jeq     r13,r14         ; CDE2
  234.         jham    r13,r14         ; CDE7
  235.         jhe     r13,r14         ; CDE9
  236.         jhi     r13,r14         ; CDE8
  237.         jhl     r13,r14         ; CDEA
  238.         jhsnm   r13,r14         ; CDEF
  239.         jle     r13,r14         ; CDE0
  240.         jlo     r13,r14         ; CDE1
  241.         jno     r13             ; CD03
  242.         jnom    r13,r14         ; CDE6
  243.         jsb     r13             ; CD0B
  244.         jsm     r13,r14         ; CDEE
  245.         jsn     r13,r14         ; CDEC
  246.         jsnm    r13,r14         ; CDED
  247.         ldbi    r13,r14         ; 6DE8
  248.         ldhd    r13,x'aa'       ; 2D55
  249.         ldhi    r13,r14         ; DDE8
  250.         lth     r13,r14         ; 0DED
  251.         move    r13,r14         ; 0DE4
  252.         mvm1    r13,r14         ; 0DE1
  253.         mvm2    r13,r14         ; 0DE0
  254.         mvp1    r13,r14         ; 0DE2
  255.         mvp2    r13,r14         ; 0DE3
  256.         or      r13,r14         ; 0DE6
  257.         orb     r13,r14         ; 0DE6
  258.         putb    13,r14          ; 4DE8
  259.         rotr    r13             ; E0DD
  260.         seti    r13,x'55'       ; BD55
  261.         shftr   r13             ; E0DC
  262.         stbi    r13,r14         ; 7DE8
  263.         sthd    r13,x'aa'       ; 3D55
  264.         sthi    r13,r14         ; 5DE8
  265.         sub     r13,r14         ; 0DE9
  266.         subi    r13,x'55'       ; FD54 (!)
  267.         xor     r13,r14         ; 0DE7
  268.  
  269.         db      1,2,3,4
  270.         dw      1,2,3,4
  271.