《微机原理寻址方式.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《微机原理寻址方式

1、立即寻址 (immediate addressing ) 双字节指令,第一个字节是操作码,第二个字节是操作数,操作数在指令中直接给出,故称为立即数。 在立即数前面必须加上前缀“#”。 如:MOV DPTR,#1234H 1234H是立即数,指令功能是把16位立即数1234H送到数据指针DPTR中,如图。 注意: 立即寻址只能用于源操作数。 MOV A,#12H (√) MOV DPTR,#1200H (√) MOV #1200H,DPTR (×) 2、直接寻址 (direct addressing) 在指令中直接给出操作数单元的地址。 如:MOV A,3AH 指令功能:把片内RAM中3AH单元内的数据传送给累加器A。如图所示: 直接寻址方式只能给出8位地址,限于片内RAM: (1)低128单元,在指令中直接以单元地址形式给出。 (2)特殊功能寄存器,在指令中直接以单元地址形式给出,还可以寄存器符号形式给出。 如:PUSH DPH==PUSH 83H3、寄存器寻址 (register addressing) 在指令中将指定寄存器的内容作为操作数。 寄存器寻址方式中,用寄存器名表示寄存器。 寻址范围:四组通用寄存器Rn(R0~R7)、部分专用寄存器( A, B, DPTR,)。 如:INC R0 指令功能:把寄存器R0的内容加1,再送回R0中。 4、寄存器间接寻址 (register indirect addressing ) 在指令中给出的寄存器内容是操作数的地址,从该地址中取出的才是操作数。 在该寻址中,寄存器的名称前需加前缀“@”。 例如,指令MOV A,@R0 指令功能:若R0寄存器的内容是3AH,指令的功能是以3AH为地址,将3AH地址单元的内容送到累加器A中。如下图: 寄存器间接寻址的寻址范围: (1)片内RAM的低128单元,只能采用R0或R1为间接寻址寄存器。其形式为@Ri(i=0,1),如MOV A,@R0。 (2)片外RAM的64KB单元,使用DPTR作为间接寻址寄存器。例如,MOVX A,@DPTR。 (3)片外RAM的低256单元,使用R0或R1作为间接寻址寄存器。 (4)堆栈区:堆栈操作指令PUSH和POP,以SP作间接寻址寄存器(隐含SP)。 5、相对寻址 (relative addressing ) 仅用于相对转移指令。 以PC的当前值(即相对转移指令执行后PC的内容),加上指令中给出的偏移量,形成程序转移的目的地址,即 目的地址=PC+偏移量 偏移量是一个8位二进制补码数,取值范围为-128~+127。 例如,指令JC 16H (二字节指令,当标志位C=1时转移,C=0时不转移) 若进位位C=0,则PC=PC+2,即顺序往下; 若进位位C=1,则PC中的当前内容(PC+2),加上偏移量80H所得结果为该转移指令的目的地址,见下图: 6、变址寻址 (index addressing ) 以DPTR或PC为基址寄存器,累加器A为变址寄存器,以两者内容相加后形成的16位地址作为操作数地址,即: 操作数的有效地址=基址寄存器+变址寄存器 例如,MOVC A,@A+DPTR 功能:把DPTR和A的内容相加后得到的程序存储器地址单元的内容送A。 变址方式常用于访问程序存储器的数据表,即查表指令。 例3-2-3:已知片外ROM的0302H单元有一常数X,现欲把它取到累加器A中,请编写相应的程序. 解: 根据变址寻址的 特点,基地址应取0300H,地址偏移量为02H.相应程序为: MOV DPTR, #0300H MOV A, #02H MOVC A, @A+DPTR 7、位寻址 (bit addressing ) 位寻址是指按位进行的寻址操作。 8051单片机中,操作数不仅可以按字节进行操作,也可以按位进行操作。把某一位作为操作数时,这个操作数的地址称为位地址。 位寻址区包括: (1RAM的位寻址区,地址范围是20H~2FH,共16个RAM单元,位地址为00H~7FH; (2SFR中有11个寄存器可以进行位寻址。 寻址位在指令中有以下4种表示方法: (1)直接使用位地址表示。 (2)特殊功能寄存器符号加位数。例如PSW寄存器的第7位,可表示为:PSW.7。 (3)位名称表示方法,特殊功能寄存器中的一些寻址位是有名称的,如PSW寄存器第7位C标志位,则可使用C表示该位。 (4)用bit定义的有名字的位地址。如: L1 bit PSW.7,用L1代替PSW

文档评论(0)

yingxiaorong28 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档