全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式思考题 第三章 嵌入式思考题 第三章 1 Arm 指令是有条件执行 常用的条件助记符指令是有条件执行 常用的条件助记符 EQ NE HI LS 是何意义 是何意义 条件码助记符后缀标志含义 0000EQZ 置位相等 是否为 0 0001NEZ 清零不相等 1000HIC 置位并且 Z 清零无符号数大于 1001LSC 清零或 Z 置位无符号数小于或等于 2 一些指令不需要后缀 一些指令不需要后缀 S 也能更新条件码标志 是哪几个 也能更新条件码标志 是哪几个 CMP CMN TST TEQ 其唯一功能就是更新条件码标志 3 第二操作数做立即数时 哪些是有效的 哪些是无效的 第二操作数做立即数时 哪些是有效的 哪些是无效的 立即数不能做为目标操作数的 但可以作为源操作数 MOV AX 1234H 这是正确的 MOV 1234H AX 这是错误的 4 LSL LSR ASL ASR ROR RRX 的含义 的含义 LSL 逻辑左移 按操作数所指定的数量向左移位 低位用零填充 LSR 逻辑右移 ASL 算术左移指令 每执行一次 将 D 通道中的数据按位左移一位最高位移到 CY 中 0 移进最低位 ASR 算术右移指令 ROR 循环右移指令 每执行一次 将 D 通道中的数据连同 CY 的内容 按位循环右移一 位 RRX 带扩展的循环右移 按操作数所指定的数量向右循环移位 左端用进位标志位 C 来 填充 5 根据下面的指令 写出执行的结果 根据下面的指令 写出执行的结果 ADD R3 R2 R1 LSR 2 R3 R2 R1 1 LDR R0 R1 R2 LSL 2 将存储器地址为 R1 R2 2 的字数据读入寄存器 R0 中 LDR R0 R1 4 将存储器地址为 R1 4 的字数据读入寄存器 R0 中 并将 R1 4 的值存入 R1 LDR R0 R3 R8 将存储器地址为 R3 的字数据读入寄存器 R0 中 并将 R3 R8 的值存入 R0 LDR R0 R3 R8 LSL 2 将存储器地址为 R3 的字数据读入寄存器 R0 中 并将 R3 R8 2 即 R3 R8 4 R3 和 R8 不变 LDREQSH R11 R6 有条件地 将寄存器 R6 的值传送给 R11 加载 16 位半字 带符号扩展到 32 位 STRH R4 R0 R1 将寄存器 R4 的值传送给地址为 R0 R1 的寄存器 STRD R4 R9 24 将寄存器 R4 的值传送给地址为 R9 24 的寄存器 将寄存器 R5 的值传送给地址为 R9 28 的寄存器 6 根据下面的指令根据下面的指令 写出执行的结果写出执行的结果 LDMIA R1 R0 R2 R5 R1 R0 R1 4 R2 R1 8 R5 LDMIB R1 R0 R2 R5 R1 4 R0 R1 8 R2 R1 12 R5 LDMDA R1 R0 R2 R5 R1 R0 R1 4 R2 R1 8 R5 LDMDB R1 R0 R2 R5 R1 4 R0 R1 8 R2 R1 12 R5 7 理解多寄存器寻址和堆栈寻之间的联系理解多寄存器寻址和堆栈寻之间的联系 分别写出堆栈寻找分别写出堆栈寻找 LDMFA LDMED STMEA STMFD 所对应的多寄存器寻找指令 所对应的多寄存器寻找指令 多寄存器寻址 LDMIA 每次传送后地址加 4 LDMIB 每次传送前地址加 4 LDMDA 每次传送后地址减 4 LDMDB 每次传送前地址减 4 堆栈寻址 LDMFA 满递减堆栈 LDMED 空递减堆栈 STMFD 满递增堆栈 STMEA 空递增堆栈 8 理解理解 BIC ORR TST EOR 等指令的用途等指令的用途 BIC BIC 位清除 指令对 Rn 中的值 和 Operand2 值的反码按位进行逻辑 与 运算 BIC 是 逻辑 与非 指令 实现的 Bit Clear 的功能 ORR ORR 逻辑 或 操作指令指令格式为 ORR cond S Rd Rn operand2 ORR 指令将 操作数operand2 与 Rn 的值按逻辑 或 结果存放到目的寄存器 Rd 中 TST Test 测试指令用于将一个寄存器的值和一个算术值做比较 条件标志位根据两个操 作数做 逻辑与 后的结果设置 EOR 逻辑异或 EOR Exclusive OR 指令将寄存器中的值和的 值执行按位 异或 操作 并将执行结果存储到目的寄存器中 同时根据指令的执行结 果更新 CPSR 中相应的条件标志位 9 利用 利用 MRS MSR 如何禁止或者使能如何禁止或者使能 IRQ 和和 FIQ 的中断 的中断 在 ARM 处理器中 只有 MSR 指令可以对状态寄存器 CPSR 和 SPSR 进行写操作 与 MRS 配合使用 可以实现对 CPSR 或 SPSR 寄存器的读 修改 写操作 可以切换处理器模式 或 者允许 禁止 IRQ FIQ 中断等 1 使能 IRQ 中断 ENABLE IRQ MRS R0 CPSR 将 CPSR 寄存器内容读出到 R0 BIC R0 R0 0 x80 清掉 CPSR 中的 I 控制位 MSR CPSR c R0 将修改后的值写回 CPSR 寄存器的对应控制域 MOV PC LR 返回上一层函数 2 禁用 IRQ 中断 DISABLE IRQ MRS R0 CPSR 将 CPSR 寄存器内容读出到 R0 ORR R0 R0 0 x80 设置 CPSR 中的 I 控制位 MSR CPSR c R0 将修改后的值写回 CPSR 寄存器的对应控制域 MOV PC LR 返回上一层函数 10 软中断指令 软中断指令 SWI 的立即数如何获取 理解立即数作为中断号时 整个中断服务程序的的立即数如何获取 理解立即数作为中断号时 整个中断服务程序的 调用过程 调用过程 结合 结合 ucosII 已移植好的实验代码已移植好的实验代码 1 获取 immed 24 操作数 LDR R0 LR 4 将链接寄存器 LR 的内容减去 4 后所获得的值作为一个地址 然后 把该地址的内容装载进 R0 BIC R0 R0 0 xFF000000 将 R0 的高 8 位清零 并把结果保存到 R0 意思就是取 R0 的低 24 位 2 使用参数寄存器 在执行 SWI 指令之前 给 R0 赋予某个数值 然后在 SWI 异常处理子程序中根据 R0 值 实现不同的分支处理 11 LDR 伪指令通过何种方式实现任意立即数的赋值 伪指令通过何种方式实现任意立即数的赋值 1 LDR pc MyHandleIRQ 表示将 MyHandleIRQ 符号放入 pc 寄存器中 2 LDR PC MyHandleIRQ 表示将读取存储器中 MyHandleIRQ 符号所表示的地址中的值 及需要多读一次存储器 12 Thumb 指令与指令与 ARM 指令有哪些不同 指令有哪些不同 1 Thumb 指令可以看作是 ARM 指令压缩形式的子集 是针对代码密度的问题而提出 的 它具有 16 位的代码密度但是它不如 ARM 指令的效率高 Thumb 不是一个完整的体 系结构 不能指望处理只执行 Thumb 指令而不支持 ARM 指令集 因此 Thumb 指令 只需要支持通用功能 必要时可以借助于完善的 ARM 指令集 比如 所有异常自动进入 ARM 状态 2 Thumb 指令集没有协处理器指令 信号量指令以及访问 CPSR 或 SPSR 的指令 没有乘加指令及 64 位乘法指令等 且指令的第二操作数受到限制 除了跳转指令 B 有 条件执行功能外 其它指令均为无条件执行 大多数 Thumb 数据处理指令采用 2 地址 格式 Thumb 指令集与 ARM 指令的区别一般有如下几点 跳转指令 程序相对转移 特别是条件跳转与 ARM 代码下的跳转相比 在范围上有更多的限制 转向子程序是无条件的转移 数据处理指令 数据处理指令是对通用寄存器进行操作 在大多数情况下 操作的结果须放入其中一个操 作数寄存器中 而不是第 3 个寄存器中 数据处理操作比 ARM 状态的更少 访问寄存器 R8 R15 受到一定限制 除 MOV 和 ADD 指令访问器 R8 R15 外 其它数据处理指令总是 更新 CPSR 中的 ALU 状态标志 访问寄存器 R8 R15 的 Thumb 数据处理指令不能更新 CPSR 中的 ALU 状态标志 单寄存器加载和存储指令 在 Thumb 状态下 单寄存器加载和存储指令只能访问寄存器 R0 R7 批量寄存器加载和存储指令 LDM 和 STM 指令可以将任何范围为 R0 R7 的寄存器子集加载或存储 PUSH 和 POP 指令使用堆栈指令 R13 作为基址实现满递减堆栈 除 R0 R7 外 PUSH 指令还可以存储 链接寄存器 R14 并且 POP 指令可以加载程序指令 PC 13 在非特权模式下能否对 在非特权模式下能否对 CPSR 寄存器设置 能否读取寄存器设置 能否读取 CPSR 寄存器的值 寄存器的值 提示 提示 参考实验程序有相应的代码 运行测试一下参考实验程序有相应的代码 运行测试一下 只有在特权模式下才允许对当前程序状态寄存器 CPSR 的所有控制位直接进行读 写访问 而在非特权模式下只允许对 CPSR 的控制位进行间接访问 但可以读取 CPSR 的值 14 在非特权模式下如何使能 在非特权模式下如何使能 禁止禁止 IRQ 或或 FIO 中断 中断 提示 可以先使用提示 可以先使用 SWI 指令切指令切 换到管理模式换到管理模式 使用 SWI 指令切换到管理模式 15 程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全专项方案培训资料
- 在全区社会治理工作专题会议上的讲话
- 2025年员额教师考试真题及答案
- 旅游人才结构优化路径-洞察与解读
- 2025年调研分析员岗位招聘面试参考试题及参考答案
- 2025年广东高考历史真题及答案
- 2025年内部传播专员岗位招聘面试参考试题及参考答案
- 跨语言语音合成模型优化-洞察与解读
- 2025年农业技术顾问岗位招聘面试参考题库及参考答案
- 汗孔IgG免疫信号-洞察与解读
- 高中生物家长会课件
- 《美容顾客心理分析》课件
- 内蒙古赤峰市2025届高三11月模拟考-英语答案
- 母婴同室高危儿的管理
- 妇科患者术后康复训练方案
- 高一英语必修一单词表湘教版
- 人教版(新教材)高中物理选择性必修2教学设计2:2 2 法拉第电磁感应定律教案
- 康养咨询项目合同
- 第三单元 单元导语解读-部编版语文九年级上册
- CJT 3008.3-1993 城市排水流量堰槽测量标准巴歇尔水槽
- 临床护理实践指南模拟试题(含答案)
评论
0/150
提交评论