1.
.text
.globl _start
_start:
mov r0,#9
mov r1,#15
loop:
cmp r0,r1
beq stop
bgt zero @r0<r1
blt hero @r0>r1
hero:
sub r0,r0,r1
b loop
zero:
sub r1,r1,r0
b loop
stop:
b stop
.end
2.用汇编for循环实现1~100之间的和
.text
.globl _start
_start:
mov r0,#0
mov r1,#1
mov r2,#100
bl loop
loop:
add r0,r0,r1
add r1,r1,#1
subs r2,r2,#1
bl loop
stop:
b stop
.end
3.
ldr r0,=0x40000800
ldr r1,=0x11111111
ldr r2,=0x22222222
ldr r3,=0x33333333
@ 将 R1 中的数据存储到地址为 0x40000800+4 的内存中,存储地址不变
str r1,[r0,#4]
@ 将 R2 中的数据存储到地址为 0x40000800 的内存中,同时将存储地址加上 4
str r2,[r0],#4
@ 存储地址加上 4,将 R3 中的数据存储到地址为 0x40000800+4+4 的内存中
str r3,[r0,#4]!
本文包含三个汇编语言程序段。第一个展示了一个比较和减法的循环;第二个实现1到100的加法求和;第三个涉及内存中的数据存储和地址计算。

273

被折叠的 条评论
为什么被折叠?



