我需要编写一个汇编程序,它将两个带符号的数字相乘(in 二的补充系统)。乘数和被乘数可以是8位数据范围内的任何数字,并带有任何符号。确保您的装配程序是通用的。
这里有我所拥有的但是我得到了错误"程序已经完成运行(从底部掉下来)"而且我不确定为什么。
.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
答案 0 :(得分:2)
您已将代码放入数据部分。在main:
之前,你应该有一个.text
指令。您可能还需要.globl main
。