
la $a0, p1 # Load prompt
li $v0, 4 # Print prompt
syscall
li $v0, 5 # Get int x from the user
syscall
move $t0, $v0 # Save x in reg $t0
# Get n
la $a0, p2 # Load prompt
li $v0, 4 # Print prompt
syscall
li $v0, 5 # Get int x from the user
syscall
move $t1, $v0 # Save n in reg $t1
ble $t0, $zero, IF
ble $t1, $zero, IF
j ELSE
IF: la $a0,op1
li $v0,4
syscall
j halt
ELSE: move $t2, $t0
loop: blt $t2, 1, halt
move $a0, $t2
li $v0, 1
syscall
la $a0, space
li $v0, 4
syscall
sub $t2, $t2, $t1
j loop
halt: li $v0, 10
syscall
data
p1: asciiz "Enter x: "
p2: asciiz "Enter n: "
space: asciiz " "
op1: asciiz "Unable to count!"
因为负数的默认位是1。 比如-1在二进制里面其实是11111111,所以你的那个判断就肯定会跑完32位的,自然就溢出了。应该判断乘数的正负然后用不同算法下就好。而且符号数第一位是符号位?应该不放进运算吧,要注意下。
实际上 MinGW 并不是一个 单纯的C/C++ 编译器,而是一套 GNU 工具集合。除开 GCC 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等)。
开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) *** 作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。
所以,使用 MinGW 我们就可以像在 Linux 下一样使用 GNU 程序开发工具。
GCC 就是 MinGW 的核心所在,GCC 是一套支持众多计算机程序语言的编译系统,而且在语言标准的实现上是最接近于标准的。并且 GCC
几乎可以移植到目前所有可用的计算机平台。(我的电脑上就还装有 DevKitPro,里面包含
以上就是关于用MIPS汇编写一个减法的代码全部的内容,包括:用MIPS汇编写一个减法的代码、汇编MIPS模拟有符号乘法、windows系统上如何运行mips程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)