传送指令算术指令逻辑操作指令

传送指令算术指令逻辑操作指令

ID:39105872

大小:1.11 MB

页数:32页

时间:2019-06-24

传送指令算术指令逻辑操作指令_第1页
传送指令算术指令逻辑操作指令_第2页
传送指令算术指令逻辑操作指令_第3页
传送指令算术指令逻辑操作指令_第4页
传送指令算术指令逻辑操作指令_第5页
资源描述:

《传送指令算术指令逻辑操作指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVX(MoveExternalRAM)对外部RAM的数据传送;(1)数据传送类指令指令助记符操作功能注释MOVXA,@DPTR;(A)←((DPTR))MOVXA,@Ri;(A)←((Ri)),i=0或1MOVX@DPTR,A;((DPTR))←(A)MOVX@Ri,A;((Ri))←(A),i=0或1MOVC(MoveCode):读取程序存储器数据表格的数据传送;指令助记符操作功能注释MOVCA,@A+DPTR;(A)←((A)+(DPTR))MOVCA,@A+PC;(PC)←(PC

2、)+1,(A)←((A)+(PC))注意:第二条指令编程时还需要进行偏移量的计算,即MOVCA,@A+PC指令所在地址与表格存放首地址间的距离量计算,并需要一条加法指令ADD进行地址调整。偏移量=表首地址-(MOVC指令所在地址+1)PUSHPOPXCHXCHDADDADDCSP←(SP)+1,(SP)←(direct)(direct)←(SP),SP←(SP)-1主要用于多字节的加法运算。(2)带进位的加法指令(AddwithCarry)注意:带进位加法指令主要用于多字节的加法运算。例:试编写1234H+1FE7H的程序,将和的高8位,存入41H单元,低8位存入40H单元

3、。解:两个16位数相加可分两步进行,第一步先对低8位相加。第二步再对高8位相加。考虑到第一步相加时可能产生进位,因而第二步必须用带进位加法指令。MOVA,#34HADDA,#0E7HMOV40H,AMOVA,#12HADDCA,#1FHMOV41H,A(3)增量指令INC-(Increment)INCA;00000100INCRn;00001rrrINCdirect;00000101INC@Ri;0000011iINCDPTR;10100011这组增量指令的功能是把所指出的变量加1,若原来为0FFH,将溢出为00H,不影响任何标志。例题:课本58页例3-10直接地址助记符机

4、器码例3-10设(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)=40H,(40H)=00H,执行指令:INCA;(A)+1AINCR3;(R3)+1R3INC30H;(30H)+130HINC@R0;((R0))+1(R0)结果:(A)=00H,(R3)=10H,(30H)=0F1H,(40H)=01H,PSW状态不改变。(4)十进制调整指令DA(DecimalAdjust)DAA这条指令是在进行BCD码加法运算时,跟在ADD和ADDC指令之后,用于对BCD码的加法运算结果自动进行修正,使其仍为BCD码表达形式。该指令的执行过程如图3-2所示。(

5、P59页)例:累加器A中BCD数是5,立即数为8,执行加法指令“ADDA,#8”,在CPU中是按二进制加法进行的,其结果如下000010000000110100000101所得值为非法BCD码,但若将其结果加6调整后,就得到正确的结果,操作如下:+0000110100010011得BCD码13,结果正确。+00000110参考程序如下:MOVA,#65HADDA,#58HDAA例:编程实现BCD码65+58相加(5)带进位减法指令SUBB(SubtractwithBorrow)思考题:怎样进行不带借位位的减法操作?需先清借位位,即置CY=0CLRC注意:带进位减法指令主要用

6、于多字节的减法运算。例:试编写341FH-12E7H的程序,将结果的高8位,存入41H单元,低8位存入40H单元。MOVA,#1FHCLRCSUBBA,#0E7HMOV40H,AMOVA,#34HSUBBA,#12HMOV41H,A例:双字节无符号数(R0R1)-(R2R3)→(R4R5)MOVA,R1CLRCSUBBA,R3MOVR5,AMOVA,R0SUBBA,R2MOVR4,A(6)减1指令(DEC-Decrement)例:课本59例3-12减1指令的功能是将指定单元的内容减1,结果再放回到该单元中去。这类指令不影响标志位。例3-12设(A)=0FH,(R7)=19H

7、,(30H)=00H,(R1)=40H,(40H)=0FFH,执行指令:DECA;(A)-1ADECR7;(R7)-1R7DEC30H;(30H)-130HDEC@R1;((R1))-1(R1)结果:(A)=0EH,(R7)=18H,(30H)=0FFH,(40H)=0FEH,P=1不影响其它标志。(7)乘法指令(MUL-Multiplication)助记符机器码MULAB10100100;A×B→BA该指令的功能是累加器A中8位无符号整数除以B寄存器中8位无符号整数,商存于A中,余数存于B中。标志位Cy和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。