MCS指令系统汇编语言程序设计基础重点.pptVIP

MCS指令系统汇编语言程序设计基础重点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 MCS-51单片机指令系统;2.1 概述;二、计算机指令的基本类型;1.机器语言;2.汇编语言;3.高级语言;三、MCS-51系列单片机的指令格式;Note:;四、指令的分类;五、指令格式的符号约定;;4.2 数据传送类指令 (共29条);一、一般传送类指令 (4+3+5+3=15条);;例子:设内部RAM第30H单元内容为40H,第40H单元内容10H,P1作为输出口其输入的数据为0CAH)经过程序执行后结果。 MOV R0,#30H MOV A,@R0 MOV R1,A MOV B,@R1 MOV @R1,P1 MOV P2,P1;二、堆栈操作指令 (2条);三、累加器传送类指令 (3+2+4+2=11条);例2:编程将内部RAM中30H单元的低4位和高4位进行交换,并保持A中的内容不变。;;再来一个例子;④读程序存储器的指令(查表指令): MOVC A, @A+DPTR ;(A)←((A)+(DPTR)) MOVC A, @A+PC ; (PC)←(PC)+1, (A)←((A)+(PC));四、16位数据传送指令 (1条);例:利用查表的方法编写Y=X2(X=0, 1, 2,…, 9)的查表程序。设变量X的值存放在内存30H单元中,求得的Y的值存放在内存31H单元中;平方表存放在首地址为TABLE的程序存储器中。;;4.3 算术运算类指令 (共24条);一、加法指令;;进位(借位)标志CY为无符号整数的多字节加法、减法、移位等操作提供了方便;溢出标志OV可方便的控制补码运算;辅助进位标志AC用于BCD码运算。算术运算操作将影响PSW中的OV、CY、AC和P等。 ;例 若(A)=84H,(30H)=8DH,执行指令 ADD A,30H 之后,由于: ;带进位加法指令 ;增1;DA A 二-十进制调整指令;;例 若(A)=0101 0110B(56),表示的BCD码为,(R2)=0110 0111B(67),表示的BCD码为,(CY)=0。执行以下指令: ADD A,R2 DA A 由于(A)=0010 0011B,即,且(CY)=1,即;二、减法指令(4+1=5条);带借位减;例 若(A)=C9H,(R2)=54H,(CY)=1,执行指令 SUBB A,R2 之后,由于: ;例:试编写计算3412H-0E7FH的程序,将差的高8位存入41H,低8位存入40H。;减1;三、乘除法指令(1+1=2条); DIV AB ;累加器A除以寄存器B 该指令的功能是将累加器A中的无符号8位二进制数除以寄存器B中的无符号8位二进制数 ,商的整数部分存放在累加器A中,余数部分存放在寄存器B中。 当除数为0时,则结果的A和B的内容不定,且溢出标志位(OV)=1。而标志CY总是被清0。;4.4 逻辑运算类指令 (共24条);一、单操作数逻辑运算类指令(2+4=6条);累加器循环移位 ;例子;例子;例子;例子;二、双操作数逻辑运算类指令(6+6+6=18条);2.逻辑“或” 指令(6条) :;逻辑与;前2条指令的功能是把源操作数与直接地址指示的单元内容相或,结果送入直接地址指示的单元。 后4条指令的功能是把源操作数与累加器A的内容相或,结果送入累加器A中。;3.5.3 逻辑异或 ;逻辑“与” 指令常用来“屏蔽”某些不用的位。P72例2;;4.5 控制转移类指令 (共17条);一、无条件转移类指令(9条);主程序与子程序的调用关系图; 这两条指令可以实现子程序的短调用和长调用。这两条指令的执行不影响任何标志。 ;ACALL指令执行时,被调用的子程序的首址必须设在包含当前指令(即调用指令的下一条指令)的第一个字节在内的2K字节范围内的程序存储器中。;RET指令的功能是从堆栈中弹出由调用指令压入堆栈保护的断点地址,并送入指令计数器PC,从而结束子程序的执行。程序返回到断点处继续执行。;AJMP addr11 ;(PC)←(PC)+2, (PC)0~10←addr11 LJMP addr16 ;(PC)←(PC)+3, (PC)←addr16 NOP; ;(PC)←(PC)+1 JMP @A+DPTR ;(PC)←(A)+(DPTR) SJMP rel ;(PC)←(PC)+2,(PC)←(PC)+rel;短跳转;长跳转;空操作 ;散转指令;一个补充知识(补码);正数的补码,是其本身 +9的补码 负数的补码 符号位为1,其余位为该数绝对值的原码按位取反;然后整

文档评论(0)

***** + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档