首页 > 编程知识 正文

大学计算机应用教程马秀麟电子版(ibm-pc汇编语言程序设计第二版)

时间:2023-05-04 03:31:46 阅读:70970 作者:4322

文档介绍:

8086/8088和ARM核汇编语言编程第19章Thumb指令系统Date1第1章汇编语言基础知识第20章ARM汇编编程19.2Thumb内存访问指令第20章ARM汇编编程19.1概述19.3Thumb数据处理指令5Thumb其他指令19.6Thumb伪指令Date 2第1章汇编语言基础知识20章ARM汇编器设计19.1概述Thumb指令集可视为ARM指令压缩格式的子集,是为了减少代码量而提出的,16位代码密度Thumb命令体系不完整,仅支持通用功能。 根据需要,需要使用ARM命令,例如进入异常时。 说明:Thumb指令的格式和使用方法与ARM指令集类似,使用频率不是很高,建议选择此部分。 Date3第1章汇编语言基础知识20章ARM汇编器设计19.2Thumb内存访问指令第20章ARM汇编器设计19.1概述19.3Thumb数据处理指令19.4Thumb分支指令19.5Thumb其他指令19.6Thumb伪指令Date4第1章汇编器设计m汇编器设计Thumb存储器设备访问命令助记器说明操作影响标志LDR/STRRd,地址加载/存储数据Rd[Rn,#immed_54],Rd,Rn为r0~r7 无地址加载/存储符号Rd、Rn为R0~R7ldrb/strBRD、无地址加载/存储符号字节数据Rd[Rn, #immed_51]、Rd、Rn为r0~r7无ldr shRd、有地址加载码且带地址符号的字节数据Rd[Rn,Rm]、rd、Rn, Rm为R0~R7无单一寄存器访问指令Date5第1章汇编语言基础知识第20章ARM汇编器设计Thumb存储器访问指令LDR和STR——根据指令的寻址方式可以分为以下三类寄存器偏移地址PC或SP的相对偏移寻址; Date6第1章汇编语言基础知识第20章ARM汇编器设计单寄存器访问指令——即时数偏移寻址以该寻址方式访问存储器时,存储器的地址以1寄存器的内容为基本地址,偏移1即时数进行指定。 指令格式为以下:LDR Rd、[Rn,#immed_54] : 将存储器的字数据存储在寄存器Rd的STR Rd、[Rn、#immed_54]; 在指定了Rd的字数据的地址的存储器中输入LDRH Rd、[Rn,#immed_52]; 将存储器内半字的数据存储在寄存器Rd的低位16位中的STRH Rd、[Rn、#immed_52]; 指定Rd的低位16位半字数据的存储器单元LDRB Rd、[Rn、#immed_51]; 将存储器内的字节数据存储在寄存器Rd内的STRB Rd、[Rn、#immed_51]; Rd中保存的低8位数据保存在指定的存储器单元中。Rd表示加载或存储的寄存器。 必须是R0~R7。 Rn表示基地址寄存器。 必须是R0~R7。 immed_5N表示即时整数偏移,其可能的值的范围是(0~31 ) n。 Date7第1章汇编语言基础知识第20章ARM汇编器设计单寄存器访问指令——即时数偏移指令代码指令执行的条件代码:0110b:LDR/STR指令; 1000b:LDRH/STRH命令; 0111b:LDRB/STRB命令; l加载(l为1 )或内存) l为0 ) Immed_5:5位无符号即时数偏移Rn:基地址寄存器Rd:源或目标寄存器Date8第1章汇编语言基础知识第20章ARM汇编器设计在通过指定注意事项:访问字数据时,必须确保传输地址是32位对齐的。 进行半字数据访问时,需要确保传输地址具备16位。 应用示例:LDRR0、[R1,#0x4] STRR3、[R4]LDRHR5、[R0,#0x02]STRHR1、[R0,#0x08]LDRBR3、[R6,#20]STRBR1,

指令格式为以下:LDR Rd、[Rn,Rm] : 字数据STR Rd,[Rn,Rm]; 字数据LDRH Rd,[Rn,Rm]; 无符号半字数据STRH Rd、[Rn,Rm]; 无符号半字数据LDRB Rd、[Rn,Rm]; 无符号字节数据STRB Rd、[Rn,Rm]; 无符号字节数据LDRSH Rd,[Rn,Rm]; 带符号半字数据LDRSB Rd、[Rn,Rm]; 存储设备

内容请注明转载来源于淘金www.taodocs.com。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。