|
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统 驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe |
LDR和LDRB的使用问题 |
作者:gyf2000 栏目:ARM技术 |
; 文件名:TEST2.S ; 功能:使用LDR、STR指令对变量NumCount进行加1操作 ; 说明:使用ARMulate软件仿真调试 NumCount EQU 0x80003000 ; 定义变量NumCount AREA Example2,CODE,READONLY ENTRY MAIN LDR R0,=NumCount ; 使用LDR伪指令装载NumCount的地址到R0 LDR R1,[R0] ; 取出变量值 ADD R1,R1,#1 ; NumCount=NumCount+1 STR R1,[R0] ; 保存变量值 HALT B HALT END 编译调试没问题,但 当我将LDR和STR改为LDRB和STRB指令后,DEBUG时报如下错误 Error : A1255E: Operand to LDRB does not fit in 8 bits Test2.s LINE 7 7 00000000 MAIN LDRB R0,=NumCount ; 使用LDR伪指令装载NumCount的地址到R0 1 Error, 0 Warnings 请版主告知到底是怎么回事?是不是要改NumCount呀?如何改啊? |
2楼: | >>参与讨论 |
作者: 七夜 于 2011/3/19 10:48:47 发布:
ldrb是8bit NumCount是32bit |
|
|
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入 |
Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号 |