A. 用MIPS匯編寫一個減法的代碼
la $a0,p1 #Loadprompt
li $v0,4 #Printprompt
syscall
li $v0,5 #Getintxfromtheuser
syscall
move $t0,$v0 #Savexinreg$t0
#Getn
la $a0,p2 #Loadprompt
li $v0,4 #Printprompt
syscall
li $v0,5 #Getintxfromtheuser
syscall
move $t1,$v0 #Saveninreg$t1
ble $t0,$zero,IF
ble $t1,$zero,IF
j ELSE
IF: la $a0,op1
li $v0,4
syscall
j halt
ELSE: move $t2,$t0
loop: blt $t2,1,halt
move $a0,$t2
li $v0,1
syscall
la $a0,space
li $v0,4
syscall
sub $t2,$t2,$t1
j loop
halt: li $v0,10
syscall
.data
p1: .asciiz"Enterx:"
p2: .asciiz"Entern:"
space: .asciiz""
op1: .asciiz"Unabletocount!"
B. MIPS偽代碼是什麼和利用MIPS指令集的代碼有什麼區別
偽指令是合法的MIPS匯編語言指令,沒有直接的硬體實現。它們是為了方便程序員而提供的。當你在MIPS匯編語言程序中使用偽指令時,匯編器將它們轉換為等效的真正的MIPS指令。
例如:
C. 寫出以下C語言過程對應的MIPS匯編表示
硬體平台是什麼?pc上還是51上或者arm,mips?不
同硬體平台匯編不同,編譯器對程序的處理也就不同。
用匯編一般都是考慮到可以直接訪問寄存器,速度有優勢,但最大的缺點是不能跨平台,可移植性很差。