- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2016年单片机A复习要点2016年单片机A复习要点
3.4.3 乘法 MUL AB ;累加器A与B寄存器相乘 该指令的功能是将累加器A与寄存器B中的无符号8位二进制数相乘 ,乘积的低8位留在累加器A中,高8位存放在寄存器B中。 当乘积大于FFH时,溢出标志位(OV)=1。而标志CY总是被清0。 例 若(A)=50H,(B)=0A0H,执行指令 MUL AB 之后,(A)=00H,(B)=32H,(OV)=1,(CY)=0。 3.5 逻辑运算与循环类指令(24条) 逻辑运算指令可以完成与、或、异或、清0和取反操作,当以累加器A为目的操作数时,对P标志有影响; 累加器清0操作对P标志有影响。 循环指令是对累加器A的循环移位操作,包括左、右方向以及带与不带进位位等移位方式,移位操作时,带进位的循环移位对CY和P标志有影响; 3.6 控制转移类指令(17条) 通常情况下,程序的执行是顺序进行的,但也可以根据需要改变程序的执行顺序,这种情况称作程序转移。 控制程序的转移要利用转移指令。80C51的转移指令有无条件转移、条件转移及子程序调用与返回等。 要注意区别转移、调用和中断操作的异同。 3.6.3 调用与转移 这两条指令可以实现子程序的短调用和长调用。目标地址的形成方式与AJMP和LJMP相似。这两条指令的执行不影响任何标志。 一、 调用 RET指令的功能是从堆栈中弹出由调用指令压入堆栈保护的断点地址,并送入指令计数器PC,从而结束子程序的执行。程序返回到断点处继续执行。 二、 返回 RETI指令是专用于中断服务程序返回的指令,除正确返回中断断点处执行主程序以外,并有清除内部相应的中断状态寄存器(以保证正确的中断逻辑)的功能。 第四章复习要点 三、简单运算 由于80C51指令系统中只有单字节加法指令,因此对于多字节的相加运算必须从低位字节开始分字节进行。除最低字节可以使用ADD指令外,其他字节相加时要把低字节的进位考虑进去,这时就应该使用ADDC指令。 例 双字节无符号数加法。 设被加数存放在内部RAM的51H、50H单元,加数存放在内部RAM的61H、60H单元,相加的结果存放在内部RAM的51H、50H单元,进位存放在位寻址区的00H位中。 程序段如下: MOV R0,#50H ;被加数的低字节地址 MOV R1,#60H ;加数的低字节地址 MOV A,@R0 ;取被加数低字节 ADD A,@R1 ;加上加数低字节 MOV @R0,A ;保存低字节相加结果 INC R0 ;指向被加数高字节 INC R1 ;指向加数高字节 MOV A,@R0 ;取被加数高字节 ADDC A,@R1 ;加上加数高字节(带进位加) MOV @R0,A ;存高字节相加结果 MOV 00H,C ;保存进位 。 返回:子程序调用方式 二、双分支程序 例 设变量 x 以补码的形式存放在片内RAM的30H单元,变量 y 与 x 的关系是:当 x 大于0时,y =x;当 x =0时,y =20H;当 x 小于0时,y =x+5。编制程序,根据 x 的大小求y并送回原单元。程序段如下: START:MOV A,30H JZ NEXT ANL A,#80H ;判断符号位 JZ LP MOV A,#05H ADD A,30H MOV 30H,A SJMP LP NEXT:MOV 30H,#20H LP:SJMP $ 课后题7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中。 答: ORG 0000H MOV DPTR,#1000H MOV R0,#30H MOV R7,#32 LOOP:MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR DJNZ R7,LOOP RET 例 将1位十六进制数转换成相应的ASCII码。 设十六进制数存放在R0中,转换后的ASCII 码存放于R2中。实现程序如下: HASC:MOV A,R
文档评论(0)