单片机-汇编.pptx

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

第3章 MCS-51单片机的指令系统;3.1 汇编语言的指令格式及符号简介 ;3.2 寻 址 方 式 ;3.2.1 立即寻址;3.2.2 直接寻址;3.2.3 寄存器寻址 ;例如:设R0的内容为60H,且(60H)=10H,即60H地址单元中的内容为10H,则语句MOV A, @R0的执行过程如图3.3所示。执行后,(A)=10H,即累加器A的内容成为10H。;3.2.5 变址寻址; 相对寻址是把指令中给定的地址偏移量rel与程序计数器?PC的当前值(读出该双字节或三字节的跳转指令后,PC指向的下条指令的地址)相加,得到真正的程序转移地址。 ;3.2.6 相对寻址;3.2.7 位寻址;3.3.1 通用传送指令;例1 若(50H)=10H,则执行指令MOV A, 50H之后,(A)=10H。 例2 若(R0)=20H,(20H)=39H,则执行指令MOV A, @R0后,(A)=39H。 例3 若(R5)=55H,则执行指令MOV A, R5后,(A)=55H。;;例1 若(30H)=20H,(R0)=30H,则执行指令MOV 90H, @R0的结果为(90H)=20H。 例2 若例1中的条件不变,而执行指令MOV P1, @R0,则(P1)=20H。 ;例1 若(R0)=50H,(50H)=20H,(A)=10H,则执行指令“MOV @R0, A”后,50H单元的内容由原来的20H变为10H。;5. 16位目标地址传送指令;3.3.2 外部数据存储器(或I/O口)与累加器A传送指令;3.3.2 外部数据存储器(或I/O口)与累加器A传送指令;例1 在外部程序存储器2000H单元开始存放了数字0~9的共阴极数码管的16进制数的字形代码3FH、06H、…、6FH。要求根据A中的值(0~9)来查找该数字所对应的代码以便显示。 若用PC作基址寄存器,则需要在MOVC A, @A+PC指令前用一加法指令对地址进行调整: ADD A, #data MOVC A, @A+PC; 1. 字节交换指令;2. 半字节交换指令;3. 累加器A中高四位与低四位交换指令;例1 PUSH A ;保护A中数据 PUSH PSW ;保护标志寄存器中数据 … ;执行服务程序 POP PSW ;恢复标志寄存器中数据 POP A ;恢复A中数据;3.4.1 加减运算指令 ;例1 执行指令: MOV A, #0A9H ADD A, #0B8H 对程序状态寄存器的影响如图3.6所示。;例2 8位数加法程序片断1: MOV A, #23H ADD A, #5AH …;例3 8位数加法程序片断2: MOV A, #0ABH ADD A, #9AH …;;;;;例1 设(40H)=0BAH,(41H)=98H,试编写40H内容减去41H内容后,结果再存入40H单元的程序。 MOV A, 40H ;(A)←(40H) CLR C ;进位位C清0 SUBB A, 41H ;(A)←(A)-(41H) -(C) MOV 40H, A ;(40H)←(A) 执行以上程序后,(40H)=22H,CY=0,OV=0。;例2 设有两个16位数相减,被减数的高8位放在41H,低8位放在40H,减数高8位放在43H,低8位放在42H,差的低8位存放在50H,高8位存放在51H,借位位存放在52H。 ;1. 乘法指令;程序编制如下: MOV R0, #K ;设置被乘数地址指针 MOV A, @R0 ;被乘数送A中 MOV B, M ;乘数送B中 MUL AB ;(K)×(M) MOV R1, A ;乘积的0~7位存入R1 MOV R2, B ;暂存积的8~15位 INC R0 ;指向被乘数高8位地址 MOV A, @R0 ;取被乘数高8位 MOV B, M ;乘数送B中 MUL AB ;(K+1)×(M) ADD A, R2 ;求得乘积的8~15位 MOV R2, A ;乘积的8~15位存入R2 MOV A, B ADDC A, #00H ;求得乘积的16~23位 MOV R3, A ;乘积的16~23位存入R3;2. 除法指令;例

文档评论(0)

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

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

1亿VIP精品文档

相关文档