[原创]请教ARM汇编
这是一个arm汇编程序中的一部分。
#if defined(HEI_ARM7) && (HEI_ARM7==1)
@ Read GPIOC bit5, bit6, and then Jump to related program //gpioc是串口地址为#0x80023005c
ldr r0,=0x80023000 //打开串口0X80023000是串口的基地址。
ldrb r1,[r0, #40] @ read gpio C port ldrb加载无符号字节数
mov r1, r1, asr #5 //asr是算术右移
and r1, r1, #0x3
ldr r0, =JumpProgTable
mov r1, r1, asl #2 //asl是算术左移
ldr pc,[r0, r1] //pc=r0+r1
#else
ldr r0,=0x80003000 //0x80003000是ASB中的busc basc=bus controller
ldr r1, [r0]
and r1, r1, #0x3 //r1=0x80003003
orr r1, r1, #0x40 //r1=0x80003043
str r1, [r0] //str 是寻址批令 把r0的值移到r1中去。
请教:ldrb r1,[r0, #40] 最后r1等于多少。他是如何变到gpioc的。
发表时间:2005年1月20日14:12:58