- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
间接寻址寄存器前缀
7.相对寻址方式 Rn: 当前寄存器区的8个工作寄存器R0~R7(n=0~7)。 Ri: 当前寄存器区中可作间接寻址寄存器的2个寄存器R0、 R1(i=0,1)。 Direct:直接地址,即8位的内部RAM或特殊功能寄存器的字 节地址。 #data:包含在指令中的8位立即数。 #data16:包含在指令中的16位立即数。 Rel:相对转移指令中的偏移量,为8位的带符号补码数。 DPTR为16位的数据指针,分为DPH和DPL。操作十分灵活方便。 对于所有MOV类指令,累加器A是一个特别重要的8位寄存器 Rn为所选择的寄存器组中的R0~R7 直接地址direct为内部RAM的00H~7FH和特殊功能寄存器(地址范围80H~FFH) 在间接地址中,用R0或R1作为内部RAM的地址指针,可访问内部RAM的00H~7FH共128个单元。 (4)比较转移 用于无符号数大小的比较 指令格式: CJNE 操作数1,操作数2,rel 若操作数1=操作数2,则不转移; 操作数1≠操作数2,则转移,且: 操作数1操作数2,置Cy=0 操作数1操作数2,置Cy=1 两数的比较指令: CJNE A, direct,rel CJNE A, #data, rel CJNE Rn,#data, rel CJNE @Ri,#data, rel (1) 短调用指令 ACALL addrll addr11为子程序起始地址,编程时addr11的表示形式为子程序标号; (2)中断返回指令 RETI 与RET指令相似,两指令不同之处,是本指令清除了中断响应时,被置“1”的内部中断优先级寄存器的优先级状态。 必是任何中断服务程序的最后一句指令 表2-5 89C51内部RAM的可寻址位及其地址 特殊功能 寄存器 位 地 址 字 节地 址 D7 D6 D5 D4 D3 D2 D1 D0 B F7H F6H F5H F4H F3H F2H F1H F0H F0H Acc E7H E6H E5H E4H E3H E2H E1H E0H E0H PSW D7H D6H D5H D4H D3H D2H D1H D0H D0H IP — — — BCH BBH BAH B9H B8H B8H P3 B7H B6H B5H B4H B3H B2H B1H B0H B0H IE AFH — — ACH ABH AAH A9H A8H A8H P2 A7H A6H A5H A4H A3H A2H A1H A0H A0H SCON 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H 98H P1 97H 96H 95H 94H 93H 92H 91H 90H 90H TCON 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 88H P0 87H 86H 85H 84H 83H 82H 81H 80H 80H 表2-6 SFR中的位地址分布 (2)出栈指令 POP direct 将SP指示的栈顶单元的内容送入direct字节中,SP减1。 * 例如:当(SP)=62H,(62H)=70H,(61H)=30H时,执行指令 POP DPH ;((SP))→DPH,(SP)-1→SP POP DPL ;((SP))→DPL,(SP)-1→SP 结果为(DPTR)=7030H,(SP)=60H。 单字节的加、减、乘、除法指令; 执行的结果对Cy、Ac、OV、P 标志位有影响。 增1和减1指令不影响上述标志。 * 3.4.2 算术运算类指令 1.不带进位加法指令 指令格式: ADD A,源操作数 共有4条加法运算指令: ADD A, Rn ;(A)+(Rn)→A,n=0~7 ADD A, direct ;(A)+(direct)→A ADD A, @Ri ;(A)+((Ri))→A,i=0,1 ADD A, #data ; (A)+#data→A 8位加法指令的一个加数总是来自累加器A,而另一个加数可由寄存器寻址、直接寻址、寄存器间接寻址和立即数寻址等不同的寻址方式得到。加的结果总是放在累加器A中。 使用本指令时,要注意累加器A中的运算结果对各个标志位的影响: * (1)如果位7有进位,则进位标志Cy置1,否则Cy清0。 (2)如果位3有进位,辅助进位标志Ac置1,否则Ac清0。 (3)如果位6有进位,而位7没有进位,或者位7有进位,而位6没有
文档评论(0)