180 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			180 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
 | 
						|
.set mips32r2
 | 
						|
.set noreorder
 | 
						|
 | 
						|
.text
 | 
						|
 | 
						|
nop
 | 
						|
nop
 | 
						|
 | 
						|
# Generic MIPS insts
 | 
						|
addu $4, $5, $6
 | 
						|
addu $29, $31, $20
 | 
						|
subu $4, $5, $6
 | 
						|
subu $29, $31, $20
 | 
						|
xor $4, $5, $6
 | 
						|
xor $29, $31, $20
 | 
						|
and $4, $5, $6
 | 
						|
and $29, $31, $20
 | 
						|
or $4, $5, $6
 | 
						|
or $29, $31, $20
 | 
						|
nor $4, $5, $6
 | 
						|
nor $29, $31, $20
 | 
						|
 | 
						|
slt $4, $5, $6
 | 
						|
slt $29, $31, $20
 | 
						|
sltu $4, $5, $6
 | 
						|
sltu $29, $31, $20
 | 
						|
 | 
						|
sllv $4, $5, $6
 | 
						|
sllv $29, $31, $20
 | 
						|
srlv $4, $5, $6
 | 
						|
srlv $29, $31, $20
 | 
						|
srav $4, $5, $6
 | 
						|
srav $29, $31, $20
 | 
						|
rotrv $4, $5, $6
 | 
						|
rotrv $29, $31, $20
 | 
						|
 | 
						|
sll $4, $5, 0
 | 
						|
srl $4, $5, 0
 | 
						|
sra $4, $5, 0
 | 
						|
rotr $4, $5, 0
 | 
						|
sll $4, $5, 1
 | 
						|
srl $4, $5, 1
 | 
						|
sra $4, $5, 1
 | 
						|
rotr $4, $5, 1
 | 
						|
sll $4, $5, 30
 | 
						|
srl $4, $5, 30
 | 
						|
sra $4, $5, 30
 | 
						|
rotr $4, $5, 30
 | 
						|
sll $4, $5, 31
 | 
						|
srl $4, $5, 31
 | 
						|
sra $4, $5, 31
 | 
						|
rotr $4, $5, 31
 | 
						|
 | 
						|
lui $4, 0xFFFF
 | 
						|
lui $4, 0x8000
 | 
						|
lui $4, 0
 | 
						|
lui $4, 1
 | 
						|
 | 
						|
addiu $4, $22, -1
 | 
						|
xori  $4, $22, 0xFFFF
 | 
						|
ori   $4, $22, 0xFFFF
 | 
						|
andi  $4, $22, 0xFFFF
 | 
						|
slti  $4, $22, -1
 | 
						|
sltiu $4, $22, -1
 | 
						|
addiu $4, $22, 0
 | 
						|
xori  $4, $22, 0
 | 
						|
ori   $4, $22, 0
 | 
						|
andi  $4, $22, 0
 | 
						|
slti  $4, $22, 0
 | 
						|
sltiu $4, $22, 0
 | 
						|
addiu $4, $22, 1
 | 
						|
xori  $4, $22, 1
 | 
						|
ori   $4, $22, 1
 | 
						|
andi  $4, $22, 1
 | 
						|
slti  $4, $22, 1
 | 
						|
sltiu $4, $22, 1
 | 
						|
addiu $4, $22, 0x8000
 | 
						|
xori  $4, $22, 0x8000
 | 
						|
ori   $4, $22, 0x8000
 | 
						|
andi  $4, $22, 0x8000
 | 
						|
slti  $4, $22, 0x8000
 | 
						|
sltiu $4, $22, 0x8000
 | 
						|
addiu $4, $22, 0x7FFF
 | 
						|
xori  $4, $22, 0x7FFF
 | 
						|
ori   $4, $22, 0x7FFF
 | 
						|
andi  $4, $22, 0x7FFF
 | 
						|
