📄 累加和.txt
字号:
试验8源代码:
N EQU 100149 ;N=学号149+100000
AREA Example8,CODE,READONLY ;声明代码段Example4
ENTRY ;标识程序入口
CODE32 ;声明32位ARM指令
ARM_CODE
ADR R0,THUMB_CODE+1
BX R0 ;跳转并切换处理器状态
CODE16
THUMB_CODE
LDR R1,=N+1 ;程序到N+1处停止
MOV R2,#0 ;R2为循环变量
MOV R3,#0 ;R3保存结果的总和
LOOP
CMP R2,R1
BEQ LOOPEND
ADD R3,R3,R2
ADD R2,R2,#1
B LOOP
LOOPEND
DEAD B DEAD
END
试验结果:
R2:0x00018736
R3:0x2AEA3C17
ID EQU 149 ;定义学号为149
AREA Example4,CODE,READONLY ;声明代码段Example4
ENTRY ;标识程序入口
CODE32 ;声明32位ARM
START ; 使用ADD、MOV、CMP、B指令实现1+2+3+…+N的运算
LDR R1,= 100000 ;R1=100000
ADD R1,R1,#ID ;R1=100000+ID
TEQ R1,#0 ;比较R1是否为0
MOVEQ R1,#0 ; 当R1为0时,R1为0
TEQ R1,#1 ;比较R1是否为1
MOVEQ R1,#1 ; 当R1为1时,R1为1
MOV R2,#1 ;R2为从1开始的循环变量
MOV R3,#0
LOOP TEQ R1,R2 ;比较R1是否等于R2
BEQ START ;如果相等,则结束运算
ADD R3,R3,R2 ;R3保存总和的结果
ADD R2,R2,#1 ;R2自加1
B LOOP
END
执行结果:
R2:0x00018735
R3:0x2AE8B4E2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -