新手求助!!求帮忙分析一下ARM程序

新手求助!!求帮忙分析一下ARM程序,第1张

i=0 将其向左移动4位 正好到GPF4 然后取反 GPF4位1 其他的都为0 只有第一个亮

i=1 灭

i=2 i的二进制是 10 移动后 GPF4 5 为 0 1 取反后是 GPF5 为0 其他全为1 第二个灯亮

...................

以此类推

N EQU 5 定义N 代表5

AREA Adding, CODE, READONLY 定义段名Adding为只读代码段

ENTRY;指定程序入口

MOV R0,#0 ;将立即数0加载到R0 ,MOV指令只能加载8位立即数

MOV R1,#1 ;将立即数1加载到R1 ,#代表时立即数

REPEAT ; 设置标号

ADD R0,R0,R1 ;将R0,R1项加并存储到R0

ADD R1,R1,#1;;将R1,立即数1项加并存储到R1

CMP R1,#N ;比较R1和立即数N,N前面定义代表5;

BLE REPEAT ; 不相等跳转到标号REPEAT,相等继续往下执行

LDR R2,=RESULT ;加载表RESULT 地址到R2

STR R0,[R2] ;将R0存储到R2指向的表中

HERE B HERE ; B无条件跳转到标号HERE,

AREA DataSpace, DATA, READWRITE 定义段名DataSpace为读写数据段

RESULT DCD 0;定义表

END ;程序结束


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8095466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存