Subversion Repositories pentevo

Rev

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

  1.         cpu     mn1610alt
  2.         page    0
  3.  
  4.         nop                             ; = MV R0,R0
  5.  
  6.         irp     instr,l,st
  7.         instr   r2,0
  8.         instr   r2,20
  9.         instr   r2,10+10
  10.         instr   r2,(ic)
  11.         instr   r2,10(ic)
  12.         instr   r2,10 (ic)
  13.         instr   r2,5 + 5 (ic)
  14.         instr   r2,5+5(ic)
  15.         instr   r2,-20(ic)
  16.         instr   r2,-20(ic)
  17.         instr   r2,-10-10(ic)
  18.         instr   r2,(20)
  19.         instr   r2,(10+10)
  20.         instr   r2,((ic))
  21.         instr   r2,(10(ic))
  22.         instr   r2,(10 (ic))
  23.         instr   r2,(5 + 5 (ic))
  24.         instr   r2,(5+5(ic))
  25.         instr   r2,(-20 (ic))
  26.         instr   r2,(-20(ic))
  27.         instr   r2,(-10-10(ic))
  28.         instr   r2,(x0)
  29.         instr   r2,10 (x0)
  30.         instr   r2,5 + 5 (x0)
  31.         instr   r2,10(x0)
  32.         instr   r2,5+5(x0)
  33.         instr   r2,(x1)
  34.         instr   r2,10 (x1)
  35.         instr   r2,5 + 5 (x1)
  36.         instr   r2,10(x1)
  37.         instr   r2,5+5(x1)
  38.         instr   r2,(10)(x0)
  39.         instr   r2,(5 + 5)(x0)
  40.         instr   r2,(10) (x0)
  41.         instr   r2,(10)(x1)
  42.         instr   r2,(5 + 5)(x1)
  43.         instr   r2,(10) (x1)
  44.         endm
  45.  
  46.         irp     instr,b,bal,ims,dms
  47.         instr   0
  48.         instr   20
  49.         instr   10+10
  50.         instr   (ic)
  51.         instr   10(ic)
  52.         instr   +10(ic)
  53.         instr   5 + 5 (ic)
  54.         instr   5+5(ic)
  55.         instr   -20(ic)
  56.         instr   -20 (ic)
  57.         instr   -10-10(ic)
  58.         instr   (20)
  59.         instr   (10+10)
  60.         instr   ((ic))
  61.         instr   (10(ic))
  62.         instr   (10 (ic))
  63.         instr   (5 + 5 (ic))
  64.         instr   (5+5(ic))
  65.         instr   (-20(ic))
  66.         instr   (-20 (ic))
  67.         instr   (-10-10(ic))
  68.         instr   (x0)
  69.         instr   10(x0)
  70.         instr   5 + 5 (x0)
  71.         instr   10 (x0)
  72.         instr   5+5(x0)
  73.         instr   (x1)
  74.         instr   10(x1)
  75.         instr   5 + 5 (x1)
  76.         instr   10 (x1)
  77.         instr   5+5(x1)
  78.         instr   (10)(x0)
  79.         instr   (5 + 5)(x0)
  80.         instr   (10) (x0)
  81.         instr   (10)(x1)
  82.         instr   (5 + 5)(x1)
  83.         instr   (10) (x1)
  84.         endm
  85.  
  86.         irp     instr,a,s,c,cb,mv,mvb,bswp,dswp,lad,and,or,eor
  87.         irp     Rd,r0,r1,r2,r3,x0,r4,x1,sp,str
  88.         irp     Rs,r0,r1,r2,r3,x0,r4,x1,sp,str
  89.         instr   Rd,Rs
  90.         irp     Skip,,skp,m,pz,z,nz,mz,p,ez,enz,oz,onz,lmz,lp,lpz,lm
  91.         instr   Rd,Rs,Skip
  92.         endm
  93.         endm
  94.         endm
  95.         endm
  96.  
  97.         irp     instr,sl,sr
  98.         instr   r4
  99.         instr   r4,
  100.         instr   r4,re
  101.         instr   r4,se
  102.         instr   r4,ce
  103.         instr   r4,,
  104.         instr   r4,re,
  105.         instr   r4,se,
  106.         instr   r4,ce,
  107.         instr   r4,,z
  108.         instr   r4,re,z
  109.         instr   r4,se,z
  110.         instr   r4,ce,z
  111.         endm
  112.  
  113.         irp     instr,sbit,rbit,tbit,ai,si
  114.         instr   r2,10
  115.         instr   r3,15,nz
  116.         endm
  117.  
  118.         lpsw    2
  119.  
  120.         h
  121.  
  122.         push    r0
  123.         push    r1
  124.         push    r2
  125.         push    r3
  126.         push    x0
  127.         push    r4
  128.         push    x1
  129.         push    sp
  130.         push    str
  131.  
  132.         pop     r0
  133.         pop     r1
  134.         pop     r2
  135.         pop     r3
  136.         pop     x0
  137.         pop     r4
  138.         pop     x1
  139.         pop     sp
  140.         pop     str
  141.  
  142.         ret
  143.  
  144.         rd      r0,X'12'
  145.         rd      r1,X'23'
  146.         rd      r2,X'34'
  147.         rd      r3,X'45'
  148.         rd      x0,X'45'
  149.         rd      r4,X'56'
  150.         rd      x1,X'56'
  151.         rd      sp,X'67'
  152.         rd      str,X'78'
  153.  
  154.         wt      r0,X'12'
  155.         wt      r1,X'23'
  156.         wt      r2,X'34'
  157.         wt      r3,X'45'
  158.         wt      x0,X'45'
  159.         wt      r4,X'56'
  160.         wt      x1,X'56'
  161.         wt      sp,X'67'
  162.         wt      str,X'78'
  163.  
  164.         mvi     r0,X'12'
  165.         mvi     r1,X'23'
  166.         mvi     r2,X'34'
  167.         mvi     r3,X'45'
  168.         mvi     x0,X'45'
  169.         mvi     r4,X'56'
  170.         mvi     x1,X'56'
  171.         mvi     sp,X'67'
  172.         mvi     str,X'78'
  173.  
  174.         ; some addressing combinations that shall *NOT* work:
  175.  
  176.         expect  1330            ; distance too big (for PC-relative addressing)
  177.         l       r4,X'100'
  178.         endexpect
  179.         expect  1320
  180.         l       r4,(X'100')
  181.         endexpect
  182.  
  183.         expect  1320            ; displacement under/overflow
  184.         l       r4,130(ic)
  185.         endexpect
  186.         expect  1315
  187.         l       r4,-129(ic)
  188.         endexpect
  189.         expect  1320
  190.         l       r4,(130(ic))
  191.         endexpect
  192.         expect  1315
  193.         l       r4,(-129(ic))
  194.         endexpect
  195.  
  196.         expect  1320
  197.         l       r4,X'100'(x0)
  198.         endexpect
  199.         expect  1320
  200.         l       r4,X'100'(x1)
  201.         endexpect
  202.         expect  1320
  203.         l       r4,(X'100')(x0)
  204.         endexpect
  205.         expect  1320
  206.         l       r4,(X'100')(x1)
  207.         endexpect
  208.  
  209.         expect  1350
  210.         l       r4,((X'80')(x0))
  211.         endexpect
  212.         expect  1350
  213.         l       r4,(X'80'(x0))
  214.         endexpect
  215.         expect  1350
  216.         l       r4,((x'40')(ic))
  217.         endexpect
  218.         expect  1350
  219.         l       r4,(x'40')(ic)
  220.         endexpect
  221.  
  222.         packing on
  223.  
  224.         dc      0
  225.         expect  1320
  226.         dc      65535
  227.         endexpect
  228.         expect  1315
  229.         dc      -32768
  230.         endexpect
  231.         dc      'A'
  232.         dc      'AB'
  233.         dc      'ABC'   ; treated like "ABC" due to length > 16 bit
  234.         dc      "A"
  235.         dc      "AB"
  236.         dc      "ABC"
  237.         dc      "ABCD"
  238.         dc      "ABCDE"
  239.         dc      "ABCDEF"
  240.  
  241.         packing off
  242.  
  243.         dc      0
  244.         dc      65535
  245.         dc      -32768
  246.         dc      'A'
  247.         dc      'AB'
  248.         dc      'ABC'   ; treated like "ABC" due to length > 16 bit
  249.         dc      "A"
  250.         dc      "AB"
  251.         dc      "ABC"
  252.         dc      "ABCD"
  253.         dc      "ABCDE"
  254.         dc      "ABCDEF"
  255.  
  256.