Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 在mips中,如何使用两个数字的特定功能进行加法或减法?_Assembly_Mips - Fatal编程技术网

Assembly 在mips中,如何使用两个数字的特定功能进行加法或减法?

Assembly 在mips中,如何使用两个数字的特定功能进行加法或减法?,assembly,mips,Assembly,Mips,大家好,我对mips编程还不熟悉,只是好奇mips上两个数字的加减是用什么函数实现的。如果可能的话,只需要代码。这比需要的时间长得多,例如,当您只需将值保存在$t0和$t1等寄存器中时,就可以加载和存储。此外,在使用add或sub写入v0之前,您不需要li$v0,0-目标操作数是只写的,并且可以覆盖以前存在的任何内容。汇编代码应该有解释,即要比较的伪/C代码、注释、寄存器中变量的描述。帮助OP理解,而不是简单地做作业。 .data x: .word 30 y: .word 24 s

大家好,我对mips编程还不熟悉,只是好奇mips上两个数字的加减是用什么函数实现的。如果可能的话,只需要代码。

这比需要的时间长得多,例如,当您只需将值保存在$t0和$t1等寄存器中时,就可以加载和存储。此外,在使用add或sub写入v0之前,您不需要li$v0,0-目标操作数是只写的,并且可以覆盖以前存在的任何内容。汇编代码应该有解释,即要比较的伪/C代码、注释、寄存器中变量的描述。帮助OP理解,而不是简单地做作业。
.data
  x: .word 30
  y: .word 24

  sum: .word 0
  subt: .word 0

  promptAdd: .asciiz "The sum of X and Y is : "
  promptSub: .asciiz "\nThe difference of X and Y is : "

.text
.globl main
.ent main

main:

lw $a0, x
lw $a1, y

jal Addition
sw $v0, sum

jal Subtraction
sw $v0, subt

la $a0, promptAdd
li $v0, 4
syscall

lw $a0, sum
li $v0, 1
syscall

la $a0, promptSub
li $v0, 4
syscall

lw $a0, subt
li $v0, 1
syscall

li $v0, 10
syscall

.end main

.globl Addition
.ent Addition

Addition:

li $v0, 0

add $v0, $a0, $a1

jr $ra

.end Addition

.globl Subtraction
.ent Subtraction

Subtraction:

li $v0, 0

sub $v0, $a0, $a1

jr $ra

.end Subtraction