0
我需要編寫一個彙編程序,它將兩個有符號數相乘(在 二進制補碼系統中)。乘數和被乘數可以是8位數據範圍內的任何數字和任何符號。確保你的彙編程序是通用的。MIPS程序將兩個數相乘
這是我有,但我得到的錯誤「程序完成運行(下降)」,我不知道爲什麼。
.data
str1: .asciiz "Enter a"
str2: .asciiz "Enter b"
str3: .asciiz "a*b = "
main:
li $v0, 4
la $a0, str1
syscall
li $v0, 5
syscall
add $s0, $v0, $zero
li $v0, 4
la $a0, str2
syscall
li $v0, 5
syscall
move $s1, $v0
mult $s0, $s1
mflo $t2
li $v0, 1
move $a0, $t2
syscall
li $v0, 4
la $a0, str3
syscall
li $v0, 10
syscall
哦哇完全錯過了,謝謝! – smd
'mars'模擬器是寬容的。如果沒有'main',它將從'.text'的第一個位置開始[不在原始代碼中]。另一方面,'spim'模擬器模擬'jal main'來啓動程序[並且,IIRC,'a0'是'argc','a1'是'argv'],需要'.text','。 globl main'和'main:'。沒有這一切,'spim'會抱怨一個未定義的引用,或者其他的一些 –