用的是循环实现
.data
A: .word 0
mes: .asciiz "please input a numer:"
CONTROL: .word32 0x10000
DATA: .word32 0x10008
.text
main:
lwu $t8,DATA($zero)
lwu $t9,CONTROL($zero)
daddi $t1,$zero,mes;输出字符串
sw $t1,0($t8)
daddi $t1,$zero,4
sw $t1,0($t9)
daddi $t1,$zero,8 ;得到输入的数,存在$t2和A中
sw $t1,0($t9)
lwu $t1,0($t8)
daddi $t2,$t1,0
ld $t1,0($zero)
sd $t2,0($t1)
daddi $t3,$zero,1
for:
beq $t2,$zero,exit;计算阶乘,存在$t3中
dmulu $t3,$t3,$t2
daddi $t2,$t2,-1
J for
exit:
sw $t3,0($t8);输出计算结果
daddi $t1,$zero,1
sw $t1,0($t9)
halt
版权声明:本文为weixin_40673608原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。