slti  $4, $22, 0x7FFF
 | 
						|
sltiu $4, $22, 0x7FFF
 | 
						|
 | 
						|
mflo $7
 | 
						|
mflo $30
 | 
						|
mfhi $7
 | 
						|
mfhi $30
 | 
						|
mtlo $7
 | 
						|
mtlo $30
 | 
						|
mthi $7
 | 
						|
mthi $30
 | 
						|
 | 
						|
mult $6, $7
 | 
						|
mult $18, $20
 | 
						|
multu $6, $7
 | 
						|
multu $18, $20
 | 
						|
div $0, $6, $7
 | 
						|
div $0, $18, $20
 | 
						|
divu $0, $6, $7
 | 
						|
divu $0, $18, $20
 | 
						|
 | 
						|
jr $5
 | 
						|
jr $31
 | 
						|
jalr $5
 | 
						|
jalr $20
 | 
						|
 | 
						|
bltzal $4, 1f
 | 
						|
bltzal $20, 1f
 | 
						|
bgezal $4, 1f
 | 
						|
bgezal $20, 1f
 | 
						|
bltz $4, 1f
 | 
						|
bltz $20, 1f
 | 
						|
1:
 | 
						|
 | 
						|
lb $4,  ($5)
 | 
						|
lbu $4, ($5)
 | 
						|
lh $4,  ($5)
 | 
						|
lhu $4, ($5)
 | 
						|
lw $4,  ($5)
 | 
						|
lb $4,   1($5)
 | 
						|
lbu $4,  1($5)
 | 
						|
lh $4,   1($5)
 | 
						|
lhu $4,  1($5)
 | 
						|
lw $4,   1($5)
 | 
						|
lb $4,  -1($5)
 | 
						|
lbu $4, -1($5)
 | 
						|
lh $4,  -1($5)
 | 
						|
lhu $4, -1($5)
 | 
						|
lw $4,  -1($5)
 | 
						|
lb $4,   0x7FFF($5)
 | 
						|
lbu $4,  0x7FFF($5)
 | 
						|
lh $4,   0x7FFF($5)
 | 
						|
lhu $4,  0x7FFF($5)
 | 
						|
lw $4,   0x7FFF($5)
 | 
						|
lb $4,  -0x8000($5)
 | 
						|
lbu $4, -0x8000($5)
 | 
						|
lh $4,  -0x8000($5)
 | 
						|
lhu $4, -0x8000($5)
 | 
						|
lw $4,  -0x8000($5)
 | 
						|
 | 
						|
sb $4, ($5)
 | 
						|
sh $4, ($5)
 | 
						|
sw $4, ($5)
 | 
						|
sb $4,  1($5)
 | 
						|
sh $4,  1($5)
 | 
						|
sw $4,  1($5)
 | 
						|
sb $4, -1($5)
 | 
						|
sh $4, -1($5)
 | 
						|
sw $4, -1($5)
 | 
						|
sb $4,  0x7FFF($5)
 | 
						|
sh $4,  0x7FFF($5)
 | 
						|
sw $4,  0x7FFF($5)
 | 
						|
sb $4, -0x8000($5)
 | 
						|
sh $4, -0x8000($5)
 | 
						|
sw $4, -0x8000($5)
 | 
						|
 | 
						|
# MIPS32r2/PSP instructions
 | 
						|
 | 
						|
ext $2, $5, 20, 4
 | 
						|
ext $15, $20, 3, 9
 | 
						|
ins $2, $5, 20, 4
 | 
						|
ins $15, $20, 3, 9
 | 
						|
 | 
						|
seb $7, $9
 | 
						|
seh $7, $9
 | 
						|
 | 
						|
# PSP specific stuff
 | 
						|
# max $4, $28, $15
 | 
						|
# min $4, $28, $15
 | 
						|
# movz $4, $5, $6
 | 
						|
# movn $4, $5, $6
 | 
						|
 | 
						|
 |