2014年1月4日

arm指令中mov和ldr及ldr伪指令的区别

摘要: ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。比如想把数据从内存中某处读取到寄存器中,只能使用ldr比如:ldr r0, 0x12345678就是把0x12345678这个地址中的值存放到r0中。而mov不能干这个活,mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中,这个和x86这种CISC架构的芯片区别最大的地方。x86中没有ldr这种指令,因为x86的mov指令可以将数据从内存中移动到寄存器中。另外还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令可以在立即数前加上=,以表示把 阅读全文

posted @ 2014-01-04 12:31 liuwen1987 阅读(397) 评论(0) 推荐(1) 编辑

u-boot之ldrpc_start_armboot解析

摘要: u-boot之ldrpc_start_armboot解析2008年07月02日02:21来源:ChinaUnix博客作者:osama123 编辑:周荣茂评论:0条本文Tag:Linux系统管理在cpu/arm920t/start.S中,将text relocate 到Ram后,其代码段的最后1行有条语句:ldr pc _start_armboot_start_armboot: .word start_armboot start_armboot是一个函数指针,这个symbol对应了符号表里的函数地址,这个函数是一个C语言的函数,他就是u-boot的stage2的入口点,这个stage2应该是在R 阅读全文

posted @ 2014-01-04 12:16 liuwen1987 阅读(806) 评论(0) 推荐(1) 编辑

导航