收藏 评论 看了arm汇编语言语法一个多月了。总算入门了。当然还有很多东西值得继续努力推敲滴。 最近对LDR与LTORG有了一些新的认识。 LDR是一个比较复制的指令。作用是从存储器到寄存器的单一数据读取指令。它有19条指令格式。其中有两条格式为宏指令(macro),格式如下:1,LDRRd,2,LDR Rd,=<32-bit-value> 这里重点分析下第二条宏指令。它会被编译器编译成一条指令,把给定的32位数值保存到寄存器Rd.通常这掉指令是LDRRd,[pc,#],这个32位数保存在以地址(pc+开始的一个文字池(literal pool)中。 关于指令LDRRd,[pc,#],大家就要复习一下arm汇编的"单寄存器load-store指令的寻址方式"了。这里使用到了它的前变址寻址方式。 pc的值不变,寻找的内存值为mem[pc+offset]。 LTORG用于声明一个数据缓冲池,(也称为文字池)的开始。在使用伪指令LDR时,常常需要在适当的地方加入LTORG声明数据缓冲池,LDR加载的数据暂时被编译器放于数据缓冲池中。使用说明:当程序中使用LDR之类的指令时,数据缓冲池的使用可能越界。为防止越界发生,可使用LTONG伪操作定义数据缓冲池。通常大的代码段可以使用多个数据缓冲池。ARM汇编编译器一般把数据缓冲池放在代码段的最后面,即下一代码段开始之前,或者END伪操作之前。LTORG伪操作通常放在无条件跳转指令之后,或者子程序返回指令之后,这样处理器就不会错误的将数据缓冲池中的数据当作指令来执行。 示例代码:AREA Example ,CODE,READONLY; //声明一个代码段,名称为Example,属性为只读Start BL funcl ;codefuncl //子程序 ;code LDR R1,=0x800 //将0X800加载到R1 MOV PC,lr //子程序结束LTORG //定义数据缓冲池data SPACE 4200 //从当前开始分配40字节的内存单元并初始化为0END //程序结束 0x800的值被编译器暂时放在了data[0-3]字段中。 关键字:ARM 汇编 LDR LTORG 引用地址:ARM汇编中LDR与LTORG的关系 上一篇:浅析ARM公司在物联网领域的战略布局 下一篇:ARM中的程序状态寄存器(CPSR) 热门资源推荐 热门放大器推荐 更多 零基础学电子与Arduino:给编程新手的开发板入门指南 东芝1200V SIC SBD “TRSxxx120Hx系列” 助力工业电源设备高效 现代电气控制技术应用实践 四轴飞行器DIY基于STM32微控制器 CLC407MDC AD8202YRZ-REEL 5962-8777101MCA LT1128N8 5962R9950401QDA UA748HCQR LH2111D AD524CD/+ 小广播 推荐内容 MSP432产品培训 ARM微控制器与嵌入式系统 单片机原理及应用 哈工大 Linux嵌入式开发 微机原理与系统设计 【电路】基于LDR和ic555的烟雾探测器电路 【电路】使用LDR和IC555的光激活开关电路 【电路】基于LDR和电阻器的闪烁LED电路图 【电路】带脉冲音输出的LDR报警电路 【电路】LDR光束中断防盗报警电路 【电路】基于LDR感应火灾烟雾的火灾报警电路 热门活动换一批更多 ■2024 瑞萨电子MCU/MPU工业技术研讨会——深圳、上海站, 火热报名中 ■罗姆有奖直播 | 重点解析双极型晶体管的实用选型方法和使用方法 ■STM32N6终于要发布了,ST首款带有NPU的MCU到底怎么样,欢迎小伙们来STM32全球线上峰会寻找答案! ■免费下载 | 安森美电动汽车充电白皮书,看碳化硅如何缓解“里程焦虑”! ■是德科技有奖直播 | 应对未来高速算力芯片的设计与测试挑战 ■免费申请 | 上百份MPS MIE模块,免费试用还有礼! ■TI 有奖直播 | 使用基于 Arm 的 AM6xA 处理器设计智能化楼宇 设计资源 培训 开发板 精华推荐 【下载】LAT1439 关于STM32H745的MC SDK电机控制工程问题的解决办法 【下载】LAT1444 ADC采样中的阻抗匹配计算方法 【下载】LAT1446 TrustZone应用中串口通信的DMA传输失败问题 【下载】LAT1450 不断电情况下修改RDP选项并生效的解决方案 【下载】LAT1455 分辨OEMiROT的Bash与BAT脚本 【下载】LAT1457 Keil工程使用NEAI库的异常问题 【直播】实时数据革命:在STM32设备中融合现代ITTIA实时数据库技术 【课程】《STM32MPU安全启动》课程上线 【课程】《ST MC SDK 6.3软件工具概览》课程上线! 【视频】在STM32MP2上运行Android系统 【直播】解析高性价比STM32WB0,让蓝牙低功耗应用触手可及 【视频】STM32C071新系列,升级128K Flash 【新品】STM32U0新一代超低功耗入门级MCU,助力终端产品省电,安全,BOM成本低 【新品】STM32H7R/S 基于Cortex-M7,运行频率高达600 MHz,板载闪存型MCU 拥有高速的外部存储 【新品】STM32WBA54/55 支持BLE5.4、IEEE 802.15.4通信协议、Zigbee®、Thread和Matter协议 【新品】STM32MP2 最高配备双核Arm® Cortex®-A35和Cortex®-M33的STM32MP2系列微处理器 【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性 【新品】STM32C0,你的下一代8位应用神器 【生态】体验电机开发软件ST MCSDK 6.3的新功能 【产品】STM32WB0系列,让高性价比蓝牙应用触手可及 【视频】STM32新增安卓支持 — OpenSTDROID,开启MPU应用新格局 【课程】推荐 |《STM32MPU安全启动》全新上线 【线下】STM32巡回研讨会资料下载与视频回放 【生态】全新STM32 VS Code扩展V2.1.0发布 最新单片机文章 纳芯微联合芯弦推出NS800RT系列实时控制MCU11月20日,纳芯微宣布联合芯弦半导体(ChipSine),推出NS800RT系列实时控制MCU。该系列MCU凭借更加高效、功能更强大的实时控制能力和丰富 ... 如何学习基于ARM平台的嵌入式系统一、嵌入式系统的概念着重理解"嵌入"的概念主要从三个方面上来理解 1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体 ... 有关 jffs2_scan_eraseblock 问题小结总结前面遇到的问题:1 有关类似:mtd->read(0x44 bytes from 0x68cf44) returned ECC errorjffs2_get_inode_nodes(): CRC failed ... SPCOMM控件在Delphi7.0串口通信中的应用摘要:利用Delphi开发工业控制系统软件成为越来越多的开发人员的选择,而串口通信是这个过程中必须解决的问题之一。本文在对几种常用串口通 ... Delphi环境下利用TComm组件实现串行通信摘要:利用Delphi开发工业控制系统软件成为越来越多的开发人员的选择,而串口通信是这个过程中必须解决的问题之一。本文在对几种常用串口通 ... 嵌入式开发实践的柱状图代码 嵌入式开发学习(10)<汇编写启动代码之设置栈、调用c语言、开关看门狗和开关iCache> 嵌入式开发学习(8)<一步一步点亮LED灯> 嵌入式开发学习(6) 何立民专栏 单片机及嵌入式宝典 北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。 《单片机与嵌入式系统应用》历年文章目录 物联网时代的嵌入式系统机遇 从嵌入式系统视角看物联网 更多开源项目推荐 用于计算机/外围设备的 DC 到 DC 单路输出电源 【训练营_进阶班】互联网智能插座 TSSEVB,基于 MC9S08JM60 MCU 的触摸感应评估板 NCP3064PDBCKGEVB:PDIP8 降压演示评估板 LAN8720 BGA3012演示板,40 MHz至1006 MHz推挽放大器应用 MPC5643L 3相PMSM开发套件 FOC-V1.0.0-D OPENMV4 四层板 FlyingRC-F4swamp-Baseboard V1.x 更多精选电路图 光控音效发生器电路 基于IC555的可变PWM振荡器电路 如何使用LED驱动器LM3915制作振动计 一个简单的立体声平衡指示器电路 分享一个电网倾角计电路 一种构建12V和230V双直流电源的简单方法 换一换 更多 相关热搜器件 TAJB336K016SNJ NJM8068RB1-TE1 NJM072CG-TE2 MSC1150M 177-710-5-21GP6J1-24PCN WD512K32NV-20H1C 507-142-NF15B EM641FR16FT-70S FD4000106 1090C1-6V HI14215300J0G TAZH476K010CRLB9000 2M804-001-06NF10-202SC FDMS3660AS 62-10325-20-03001 F15S0RG3 D38999-24WH35SC JT00RT2011SC BBS-104-T-C DW-10-11-F-Q-400 1928391-6 MT46H64M16LGCK-6L:A TE20014400J0G 68696-160H 800-034-ACHL2M12-37NY-72 54122-110-38-1200 2215871-1 CRS03(TE85R,C,X) ABM81-FREQ-18-R200-1-Z-T AL05-1R5-KBQ MD37M3B7NV30 4308T-101-3970DBL M55342K05B1C52RTF SL3-069-SH102/02-95 ST230S12M2V SSW20A2612GQ13 MPH34382592RDA CFF12-112-GTPNW ACASA164221642P100 4001023032262W1 0620-013G500-AL471 SIT9045AIL13H33DCA25.000625D HZA_17 T95D107K016LAZS 2470LCM0511LLN081J ABLS7M-12.288MHZ-8-J2 T25LQ16CDIPT M55342M02B280ART3 PNM0805E2461JBTF 501S41W272KP4-H 更多热门文章 Credo 光DSP再添新成员:Seagull 110和Seagull XR8 贸泽电子发布新一期EIT节目探讨5G和边缘计算对智能交通影响 ATmega168 Flash程序存储器 专利曝光三星新概念柔性屏移动设备 支持折叠滑动与S Pen 苹果2022春季发布会解密!iPhone/iPad新品配置/价格良心 Semtech 2021大盘点:光通信、智能传感、LoRa以及共赢 更多每日新闻 “跨芯片”量子纠缠实现 有助建构更强大的量子计算能力 超声波贴片可持续无创监测血压 芯原戴伟民:海南分公司致力于人才本土化战略,持续为海南输送集成电路产业人才 欧洲三大芯片巨头,重新审视供应链 破局智能化竞赛,长安汽车开启“上帝视角” 全球首搭全数字底盘,仰望U7 PHEV、EV版本双旗舰首发 固态电池什么时候能普及? 加码固态电池,宁德时代想继续当“宁王” 机构预计我国公共电动汽车充电桩今年将达到360万个 占全球近7成 美国参议员敦促NHTSA发布新的车辆安全规定 更多往期活动 ADI & WT ·世健 MCU 痛点问题探索季 ——第一站:征集 | 使用 MCU ,哪些问题最令你头大? 新春寻宝记,泰克送福利!快来开启你的寻宝之旅~ 【XILINX 主题分享月】 低功耗资料大搜集! 有奖直播:英飞凌工业半导体在电机驱动行业中的应用 2020年4月21日 上午10:00-11:30 准时开启! 下载有礼:数据中心养生秘籍《福禄克数据中心解决方案》等你带回家! 直播已结束【Molex 新能源汽车低压连接器解决方案】 TE白皮书下载|《散热桥技术——电子设备散热领域的创新》 11月22日历史上的今天 通用未来战略的核心Ultra Cruise 不同品牌的示波器和探头可以通用吗? 如何避过测量电源波纹的误区? 泰克示波器TBS2102B在辐射检测模块测试的应用 泰克示波器维修案例—泰克TDS2014C维修 示波器探头的17个技术指标你了解多少呢? 泰克示波器在UPS电源整流电压测试的应用 高压放大器ATA-4052在压电陶瓷大功率测试系统中的应用 消息称三星和SK海力士计划在向美国提供数据时省略详细信息 中石油推出机器人,加油只需两分钟 厂商技术中心 最能打国产芯 TI 培训 Qorvo 电源技术站 Vicor技术站 随便看看 8分钟讲解关于5G的一切 初学8051,征询如何选择购买板子 结贴了~stc89c52_脉冲计数_中断 索尼手机为何会在中国市场败北? EEWORLD大学堂----斩波电路(5) - 升压斩波电路仿真 电源供电问题 AT89C51控制DC电机 关于CASIOdt-930m51e的问题 万能的坛啊,看看这个是什么做的? 热敏点阻的测温范围是什么