阶乘.txt

来自「arm 的编程, 其中有 X次方 阶乘 以及 累加和」· 文本 代码 · 共 39 行

TXT
39
字号
N	EQU	149											;学号
	 AREA     Example7,CODE,READONLY        ;声明代码段Example4
     ENTRY                                  ;标识程序入口
     CODE32                                 ;声明32位ARM指令


START
	MOV R0,#0				;R0保存总和
	MOV R1,#1				
	LDR R2,=N
	ADD R2,R2,#1			;R2=N +1,因为到150时程序停止

LOOP 
	CMP R1,R2
	BEQ LOOPEND
	ADD R3,R1,#1					;R3为FAC的入口参数
	BL FAC							;跳转到求阶乘的子函数
	ADD R0,R0,R5					;更新总和 
	ADD R1,R1,#1
	B LOOP
	 
LOOPEND
HALT      B        HALT
    

FAC				;初始化
	MOV R4,#1
	MOV R5,#1
	
LOOP2

	CMP R4,R3
	MOVEQ PC,LR
	MUL R5,R4,R5			;R5=R5*R4
	ADD R4,R4,#1
	B LOOP2

	END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?