第3课 MCS51单片机的指令系统.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[标号:] 操作码 [操作数,操作数] [;注释] 例:若(A)=0101 0110B,表示的BCD码为56,(R3)=0110 0111B,表示的BCD码为67, (CY)=0。执行以下指令: ADD A,R3 DA A 加1指令共有如下5条指令, 助记符为INC。 INC direct ; (direct)←(direct)+1 INC A ; (A)←(A)+1 INC Rn ; (Rn)←(Rn)+1 INC @Ri ; ((Ri))←((Ri))+1 INC DPTR ; (DPTR)←(DPTR)+1 例如: 设(R0)=7EH, (7EH)=FFH, (7FH)=38H, (DPTR)=10FEH, 分析逐条执行下列指令后各单元的内容。 INC @R0 ; 使7EH单元内容由FFH变为00H INC R0 ; 使R0的内容由7EH变为7FH INC @R0 ; 使7FH单元内容由38H变为39H INC DPTR ; 使DPL为FFH, DPH不变 INC DPTR ; 使DPL为00H, DPH为11H INC DPTR ; 使DPL为01H, DPH不变 2. 减1指令 减1指令有如下4条指令, 助记符为DEC。 DEC direct ;(direct)←(direct)-1 DEC A ;(A)←(A)-1 DEC Rn ;(Rn) ← (Rn)-1 DEC @Ri ;((Ri)) ← ((Ri))-1 乘法指令的功能是把累加器A和寄存器B中的两个8位无符号数相乘, 将乘积16位数中的低8位存放在A中, 高8位存放在B中。 若乘积大于FFH(255), 则溢出标志OV置1, 否则OV清0。 乘法指令执行后进位标志CY总是清零, 即CY=0。 另外, 乘法指令本身只能进行两个8位数的乘法运算, 要进行多字节乘法还需编写相应的程序。 例如: 若(A)=4EH(78), (B)=5DH(93) 执行指令: MUL AB 结果为: 积为(BA)=1C56H(7254) FFH(255), (A)=56H, (B)=1CH, OV=1, CY=0, P=0。 例3: 利用单字节乘法指令进行双字节数乘以单字节数运算。 若被乘数为16位无符号数, 地址为M1和M1+1(低位先、 高位后), 乘数为8位无符号数, 地址为M2, 积存入R2、 R3和R4三个寄存器中。 (M1+1) (M1) × (M2) R3 R4 + B A R2 R3 R4 参考程序如下: MOV R0, #M1 ; 被乘数地址存于R0 MOV A, @R0 ; 取16位数低8位 MOV B, M2 ; 取乘数 MUL AB ; (M1)×(M2) MOV R4, A ; 存积低8位 MOV R3, B ; 暂存(M1)×(M2)高8位 INC R0 ; 指向16位数高8位 MOV A, @R0 ; 取被乘数高8位 MOV B ,M2 ; 取乘数 MUL AB ; (M1+1)×(M2) ADD A, R3 ; (A)+(R3)得(积)15~8 MOV R3, A ; (积)15~8存R3 MOV A, B ; 积最高8位送A ADDC A,#00H ; 积最高8位+CY得(积)23~16 MOV R2, A ; (积)23~16存入R2 ? 若上述程序执行前: (M1+1)=ABH, (M1)=CDH, (M2)=64H, 则执行后: (R2)=43H, (R3)=1CH, (R4)=14H。 2. 除法指令 (A)←(A)÷(B)之商 (B)←(A)÷(B)之余数 (CY)←0, (OV)←0

文档评论(0)

word.ppt文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档