WinMIPS计算阶乘

用的是循环实现

.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版权协议,转载请附上原文出处链接和本声明。