.text
.global _start
_start:
/* @单寄存器
ldr r0,=0x40000800
ldr r1,=0x12345678
@将r1寄存器中的值,写到r0指向的地址空间中[0x40000800]=0x12345678
str r1,[r0]
@将r0指向地址空间中的内容,读到目标寄存器r2中,r2=0x12345678
ldr r2,[r0]
*/
/*
ldr r0,=0x40000800
ldr r1,=0x11111111
ldr r2,=0x22222222
ldr r3,=0x33333333
str r1,[r0,#4]
@将r1寄存器中的值,写到0x40000804地址中,r0=0x40000800
str r2,[r0],#4
@将r2寄存器中的值,写到0x40000800地址中,r0=0x40000804
str r3,[r0,#4]!
@将r3寄存器中的值,写到0x40000808地址中,r0=0x40000808
*/
/*
@判断大端存储还是小端存储
ldr r0,=0x40000800
ldr r1,=0x12345678
str r1,[r0]
ldrb r2,[r0]
*/
/*
@判断大端存储还是小端存储
ldr r0,=0x40000800
ldr r1,=0x12345678
str r1,[r0]
ldrb r2,[r0]
ldrb r3,[r0,#1]!
ldrb r4,[r0,#1]!
ldrb r5,[r0,#1]!
*/
/*
@多位寄存器
ldr r0,=0x40000800
ldr r1,=0x11111111
ldr r2,=0x22222222
ldr r3,=0x33333333
ldr r4,=0x44444444
ldr r5,=0x55555555
@ 将r1-r5寄存器列表中的数据,写到r0指向的连续地址空间中
stm r0,{r1-r5}
@ 将r0指向的连续地址空间中的内容,读到目标寄存器列表r6-r10
ldm r0,{r6-r10}
*/
@栈
ldr sp,=0x40000800
ldr r1,=0x11111111
ldr r2,=0x22222222
ldr r3,=0x33333333
ldr r4,=0x44444444
ldr r5,=0x55555555
@ 将r1-r5寄存器列表中的数据,写到sp指向的连续地址空间中
stmfd sp!,{r1-r5}
@ 将sp指向的连续地址空间中的内容,读到目标寄存器列表r6-r10
ldmfd sp!,{r6-r10}
stop:
b stop
.end
@栈result
文章来源:https://www.toymoban.com/news/detail-512553.html
文章来源地址https://www.toymoban.com/news/detail-512553.html
到了这里,关于keil_arm 大端小端 寄存器 栈的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!