我是汇编语言的新手,我有一个任务无法解决。问题是(编写一个程序,要求用户输入两个整数A和B,然后显示计算表达式的结果:A + 2B - 5.),我曾尝试让用户输入一个值,然后让他输入另一个值,但结果会加倍,现在我想用(addiu)将这两个值与常数相加,但问题是当我进行汇编然后运行时,我插入所需的值,然后它给我随机数!我找不到我的代码有什么问题。请帮助
我代码:
.data
str1: .asciiz "enter A value: "
str2: .asciiz "enter B value:"
str3: .asciiz "A+2B-5="
.globl main
.text
main:
li $v0,4
la $a0,str1
syscall
li $v0,5
syscall
move $t0,$v0
li $v0,4
la $a0,str2
syscall
li $v0,5
syscall
move $t1,$v0
add $t1,$t1,$t1
move $t1,$v0
syscall
add $t2,$t1,$t0
move $t2,$v0
syscall
li $v0,4
la $a0,str3
syscall
addi $t3,$t2,-5
syscall
li $v0,1
syscall
1条答案
按热度按时间iibxawm41#
显然我保存了用户在错误寄存器中输入的值,我修复了这个问题,这是正确的编写代码: