- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
直接寻址方式
寻址方式 Tsinghua Motorola MCU/DSP Application Center 寻址方式 1. 隐含寻址(inherent) 2. 立即寻址(immediate) 3. 直接寻址(direct) 4. 扩展寻址(extended) 5. 变址寻址(indexed) (1)无偏移量、8位、16位偏移量(0,8 and 16 bit offset) (2)堆栈指针加偏移量寻址(stack pointer) (3)带自动加1的变址寻址(post increment) 寻址方式 6. 相对寻址(relative) 7. 存储器到存储器寻址方式(memory to memory) (1)立即数寻址 (immediate) (2)直接寻址(direct) (3)变址寻址(indexed) 隐含寻址方式 在隐含寻址方式中,指令的所有有关信息均在操作码中,它可访问累加器、变址寄存器和条件码寄存器,均为单字节指令。比如DAA, CLRA, DIV。指令中只有操作码,没有操作数。指令的意义是明显的,不需要任何操作数。 例如: CLRA 功能:把累加器A清零。 立即寻址方式 在立即寻址方式中,实际操作数紧跟在指令码之后,字节数与寄存器大小一致,这类指令含有2、3或4个(当需前置字节时)字节,紧跟在操作码后面的 # 是说明符,说明后面紧跟的是操作数值而不是操作数地址。立即数限制为1或2个字节,它取决于指令所使用的寄存器大小。 例如:LDA #$FF 功能:把十六进制值$FF送到累加器A中。 直接寻址方式 在直接寻址方式中,操作数的有效地址(EA,16位)的低字节放在操作码后面的一个字节中,地址的高位字节默认为$00,不包含在指令中。直接寻址指令(两字节)能访问存储器中最低的256字节($0000-$00FF),绝大部分指令都具有直接寻址方式。它节省了指令空间,提高了指令的执行速度。直接寻址方式只能对$0000-$00FF内存空间中的操作数进行操作。有时也将直接寻址方式称为零寻址方式。 直接寻址方式指令比效果相当的扩展寻址指令少用了一个字节的程序内存空间,由于不需访问扩展内存,指令的执行时间减少了一个时钟周期。对于一个大型程序,这样的节省是很可观的。大部分单片机将$0000-$00FF的内存空出,以便设计者放置那些经常需要调用的数据。 例如:LDA $50功能:把地址为$0050的单元内容送到累加器A中。 扩展寻址方式 扩展寻址方式,操作数的有效地址为操作码后面的两个字节。因此,大多数扩展地址指令为3个字节:一个字节是操作码,两个字节是有效地址。 在汇编语言中,在单字节地址前加符号表示直接寻址。否则,编译时会在该地址字节前加上一个$00字节,就成了扩展寻址。 例如, LDA $40 表示汇编时用直接寻址。 LDA $40 汇编时将生成两字节操作数$0040,属扩展寻址。 扩展变址中,操作数占两个字节。操作数表示的是地址,故寻址范围是64K。 例如:LDA $0400 功能:把地址为$0400的单元内容送到累加器A中。 变址寻址方式 1)使用寻址寄存器的变址寻址方式 ①无偏移量变址寻址(IX) ②8位偏移量变址寻址(IX1) ③16位偏移量变址寻址(IX2) 2)使用堆栈指针的变址寻址方式 ①用堆栈指针的8位偏移量变址寻址 ②用堆栈指针的16位偏移量变址寻址 相对寻址方式 相对寻址主要用于相对转移指令。一般来讲,转移指令(不包括位操作数转移指令)由二个字节组成,其中一字节为操作码,一字节为相对偏移量。相对偏移量为有符号二进制数。如果转移条件为真,则把指令的第二字节的8位存在的偏移量加到PC中,形成有效转移地址。当转移条件为假时,执行转移指令后的指令。相对寻址的范围为操作码地址开始的-126到+129字节。在使用汇编程序时,用户不必要自己计算偏移量,汇编程序会计算偏移量,并进行校验,看它是否在转移范围内。有四个新的转移指令(BLT,BGT,BLE,BGE)通过访问标志位N,Z,V来确定相关的有符号操作数的值。 BEQ $80 如果条件成立:PC= $80; 否则顺序执行。 BRA ABC 无条件转向标号ABC处; 存储器到存储器的寻址方式 指令格式为:MOV 源地址,目的地址 (1)立即数,直接方式 MOV #$AA,$F0 功能:将立即数$AA送到地址$00F0处。 (2)直接,直接方式 MOV $00,$F0 功能:将地址$0000的内容送到地址$00F0处。 (3)自动变址,直接方式 MOV X+,$18 功能:将变址寄存器(
文档评论(0)