我能够获得用户输入,如我的代码所示,但我绝对无法获得最小的数字。 非常感谢...
以下是此说明。
"编写汇编程序,从用户读取三个32位有符号整数。确定这三个数字中最小的一个并显示此结果。不要使用循环。提示用户输入每个输入的整数。"
.data
Msg1: .asciiz "Enter the first integer: "
Msg2: .asciiz "Enter the second integer: "
Msg3: .asciiz "Enter the third integer: "
Msg4: .asciiz "the the smallest numberis: "
.text
# Print the first message
li $v0, 4
la $a0, Msg1
syscall
# Prompt the user to enter the first integer
li $v0, 5
syscall
# Store the first integer in $t0
move $t0, $v0
# Print the second message
li $v0, 4
la $a0, Msg2
syscall
# Prompt the user to enter the second integer
li $v0, 5
syscall
# Store the first integer in $t1
move $t1, $v0
# Print the third message
li $v0, 4
la $a0, Msg3
syscall
# Prompt the user to enter the third interger
li $v0, 5
syscall
# Store the first integer in $t0
move $t2, $v0
# Determine the smallest Number
slt $s0, $t1, $t0
beq $s0, $zero, L1
答案 0 :(得分:0)
谢谢大家的答案,我终于能够确定最小的数字了。该代码在MARS上完美运行。
.data
Msg1: .asciiz "Enter the first integer: "
Msg2: .asciiz "Enter the second integer: "
Msg3: .asciiz "Enter the third integer: "
.text
# Print the first message
li $v0, 4
la $a0, Msg1
syscall
# Prompt the user to enter the first integer
li $v0, 5
syscall
# Store the first integer in $t0
move $t0, $v0
# Print the second message
li $v0, 4
la $a0, Msg2
syscall
# Prompt the user to enter the second integer
li $v0, 5
syscall
# Store the first integer in $t1
move $t1, $v0
# Print the third message
li $v0, 4
la $a0, Msg3
syscall
# Prompt the user to enter the third interger
li $v0, 5
syscall
# Store the first integer in $t0
move $t2, $v0
# Determine the smallest Number
blt $t0, $t1, L0
blt $t1, $t0, L3
li, $v0, 10
syscall
L0:
blt $t0, $t2, L2
blt $t2, $t0, L3
L2:
li $v0, 1
move $a0, $t0
syscall
li, $v0, 10
syscall
L3:
blt $t1, $t2, L4
blt $t2, $t1, L5
L4:
li $v0, 1
move $a0, $t1
syscall
li, $v0, 10
syscall
L5:
li $v0, 1
move $a0, $t2
syscall
li, $v0, 10
syscall
li, $v0, 10
syscall