- 1、本文档共88页,可阅读全部内容。
- 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.4.4 控制转移类指令 1.长转移指令 LJMP addr16 指令执行时,把转移的目的地址,即指令的第二和第三字节分别装入PC的高位和低位字节中,无条件地转向addr16指定的目的地址:64KB程序存储器地址空间的任何位置。 2.相对转移指令 SJMP rel 无条件转移,rel为相对偏移量,是一单字节的带符号8位二进制补码数,因此程序转移是双向的。rel如为正,向地址增大的方向转移;rel如为负,向地址减小的方向转移。 * 栏脊虹瞩坐岗铅轴睫赂阶贯纶哎搜到柄蜡吏妹荣踪丑狞京巫掷皖败陷网竿单片机第3章 AT89S51单片机的指令系统单片机第3章 AT89S51单片机的指令系统 * 执行时,在PC加2(本指令为2B)之后,把指令的有符号的偏移量rel加到PC上,并计算出目的地址。 编程时,只需写上目的地址标号, 相对偏移量由汇编程序自动计算。例如: LOOP:MOV A,R6 ?????? ? ……???????????????? ? SJMP LOOP ? …… 汇编时,跳到LOOP处的偏移量由汇编程序自动计算和填入。 3.绝对转移指令 AJMP addr11 * 仰芹深皇丢涉勤亲触寿沃姐肛蛾仇舌垦胁俭秸锌荔塔古钡裴黑毯企捆氏娇单片机第3章 AT89S51单片机的指令系统单片机第3章 AT89S51单片机的指令系统 * 指令双字节,格式如下: 指令提供11位地址A10~A0(即addr11),其中A10~A8则位于第1字节的高3位,A7~A0在第2字节。操作码只占第1字节的低5位。 指令构造转移目的地址:执行本指令,PC加2,然后把指令中的11位无符号整数地址addr11(A10~A0)送入PC.10~PC.0,PC.15~PC.11保持不变,形成新的16位转移目的地址。 蔓涧衅悍太仙短暗捐腕见狸嫌壬潞泳专厘拾擒占之屑传也迢翁跋耪汉橡问单片机第3章 AT89S51单片机的指令系统单片机第3章 AT89S51单片机的指令系统 * 需注意,目标地址必须与AJMP指令的下一条指令首地址的高5位地址码A15~A11相同,否则将混乱。所以,是2KB范围内的无条件跳转指令。 4.间接跳转指令 JMP @A+DPTR 单字节转移指令,目的地址由A中8位无符号数与DPTR的16位无符号数内容之和来确定。以DPTR内容为基址,A的内容作为变址。给A赋予不同值,即可实现多分支转移。 雇搂被撇藩眨坠中料萍泣蒲橱藩咏血乓粤绚池妊瓦琵霉氰鸭和腋赠撰惩惑单片机第3章 AT89S51单片机的指令系统单片机第3章 AT89S51单片机的指令系统 MOV的后面加“X”,表示访问的是片外RAM或I/O口,在执行前两条指令, (P3.7)有效;后两条指令, (P3.6)有效。 采用16位的 DPTR间接寻址,可寻址整个64KB片外数据存储器空间,高8位地址(DPH)由P2口输出,低8位地址(DPL)由P0口输出。 采用Ri(i?=0,1)进行间接寻址,可寻址片外256个单元的数据存储器。8位地址由P0口输出,锁存在地址锁存器中,然后P0口再作为8位数据口。 8.查表指令 共两条,仅有的两条读程序存储器中表格数据的指令。由于程序 苔称溉壕藻祟日芳矢谁纺候逼硫历晋又绽微旗护钻柬烹销手崇壤系卷酌狱单片机第3章 AT89S51单片机的指令系统单片机第3章 AT89S51单片机的指令系统 存储器只读不写,因此传送为单向,从程序存储器中读出 数据到A中。两条查表指令均采用基址寄存器加变址寄存器间接寻址方式。 (1)MOVC A,@A+PC 以PC作为基址寄存器,A的内容(无符号数)和PC的当前值(下一条指令的起始地址)相加后得到一个新的16位地址,把该地址的内容送到A。 例如:当 (A)=30H时,执行地址1000H处的指令 1000H: MOVC A,@A+PC 垮榨神霓梭耶渴拼逸惩婚蝇重旁社恤叮磷彝恩愧哟犹至拾绽记粟秧长键傍单片机第3章 AT89S51单片机的指令系统单片机第3章 AT89S51单片机的指令系统 该指令占用一个字节,下一条指令的地址为1001H,(PC)=1001H再加上A中的30H,得1031H,结果把程序存储器中1031H的内容送入累加器A。 优点:不改变特殊功能寄存器及PC的状态,根据A的内容就可以取出表格中的常数。 缺点:表格只能存放在该条查表指令所在地址的+256个单元之内,表格大小受到限制,且表格只能被一段程序所用。 (2)MOVC A,@A+DPTR DPTR为基址寄存器,A的内容(无符号数)和DPTR的内容相加得到一个16位地址,把由该地址指定的程序存储器单 颤琢包狡冒埠余剐沙游形擎斤挺楷仁苞跌仑解言耶厩瘫亲揩逞醋扛氨够奥单片机第3章 AT89S51单
文档评论(0)