.data foodata: .word 42 .text footext: .global add add: add r0, r1 add #0, r2 .global add2 add2: add2 #-1, r3 .global addc addc: addc r4, r5 .global addn addn: addn r6, r7 addn #15, r8 .global addn2 addn2: addn2 #-16, r9 .global sub sub: sub r10, r11 .global subc subc: subc r12, r13 .global subn subn: subn r14, r15 .global cmp cmp: cmp ac, fp cmp #1, sp .global cmp2 cmp2: cmp2 #-15, r0 .global and and: and r1, r2 and r3, @r4 .global andh andh: andh r5, @r6 .global andb andb: andb r7, @r8 .global or or: or r9, r10 or r11, @r12 .global orh orh: orh r13, @r14 .global orb orb: orb r15, @ac .global eor eor: eor fp, sp eor r0, @r1 .global eorh eorh: eorh r2, @r3 .global eorb eorb: eorb r4, @r5 .global bandl bandl: bandl #15, @r6 .global bandh nadh: bandh #7, @r7 .global borl borl: borl #3, @r8 .global borh borh: borh #13, @r9 .global beorl beorl: beorl #15, @r10 .global beorh beorh: beorh #1, @r11 .global btstl btstl: btstl #0, @r12 .global btsth btsth: btsth #8, @r13 .global mul mul: mul r14, r15 .global mulu mulu: mulu ac, fp .global muluh muluh: muluh sp, r0 .global mulh mulh: mulh r1, r2 .global div0s div0s: div0s r3 .global div0u div0u: div0u r4 .global div1 div1: div1 r5 .global div2 div2: div2 r6 .global div3 div3: div3 .global div4s div4s: div4s .global lsl lsl: lsl r7, r8 lsl #3, r9 .global lsl2 lsl2: lsl2 #0, r10 .global lsr lsr: lsr r11, r12 lsr #15, r13 .global lsr2 lsr2: lsr2 #15, r14 .global asr asr: asr r15, ac asr #6, fp .global asr2 asr2: asr2 #7, sp .global ldi_8 ldi_8: ldi:8 #0xff, r2 .global ld ld: ld @r3, r4 ld @(R13, r5), r6 ld @(R14, 0x1fc), r7 ld @(R15, 0x3c), r8 ld @r15+, r9 ld @r15+, ps ld @R15+, tbr ld @r15+, rp ld @R15+, ssp .global lduh lduh: lduh @r10, r11 lduh @(r13, r12), r13 lduh @(r14, #-256), r15 .global ldub ldub: ldub @ac, fp ldub @(r13, sp), r0 ldub @(r14, -128), r1 .global st st: st r2, @r3 st r4, @(r13, r5) st r6, @(r14, -512) st r7, @(r15, 0x3c) st r8, @ - r15 st MDH, @-r15 st PS, @ - r15 .global lsth sth: sth r9, @r10 sth r11, @(r13, r12) sth r13, @(r14, 128) .global stb stb: STB r14, @r15 stb r0, @(r13, r1) STB r2, @(r14, -128) .global mov mov: mov r3, r4 MOV mdl, r5 mov ps, r6 mov r7, usp mov r8, ps .global jmp jmp: jmp @r9 .global ret ret: ret .global bra bra: bra footext .global bno bno: bno footext .global beq beq: beq footext .global bne bne: bne footext .global bc bc: bc footext .global bnc bnc: bnc footext .global bn bn: bn footext .global bp bp: bp footext .global bv bv: bv footext .global bnv bnv: bnv footext .global blt blt: blt footext .global bge bge: bge footext .global ble ble: ble footext .global bgt bgt: bgt footext .global bls bls: bls footext .global bhi bhi: bhi footext delay_footext: .global jmp_d jmp_d: jmp:d @r11 nop .global ret_d ret_d: ret:d nop .global bra_d bra_d: bra:D delay_footext nop .global bno_d bno_d: bno:d delay_footext nop .global beq_d beq_d: beq:D delay_footext nop .global bne_d bne_d: bne:d delay_footext nop .global bc_d bc_d: bc:d delay_footext nop .global bnc_d bnc_d: bnc:d delay_footext nop .global bn_d bn_d: bn:d delay_footext nop .global bp_d bp_d: bp:d delay_footext nop .global bv_d bv_d: bv:d delay_footext nop .global bnv_d bnv_d: bnv:d delay_footext nop .global blt_d blt_d: blt:d delay_footext nop .global bge_d bge_d: bge:d delay_footext nop .global ble_d ble_d: ble:d delay_footext nop .global bgt_d bgt_d: bgt:d delay_footext nop .global bls_d bls_d: bls:d delay_footext nop .global bhi_d bhi_d: bhi:d delay_footext nop .global ldres ldres: ldres @r2+, #8 .global stres stres: stres #15, @r3+ .global nop nop: nop .global andccr andccr: andccr #255 .global orccr orccr: orccr #125 .global stilm stilm: stilm #97 .global addsp addsp: addsp #-512 .global extsb extsb: extsb r9 .global extub extub: extub r10 .global extsh extsh: extsh r11 .global extuh extuh: extuh r12 .global enter enter: enter #1020 .global leave leave: leave .global xchb xchb: xchb @r14, r15 .global ldi_32 ldi_32: ldi:32 #0x12345678, r0 .global copop copop: copop #15, #1, cr3, cr4 copop #15, #4, cr5, cr6 copop #15, #255, cr7, cr0 .global copld copld: copld #0, #0, r4, cr0 .global copst copst: copst #7, #2, cr1, r5 .global copsv copsv: copsv #8, #3, cr2, r6 .global ldm0 ldm0: ldm0 (r0, r2, r3, r7) .global ldm1 ldm1: ldm1 (r8, r11, r15) .global stm0 stm0: stm0 (r2, r3) .global stm1 stm1: stm1 (r13, r14) .global call call: call footext call @r10 .global call_d call_d: call:D footext nop call:d @r12 nop .global dmov dmov: dmov @0x88, r13 dmov r13, @0x54 dmov @0x44, @r13+ dmov @R13+, @0x2 dmov @0x2c, @-r15 dmov @r15+, @38 .global dmovh dmovh: dmovh @0x88, r13 dmovh r13, @0x52 dmovh @0x34, @r13 + dmovh @r13+, @0x52 .global dmovb dmovb: dmovb @0x91, r13 dmovb r13, @0x53 dmovb @71, @r13+ dmovb @r13+, @0x0 .global ldi_20 ldi_20: ldi:20 #0x000fffff, r1 finish: ldi:32 #0x8000,r0 mov r0,ssp ldi:32 #1,r0 int #10 .global inte inte: inte .global reti reti: reti