7传送指令算术指令逻辑操作指令.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第3章 MCS-51单片机指令系统和汇编语言程序示例 MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送; MOVX (Move External RAM) 对外部RAM的数据传送; (1)数据传送类指令 指令助记符 操作功能注释 MOVX A,@DPTR ; (A)←((DPTR)) MOVX A,@Ri ; (A)←((Ri)) ,i=0或1 MOVX @DPTR ,A ; ((DPTR))←(A) MOVX @Ri,A ; ((Ri))←(A) ,i=0或1 MOVC(Move Code):读取程序存储器数据表格的数据传送; 指令助记符 操作功能注释 MOVC A, @A+DPTR ;(A)←((A)+(DPTR)) MOVC A, @A+PC ;(PC)←(PC)+1,(A)←((A)+(PC)) 注意:第二条指令编程时还需要进行偏移量的计算,即MOVC A,@A+PC指令所在地址与表格存放首地址间的距离量计算,并需要一条加法指令ADD进行地址调整。 偏移量=表首地址-(MOVC指令所在地址+1) PUSH POP XCH XCHD ADD ADDC SP←( SP ) +1, (SP) ←(direct) (direct)← (SP), SP←(SP)-1 主要用于多字节的加法运算。 (2)带进位的加法指令(Add with Carry) 注意:带进位加法指令主要用于多字节的加法运算。 例:试编写1234H+1FE7H的程序,将和的高8位,存入41H单元,低8位存入40H单元。 解: 两个16位数相加可分两步进行,第一步先对低8位相加。第二步再对高8位相加。考虑到第一步相加时可能产生进位,因而第二步必须用带进位加法指令。 MOV A,#34H ADD A,#0E7H MOV 40H,A MOV A,#12H ADDC A,#1FH MOV 41H,A (3)增量指令INC-(Increment)  INC A; INC Rn; 00001rrr INC direct; INC @Ri; 0000011i INC DPTR; 这组增量指令的功能是把所指出的变量加1,若原来为0FFH,将溢出为00H,不影响任何标志。 例题:课本58页例3-10 直接地址 助记符 机器码 例3-10 设(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H, (40H)=00H,执行指令: INC A ;(A)+1 ?A INC R3 ;(R3)+1 ? R3 INC 30H ;(30H)+1 ? 30H INC @R0 ;((R0))+1 ?(R0) 结果:(A)=00H,(R3)=10H,(30H)=0F1H,(40H)=01H,PSW状态不改变。 (4)十进制调整指令DA (Decimal Adjust) DA A 这条指令是在进行BCD码加法运算时,跟在ADD和ADDC指令之后,用于对BCD码的加法运算结果自动进行修正,使其仍为BCD码表达形式。 该指令的执行过程如图3-2所示。(P59页) 例:累加器A中BCD数是5,立即数为8,执行加法指令“ADD A,#8”,在CPU中是按二进制加法进行的,其结果如下00001101 所得值为非法BCD码,但若将其结果加6调整后,就得到正确的结果,操作如下: +得BCD码13,结果正确。 +参考程序如下:MOV A,#65H ADD A,#58H DA A 例:编程实现BCD码65+58相加 (5)带进位减法指令SUBB (Subtract with Borrow) 思考题:怎样进行不带借位位的减法操作? 需先清借位位,即置CY=0 CLR C 注意:带

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档