1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2汇编语言

汇编语言与汇编程序 学习要求 了解MCS-51汇编语言指令的形式,掌握指令的格式 掌握MCS-51单片机指令的寻址方式 掌握MCS-51汇编语言指令的分类及其使用 掌握常用的伪指令 指令系统概述 汇编语言的指令格式? 标号:操作码助记符 [(目的操作数),(源操作数)];注释 换行表示一条指令结束。例如: LOOP: MOV A, #40H ;取参数 MOV R0, A 1. 寻址方式 立即寻址 由指令直接给出操作数:8位和16位。数值前加“#”表示;若十六进制英文字母A~F前加‘0’ 直接寻址 指令直接给出操作数地址的寻址方式。 寄存器寻址 以通用寄存器的内容为操作数的寻址方式。 注:A和B既是通用寄存器,又是具有直接地址的特殊功能寄存器。 寄存器间接寻址 以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。 寄存器前加‘@’ 变址寻址 操作数为程序存储器的地址,该地址是由DPTR或PC加上累加器A的内容形成的16位地址 只有读操作而无写操作 位寻址 对位地址中的内容作位操作的寻址方式 位寻址只能对有位地址的空间(20H-2FH和SFR的可寻址位)作寻址操作。 寻址空间 判断以下指令源操作数的寻址方式 MOV A,#88H PUSH ACC POP ACC MOV 28H,R4 MOVX A,@DPTR MOVC A,@A+DPTR MOV A,@R0 MOVX A,@R0 CLR C SETB 00H 2. 常用指令 MCS-51单片机共有111条指令,按功能分类,可分为5大类: 数据传送类指令(共29条) 算术操作类指令(共24条) 逻辑操作类指令(共24条) 控制程序转移类指令(共17条) 布尔变量操作类指令(共17条) (1) 数据传送类指令 传送:把源地址单元的内容传输到目的地址单元中去,源地址单元内容不变 数据传送指令不影响标志位 1. 以A为目的操作数 MOV ?A,dir MOV ?A,#data MOV ?A,Rn? MOV ?A,@Ri 例:R1=20H,(20H)=55H, 指令 MOV ?A,@R1 ;执行后,A=55H 2.以Rn为目的操作数 MOV ?Rn,dir? MOV ?Rn,#data MOV ?Rn,A 例: (40H)=30H, 指令 MOV R7,40H 执行后, R7=30H 4. 以寄存器间接地址为目的操作数 MOV ?@Ri,dir MOV ?@Ri,#data MOV ?@Ri,A 5. 查表指令(读程序存储器) MOVC ?A,@(A+DPTR) MOVC ?A,@(A+PC) 例:A=20H,DPTR=2000H, 指令 MOVC ?A,@(A+DPTR) 执行后,程序存储器2020H单元中的内容送入A。 例: MOV A,#30H MOV 4FH,A MOV R0,#20H MOV @R0,4FH MOV 21H,20H 说 明: 6. 访问外部数据RAM MOVX ?@DPTR,A MOVX ?A,@DPTR? MOVX ?A,@Ri????? MOVX ?@Ri,A 例:DPTR=2000H, 外部RAM中(2000H)=18H 指令 MOVX ?A, @DPTR ; 执行后,A=18H 例:P2=10H,R1=50H,A=64H, 指令 MOVX ?@R1,A 执行后,外部RAM中(1050H)=64H 7. 堆栈操作指令 入栈 PUSH ?dir? 出栈 POP ?dir 8. 交换指令 (1)字节交换 XCH ?A,Rn? XCH ?A,@Ri XCH ?A,dir (2)半字节交换 XCHD ?A,@Ri (3)累加器A低4位与高4位交换 SWAP ?A 例:A=80H, R0=32H, (32H)=FFH, 指令 XCHD ?A, @R0; 执行后, A=8FH, (32H)=F0H 例:A=35H, 指令 SWAP A ; 执行后, A=53H 9. 16位数据传送指令 MOV ?DPTR,#data16? 例 解释下列语句,并指出该程序段的功能 MOV R0,#61H MOV @R0,#0 XCH A,50H XCHD A,@R0 SWAP A MOV 60H,A 功能:将

文档评论(0)

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

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

1亿VIP精品文档

相关文档