- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 3.2 寻址方式 寻址方式就是寻找操作数或程序转移或调用的目标指令的地址方式。 源操作数和目的操作数都有寻址方式,而且不一定相同。 后面提到的寻址方式默认为源操作数的寻址方式。 80C51的寻址方式有七种: 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址 表3-1 各寻址方式所寻址的寄存器和存储空间 ⒈ 立即寻址 立即寻址是在指令中直接给出操作数。 操作数前有符号“#”,表示立即数。 立即数是常数,只能作为源操作数。 立即寻址的寻址空间为ROM空间 。 例:MOV A,#38H ;将立即数38H传送至A中 ⒉ 直接寻址 直接寻址是在指令中直接给出操作数的地址。 直接寻址空间为片内128字节的RAM、特殊功能寄存器(21个SFR)。 例:MOV A,38H ;含义为“A (38H)” ⒊ 寄存器寻址 寄存器寻址的操作数在指令中给出的寄存器中 。 规定的寄存器有: ①工作寄存器R0~R7; ② 累加器A; ③ 寄存器B(以AB寄存器对形式出现); ④ 数据指针DPTR; ⑤ 位累加器C。 例:指令MOV R0,A(将A中的数据传送至R0中) 直接寻址与寄存器寻址的区别: 直接寻址是以操作数所在的字节地址出现在机器指令的编码中,占一个字节; 寄存器寻址是把工作寄存器的编码与操作码放在同一个字节中. 在汇编指令中,特殊功能寄存器A、DPTR、CY为寄存器寻址方式,B仅在乘除法指令中为寄存器寻址方式(在其它指令中用作直接寻址方式),其它特殊功能寄存器一律用作直接寻址方式; 标识符A与ACC都是指同一个寄存器,但用ACC属于直接寻址,用A属于寄存器寻址。 ⒋ 寄存器间接寻址 寄存器中的内容为地址,从该地址中取得操作数的寻址方式称为寄存器间接寻址 。 寄存器间接寻址的寻址空间为片内RAM或片外RAM 。 (1)片内RAM的数据传送采用“MOV”类指令,间接寻址寄存器采用寄存器R0或R1(堆栈操作时采用SP,但它不出现在指令表达形式中); (2)片外RAM的数据传送采用“MOVX”类指令,这时间接寻址寄存器有两种选择,一是采用R0和R1作间址寄存器,这时R0或R1提供低8位地址(外部RAM多于256字节采用页面方式访问时,可由P2口未使用的I/O引脚提供高位地址,此种方式使用时较为复杂);二是采用DPTR作为间址寄存器,特别是当高8位地址不为0时(建设使用此种方式)。 例:MOVX A,@DPTR;将DPTR所指外部RAM单元中的数据传至A(可描述为(A)=((DPTR))) 例:PUSH PSW ;将PSW中数据传送至堆栈指针SP所指的存储单元中 ⒌ 变址寻址 以一个基地址加上一个偏移量地址形成操作数地址的寻址方式称为变址寻址。 在这种寻址方式中,以数据指针DPTR或程序计数器PC作为基址寄存器,累加器A作为偏移量寄存器,基址寄存器的内容与偏移量寄存器的内容之和作为操作数地址。 变址寻址用于读ROM中的数据(采用@A+DPTR、@A+PC)。 指令“MOVC A,@A+DPTR”执行前各寄存器内容如图3-5所示,指令的执行就相当于读取ROM中240FH(将A的内容与DPTR内容相加得到的一个地址)字节单元中的内容送给累加器A,执行后A的值为240FH字节单元中的内容即88H。 ⒍ 相对寻址 相对寻址是以程序计数器PC的当前值(指读出该2字节或3字节的跳转指令后,PC指向的下条指令的地址)为基准,加上指令中给出的相对偏移量 rel 形成目标地址的寻址方式 。 rel 是一个带符号的8位二进制数,取值范围是-128~+127,在机器指令中以补码形式置于操作码之后存放。 相对寻址一般用于相对转移指令,转移目的地址=当前PC值+相对偏移量rel。 具体执行过程略。 ⒎ 位寻址 位寻址是对片内RAM和特殊功能寄存器中的可寻址位进行操作的寻址方式。 采用位寻址指令的操作数是8位二进制数中的某一位,指令中给出的是位地址。位寻址方式实质属于位的直接寻址。 寻址空间为:片内RAM的20H~2FH字节单元中的128个可寻址位;SFR中的可寻址位。 位地址的表示方法有三种: (1)使用物理的位地址。如指令“MOV C,07H”中的07H表示字节单元20H的最高位。 (2)采用字节单元地址加位号的形式。如指令“MOV C,20H.7”中的20H.7表示字节单元20H的最高位。 (3)采用可进行位寻址的特殊功能寄存器的寄存器名加位号的形式。如指令“MOV C,ACC.6”表示将A的次高位中的数据传送至进位位CY,这里不能写作“A.6”。 练习:指出下列指令中源操作数的寻址方式: MOV R0,60H MOV R0,#6
您可能关注的文档
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机1.1.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机1.2.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机1.3 1.4.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机1.5.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机1.6.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机2.1 2.2.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机2.3.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机2.4.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机2.5 2.6.ppt
- 单片机原理及应用 教学课件 作者 孙康岭刘永海 主编 单片机3.1.ppt
文档评论(0)