作业1:
代码:
.text
.global _start
_start:
mov r0,#9
mov r1,#15
loop:
cmp r0,r1
beq stop
subhi r0,r0,r1
subcc r1,r1,r0
stop:
b stop
.end
运行结果:
第二题:
用汇编for循环完成1到100的累加和
代码段:
.text
.global _start
_start:
mov r0,#1
mov r1,#0
loop:
add r1,r0,r1
add r0,#1
cmp r0,#101
beq stop
bl loop
stop:
b stop
.end
结果
16进制转换10进制后
13BA为5050
第三题:
观察以下格式,写到那块地址空间,并且r0寄存器中值的变化
.text
.global _start
_start:
ldr r0,=0x40000800
ldr r1,=0x11111111
ldr r2,=0x22222222
ldr r3,=0x33333333
str r1,[r0,#4]
str r2,[r0],#4
str r3,[r0,#4]!
stop:
b stop
.end
str r1,[r0,#4]
*(r0+4) = r1
str r2,[r0],#4
*r0 = r2;r0=r0+4
str r3,[r0,#4]!
*(r0+4) = r3;r0=r0+4;