# Miscellaneous instructions. | |
.data | |
foodata: .word 42 | |
.text | |
footext: | |
# Multiply instructions. | |
.global macsb | |
macsb: | |
macsb r0 , r1 | |
.global macub | |
macub: | |
macub r2 , r3 | |
.global macqb | |
macqb: | |
macqb r4 , r5 | |
.global macsw | |
macsw: | |
macsw r6 , r7 | |
.global macuw | |
macuw: | |
macuw r8 , r9 | |
.global macqw | |
macqw: | |
macqw r10 , r11 | |
.global macsd | |
macsd: | |
macsd r12 , r13 | |
.global macud | |
macud: | |
macud r14 , r15 | |
.global macqd | |
macqd: | |
macqd ra , sp | |
.global mullsd | |
mullsd: | |
mullsd r0 , r2 | |
.global mullud | |
mullud: | |
mullud r1 , r3 | |
.global mulsbw | |
mulsbw: | |
mulsbw r4 , r6 | |
.global mulubw | |
mulubw: | |
mulubw r5 , r7 | |
.global mulswd | |
mulswd: | |
mulswd r8 , r10 | |
.global muluwd | |
muluwd: | |
muluwd r9 , r11 | |
# Signextend instructions. | |
.global sextbw | |
sextbw: | |
sextbw r12 , ra | |
.global sextbd | |
sextbd: | |
sextbd r13 , sp | |
.global sextwd | |
sextwd: | |
sextwd r14 , r15 | |
.global zextbw | |
zextbw: | |
zextbw r5 , r0 | |
.global zextbd | |
zextbd: | |
zextbd r10 , r6 | |
.global zextwd | |
zextwd: | |
zextwd r7 , r15 | |
# Misc. instructions. | |
.global getrfid | |
getrfid: | |
getrfid r14 | |
.global setrfid | |
setrfid: | |
setrfid sp | |
.global bswap | |
bswap: | |
bswap r14 , r2 | |
.global maxsb | |
maxsb: | |
maxsb r8 , r3 | |
.global minsb | |
minsb: | |
minsb r15 , r14 | |
.global maxub | |
maxub: | |
maxub r13 , r12 | |
.global minub | |
minub: | |
minub r11 , r10 | |
.global absb | |
absb: | |
absb r9 , r8 | |
.global negb | |
negb: | |
negb r7 , r6 | |
.global cntl0b | |
cntl0b: | |
cntl0b r5 , r4 | |
.global cntl1b | |
cntl1b: | |
cntl1b r3 , r2 | |
.global popcntb | |
popcntb: | |
popcntb r1 , r0 | |
.global rotlb | |
rotlb: | |
rotlb r11 , r4 | |
.global rotrb | |
rotrb: | |
rotrb r7 , r2 | |
.global mulqb | |
mulqb: | |
mulqb r14 , ra | |
.global addqb | |
addqb: | |
addqb r15 , sp | |
.global subqb | |
subqb: | |
subqb r0 , r10 | |
.global cntlsb | |
cntlsb: | |
cntlsb r2 , r12 | |
.global maxsw | |
maxsw: | |
maxsw r8 , r3 | |
.global minsw | |
minsw: | |
minsw r15 , r14 | |
.global maxuw | |
maxuw: | |
maxuw r13 , r12 | |
.global minuw | |
minuw: | |
minuw r11 , r10 | |
.global absw | |
absw: | |
absw r9 , r8 | |
.global negw | |
negw: | |
negw r7 , r6 | |
.global cntl0w | |
cntl0w: | |
cntl0w r5 , r4 | |
.global cntl1w | |
cntl1w: | |
cntl1w r3 , r2 | |
.global popcntw | |
popcntw: | |
popcntw r1 , r0 | |
.global rotlw | |
rotlw: | |
rotlw r11 , r4 | |
.global rotrw | |
rotrw: | |
rotrw r7 , r2 | |
.global mulqw | |
mulqw: | |
mulqw r14 , ra | |
.global addqw | |
addqw: | |
addqw r15 , sp | |
.global subqw | |
subqw: | |
subqw r0 , r10 | |
.global cntlsw | |
cntlsw: | |
cntlsw r2 , r12 | |
.global maxsd | |
maxsd: | |
maxsd r8 , r3 | |
.global minsd | |
minsd: | |
minsd r15 , r14 | |
.global maxud | |
maxud: | |
maxud r13 , r12 | |
.global minud | |
minud: | |
minud r11 , r10 | |
.global absd | |
absd: | |
absd r9 , r8 | |
.global negd | |
negd: | |
negd r7 , r6 | |
.global cntl0d | |
cntl0d: | |
cntl0d r5 , r4 | |
.global cntl1d | |
cntl1d: | |
cntl1d r3 , r2 | |
.global popcntd | |
popcntd: | |
popcntd r1 , r0 | |
.global rotld | |
rotld: | |
rotld r11 , r4 | |
.global rotrd | |
rotrd: | |
rotrd r7 , r2 | |
.global mulqd | |
mulqd: | |
mulqd r14 , ra | |
.global addqd | |
addqd: | |
addqd r15 , sp | |
.global subqd | |
subqd: | |
subqd r0 , r10 | |
.global cntlsd | |
cntlsd: | |
cntlsd r2 , r12 | |
.global excp | |
excp: | |
excp BPT | |
excp svc | |
.global ram | |
ram: | |
ram $24, $9, $1, ra, r12 | |
.global rim | |
rim: | |
rim $0x1f, $0xf, $0xe, r2, r1 | |
.global rotb | |
rotb: | |
rotb $7, r1 | |
.global rotw | |
rotw: | |
rotw $13, r3 | |
.global rotd | |
rotd: | |
rotd $27, r2 | |