Subversion Repositories pentevo

Rev

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

  1.         cpu     sh7600
  2.         page    0
  3.         supmode on
  4.  
  5.         rts
  6.         rte
  7.         rtb
  8.         clrt
  9.         sett
  10.         clrmac
  11.         nop
  12.         sleep
  13.         div0u
  14.         brk
  15.  
  16.         movt    r4
  17.         cmp/pz  r6
  18.         cmp/pl  r12
  19.         rotl    r5
  20.         rotr    sp
  21.         rotcl   r8
  22.         rotcr   r2
  23.         shal    r1
  24.         shar    r13
  25.         shll    r9
  26.         shlr    r11
  27.         shll2   r4
  28.         shlr2   r10
  29.         shll8   r15
  30.         shlr8   r3
  31.         shll16  r5
  32.         shlr16  r7
  33.         stbr    r5
  34.         ldbr    sp
  35.         dt      r6
  36.  
  37.         tas     @sp
  38.  
  39.         xtrct   r0,r1
  40.         addc    r1,r2
  41.         addv    r2,r3
  42.         cmp/hs  r3,r4
  43.         cmp/ge  r4,r5
  44.         cmp/hi  r5,r6
  45.         cmp/gt  r6,r7
  46.         cmp/str r7,r8
  47.         div1    r8,r9
  48.         div0s   r9,r10
  49.         muls.w  r10,r11
  50.         mulu.w  r11,r12
  51.         neg     r12,r13
  52.         negc    r13,r14
  53.         sub     r14,r15
  54.         subc    r15,r0
  55.         subv    r0,r1
  56.         not     r1,r2
  57.         dmuls.l r2,r3
  58.         dmulu.l r3,r4
  59.         mul     r4,r5
  60.  
  61.         swap.b  r5,r10
  62.         swap.w  r6,r11
  63.         exts.b  r7,r12
  64.         exts.w  r8,r13
  65.         extu.b  r9,r14
  66.         extu.w  r10,r15
  67.  
  68.         add     r3,r5
  69.         add     #-30,r4
  70.         cmp/eq  r3,r5
  71.         cmp/eq  #-30,r0
  72.         mac     @r5+,@r7+
  73.         mac.l   @r5+,@r7+
  74.  
  75.         and     r5,r9
  76.         and     #30,r0
  77.         and.b   #$55,@(r0,gbr)
  78.  
  79.         or      r7,sp
  80.         or      #%10111011,r0
  81.         or      #123,@(gbr,r0,3-5+2)
  82.  
  83.         tst     r4,r12
  84.         tst.l   #20,r0
  85.         tst.b   #33,@(r0,gbr)
  86.  
  87.         xor     r5,r3
  88.         xor.l   #45,r0
  89.         xor     #%10,@(gbr,r0)
  90.  
  91.  
  92.         bt      targ
  93. targ:   bf      targ
  94.         bt/s    targ
  95.         expect  200
  96.          bf/s    targ
  97.         endexpect
  98.         expect  200
  99.          bra     targ
  100.         endexpect
  101.         expect  200
  102.          braf    r2
  103.         endexpect
  104.         expect  200
  105.          bsr     targ
  106.         endexpect
  107.         expect  200
  108.          jmp     @r5
  109.         endexpect
  110.         expect  200
  111.          jsr     @r10
  112.         endexpect
  113.  
  114.         ldc     r5,sr
  115.         ldc     r10,gbr
  116.         ldc     r7,vbr
  117.         ldc     @r6+,sr
  118.         ldc     @r9+,gbr
  119.         ldc     @r13+,vbr
  120.         stc     sr,r4
  121.         stc     gbr,r3
  122.         stc     vbr,r7
  123.         stc     sr,@-r6
  124.         stc     gbr,@-r4
  125.         stc     vbr,@-r14
  126.         lds     r5,mach
  127.         lds     r10,macl
  128.         lds     r7,pr
  129.         lds     @r6+,mach
  130.         lds     @r9+,macl
  131.         lds     @r13+,pr
  132.         sts     mach,r4
  133.         sts     macl,r3
  134.         sts     pr,r7
  135.         sts     mach,@-r6
  136.         sts     macl,@-r4
  137.         sts     pr,@-r14
  138.  
  139.         mova    ldata,r0
  140.  
  141.         mov.l   r5,r13
  142.  
  143.         mov.b   r1,@-r2
  144.         mov.b   @r2+,r1
  145.         mov.w   r3,@-r4
  146.         mov.w   @r4+,r3
  147.         mov.l   r6,@-r5
  148.         mov.l   @r5+,r6
  149.  
  150.         mov.b   r12,@r5
  151.         mov.b   @r5,r12
  152.         mov.w   r5,@r14
  153.         mov.w   @r14,r5
  154.         mov.l   r7,@r7
  155.         mov.l   @r7,r7
  156.  
  157.         mov.b   r0,@(r6,3)
  158.         mov.b   @(r6,1+2),r0
  159.         mov.w   r0,@(10,r12)
  160.         mov.w   @(10,r12),r0
  161.         mov.l   r7,@(60,r3)
  162.         mov.l   @(2*30,r3),r7
  163.  
  164.         mov.b   r4,@(r0,r5)
  165.         mov.b   @(r5,r0),r4
  166.         mov.w   r6,@(r0,r10)
  167.         mov.w   @(r10,r0),r6
  168.         mov.l   r7,@(r0,r6)
  169.         mov.l   @(r6,r0),r7
  170.  
  171.         mov.b   r0,@(gbr,30)
  172.         mov.b   @(30,gbr),r0
  173.         mov.w   r0,@(gbr,60)
  174.         mov.w   @(10,5*5*2,gbr),r0
  175.         mov.l   r0,@(gbr,120)
  176.         mov.l   @(120,gbr),r0
  177.  
  178.         mov     #120,r4
  179.         mov.w   wdata,r3
  180.         mov.l   ldata,r12
  181.  
  182.         trapa   #$21
  183.  
  184.         mov     #$1234,r3
  185.         mov     #$8000,r3
  186.         mov     #$11223344,r3
  187.         mov     #$0000,r3
  188.         mov     #$1122,r3
  189.         mov     #$3344,r3
  190.  
  191.         bra     next
  192.         mov     #$1234,r3
  193.         bra     next
  194.         mov     #$11223344,r3
  195.         nop
  196. next:   nop
  197.         nop
  198.  
  199.         section test
  200.         mov     #$1234,r5
  201.         nop
  202.         ltorg
  203.         endsection
  204.  
  205.         align   4
  206. ldata:  dc.l    $12345678
  207. wdata:  dc.w    $1234
  208.  
  209.         ltorg
  210.  
  211.         cpu     sh7700
  212.  
  213.         clrs
  214.         sets
  215.         ldtlb
  216.  
  217.         ldc     r4,ssr
  218.         ldc     r4,spc
  219.         ldc     r4,r0_bank
  220.         ldc     r4,r1_bank
  221.         ldc     r4,r2_bank
  222.         ldc     r4,r3_bank
  223.         ldc     r4,r4_bank
  224.         ldc     r4,r5_bank
  225.         ldc     r4,r6_bank
  226.         ldc     r4,r7_bank
  227.         ldc.l   @r4+,ssr
  228.         ldc.l   @r4+,spc
  229.         ldc.l   @r4+,r0_bank
  230.         ldc.l   @r4+,r1_bank
  231.         ldc.l   @r4+,r2_bank
  232.         ldc.l   @r4+,r3_bank
  233.         ldc.l   @r4+,r4_bank
  234.         ldc.l   @r4+,r5_bank
  235.         ldc.l   @r4+,r6_bank
  236.         ldc.l   @r4+,r7_bank
  237.         stc     ssr,r4
  238.         stc     spc,r4
  239.         stc     r0_bank,r4
  240.         stc     r1_bank,r4
  241.         stc     r2_bank,r4
  242.         stc     r3_bank,r4
  243.         stc     r4_bank,r4
  244.         stc     r5_bank,r4
  245.         stc     r6_bank,r4
  246.         stc     r7_bank,r4
  247.         stc.l   ssr,@-r4
  248.         stc.l   spc,@-r4
  249.         stc.l   r0_bank,@-r4
  250.         stc.l   r1_bank,@-r4
  251.         stc.l   r2_bank,@-r4
  252.         stc.l   r3_bank,@-r4
  253.         stc.l   r4_bank,@-r4
  254.         stc.l   r5_bank,@-r4
  255.         stc.l   r6_bank,@-r4
  256.         stc.l   r7_bank,@-r4
  257.  
  258.         pref    @r5
  259.  
  260.         shad    r3,r7
  261.         shld    r12,sp
  262.  
  263.         dsp     on
  264.  
  265.         irp     reg,dsr,a0,x0,x1,y0,y1
  266.         lds     r7,reg
  267.         lds     @r9+,reg
  268.         endm
  269.  
  270.         irp     reg,dsr,a0,x0,x1,y0,y1
  271.         sts     reg,r7
  272.         sts     reg,@-r9
  273.         endm
  274.  
  275.         ; register aliases
  276.  
  277. regr0   reg     r0
  278. regr1   reg     r1
  279. regr2   reg     r2
  280. regr3   reg     r3
  281. regr4   reg     r4
  282. regr5   reg     r5
  283. regr6   reg     r6
  284. regr7   reg     r7
  285. regr8   reg     r8
  286. regr9   reg     r9
  287. regr10  reg     r10
  288. regr11  reg     r11
  289. regr12  reg     r12
  290. regr13  reg     r13
  291. regr14  reg     r14
  292. regr15  reg     r15
  293. regsp   equ     sp
  294.  
  295.         rotcl   r8
  296.         rotcl   regr8
  297.         tas     @sp
  298.         tas     @regsp
  299.         and.b   #$55,@(r0,gbr)
  300.         and.b   #$55,@(regr0,gbr)
  301.         mac.l   @r5+,@r7+
  302.         mac.l   @regr5+,@regr7+
  303.         stc     sr,@-r6
  304.         stc     sr,@-regr6
  305.