网站大量收购闲置独家精品文档,联系QQ:2885784924

第3章8051指令系统11.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 8051指令系统 重点掌握 寻址方式 指令分类 记住常用指令 3.1 汇编语言 指令组成:操作码、操作数(或操作数地址) 表示形式: 二进制机器码10001000 十六进制机器码: 74 88 助记符: MOV A, #88H 指令字节数 单字节指令,49条 A3(INC DPTR),隐含操作数 E8(MOV A,R0),由最低3位指定操作数 双字节指令,45条 74 88(MOV A, #88H),操作码、操作数各占一个字节 三字节指令,17条 90 12 34(MOV DPTR, #1234H) 3.2 寻址方式 七种寻址方式: 寄存器寻址 直接寻址 立即寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址 1 寄存器寻址 所需的操作数在某个工作寄存器(R0~R7,A,B,DPTR)中,指令中指出寄存器: INC Rn; 0000 1rrr, rrr=000~111,对应n取0~7,表3-1 INC R0; 0000 1000 2 直接寻址 指令码中含有操作数的地址,机器根据地址找到操作数 MOV A,direct;E5 ×× 如:MOV A,20H 注意:若直接寻址的地址是SFR中的某一个时,可用名称符号: MOV A,TH0 MOV A,8CH 3 立即寻址 指令码中直接含有所需地址的操作数(立即数),如: MOV A,#0C0H; 74 C0 MOV DPTR,#3000H; 90 30 00 注意:#表示立即数 4 寄存器间接寻址 指令中指定的寄存器的内容是操作数所在单元的地址。 间接寻址采用@Ri或@DPTR,@是寄存器间接寻址的标记。 若(R0)=30H,(30H)=0FFH MOV A , R0 MOV A , @R0 5 变址寻址 MOVC A, @A+PC MOVC A, @A+DPTR 注意:变址寻址区只能是程序存储器。 执行前,应预先在DPTR和A中存放地址,为执行指令(查表)提供条件。 例:MOV DPTR,#02F1H/MOV A,#11H/ MOVC A,@A+DPTR 6 相对寻址 指令码中含有相对地址的偏移量rel(8位补码形式),2或3字节 目的地址=源地址+指令字节数(2或3)+rel 【例3-5】 偏移量的计算: rel=目的地址-源地址-2或3 转移范围:-128~+127 7 位寻址 指令中含有位地址bit,8位地址 位地址和字节地址的区分通过指令区分: MOV A,20H MOV C,20H 可供位寻址的区域 片内RAM的20H~2FH为位寻址空间(00~7FH) 某些SFR:凡是地址能被8整除的SFR,共11个。 位地址的表示方法 位符号,MOV C,ACC.7 位地址,MOV 20H,C 字节地址加位数,MOV 24H.0,C 寻址空间基符号注释 1. 寻址空间,P57表3-2 2. 符号注释: Rn,Ri #data,#data16 direct addr11,addr16 bit @ / →,用于注释 3.3 指令系统 MCS-51汇编语言指令系统共111条指令。字节数,周期数。 数据传送类:28条 算术运算类:24条 逻辑运算类:25条 控制转移类:17条 位操作类: 17条 1 数据传送类28条 MOV, MOVC, MOVX, PUSH, POP, XCH(D) 传送数据可在ACC(指令中记为A),R0~R7,内部RAM,外部RAM,程序存储器之间进行,其中A, R0~R7的操作最多 传送类指令不影响PSW(除P位) 一些是整字节(8位)数传送,部分是半字节(4位)传送 数据传送时,源数据不变 了解机器码的含义 数据传送类指令小结 已知:(70H)=60H,(60H)=20H MOV R0,#70H ;R0=70H MOV A,@R0 ;A=60H MOV R1,A ;R1=60H MOV 40H,@R1 ;(40H)=20H MOV @R0,R1 ;(70)=60H 查表指令举例1 ORG 8000H ;伪指令,指定下面程序存放的起始地址 MOV A ,#40H ;2字节 MOVC A,@A+PC ;1字节,PC=8003, A=(8043H)=44H … ORG 8040H DB 41H,42H,43H,44H ;定义数据(表格) 查表指令举例2,y=2x+6 ORG 8000H

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档