在 MIPS 中将负数显示为减法结果
我正在 MIPS 汇编器中编写一个小程序。考虑到我的年龄,该程序执行 4 种数学运算(加法、减法...)。
当它减去我的年龄(29)时,结果应该是-7(2 - 9 = -7),但它显示7。
我如何让MIPS显示减法中的负数?
提前致谢。
.globl main
.data
mensaje: .asciiz "Hola, mi nombre es Angel Pérez.\nHasta hace poco mi edad era 29 años.\n¿Que pasa si aplico las 4 operaciones matematicas a esos dos numeros...?\n\n"
suma: .asciiz "2 mas 9 es igual a: "
resta: .asciiz "2 menos 9 es igual a: "
multiplicacion: .asciiz "2 por 9 es igual a: "
division: .asciiz "2 entre 9 es igual a: "
nueva_linea: .asciiz "\n"
.text
main:
la $a0, mensaje
li $v0, 4
syscall
la $a0, suma
li $v0, 4
syscall
li $t1, 2
li $t2, 9
li $v0, 1
add $t0,$t2,$t1
move $a0,$t0
syscall
la $a0, nueva_linea
li $v0, 4
syscall
la $a0, resta
li $v0, 4
syscall
li $v0, 1
sub $t0,$t2,$t1
move $a0,$t0
syscall
la $a0, nueva_linea
li $v0, 4
syscall
la $a0, multiplicacion
li $v0, 4
syscall
li $v0, 1
mul $t0,$t2,$t1
move $a0,$t0
syscall
li $v0, 10
syscall
I'm coding a small program in MIPS assambler. Given my age the program do the 4 mathematical operations (addition, substraction...).
When it substract my age (29), the result should be -7 (2 - 9 = -7), but it shows 7.
How I make MIPS to show the negative number in substraction?
Thanks in advance.
.globl main
.data
mensaje: .asciiz "Hola, mi nombre es Angel Pérez.\nHasta hace poco mi edad era 29 años.\n¿Que pasa si aplico las 4 operaciones matematicas a esos dos numeros...?\n\n"
suma: .asciiz "2 mas 9 es igual a: "
resta: .asciiz "2 menos 9 es igual a: "
multiplicacion: .asciiz "2 por 9 es igual a: "
division: .asciiz "2 entre 9 es igual a: "
nueva_linea: .asciiz "\n"
.text
main:
la $a0, mensaje
li $v0, 4
syscall
la $a0, suma
li $v0, 4
syscall
li $t1, 2
li $t2, 9
li $v0, 1
add $t0,$t2,$t1
move $a0,$t0
syscall
la $a0, nueva_linea
li $v0, 4
syscall
la $a0, resta
li $v0, 4
syscall
li $v0, 1
sub $t0,$t2,$t1
move $a0,$t0
syscall
la $a0, nueva_linea
li $v0, 4
syscall
la $a0, multiplicacion
li $v0, 4
syscall
li $v0, 1
mul $t0,$t2,$t1
move $a0,$t0
syscall
li $v0, 10
syscall
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
减法顺序错误:
减去 9-2
就是你所需要的。
The subtract order is wrong:
You are subtracting 9-2
is what you need.
您期望 9-2 回归什么?
sub
的两个操作数是相反的。其他运算也有反转操作数,但它们是可交换的。What did you expect 9-2 to return? The two operands of
sub
are inverted. The other operations also have inverted operands, but they are commutative.