📄 asm1_b.s
字号:
.equ x, 45 /* 定义变量x,并赋值为45*/
.equ y, 64 /* 定义变量y,并赋值为64*/
.equ z, 87 /* 定义变量z,并赋值为87*/
.equ stack_top, 0x1000 /* 定义栈顶0x1000*/
.global _start
.text
_start: /*程序代码开始标志*/
MOV r0, #x /* x的值放入R0 */
MOV r0, r0, lsl #8 /* R0的值乘以2的8次方 */
MOV r1, #y /* y的值放入R1 */
ADD r2, r0, r1, lsr #1 /* R1的值除以2加上r0的值放入R2 */
MOV sp, #0x1000
STR r2, [sp]
MOV r0, #z /* z的值放入R0 */
AND r0, r0, #0xFF /* 取R0的低八位 */
MOV r1, #y /* y的值放入R1 */
ADD r2, r0, r1, lsr #1 /* R1的值除以2加上r0的值放入R2 */
LDR r0, [sp] /* y的值放入R1 */
MOV r1, #0x01
ORR r0, r0, r1
MOV r1, R2 /* y的值放入R1 */
ADD r2, r0, r1, lsr #1 /* R1的值除以2加上r0的值放入R2 */
stop:
B stop /*程序结束,进入死循环*/
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -