- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新型微机07
第六讲 指令系统;3.4 8086的指令系统;3.4.2算术运算指令;加减法运算特点;加减法运算特点;;;标志位(条件码)判断规则;3.4.2算术运算指令;1)无进位加法指令ADD
指令格式:ADD dst , src ;
功 能 :(dst) ?(dst)+(src)
src:立即数,通用寄存器,存储器
dst:通用寄存器,存储器
例:
ADD CL,10
ADD DX,SI
ADD AX, [2F00H]
ADD 100H[BX], AL
ADD [DI], 30H ;特点:
可进行8位或16位的无符号数或有符号数加法运算;
源操作数和目标操作数不能同时为存储器, 不能为段寄存器;
指令影响标志位
8位(有符号)数相加,和超出范围(-128~+127),或16位(有符号)数相加,和超出范围(-32768 ~ +32767),则 O=1
8位(无符号)数相加,和超过255,或16位(无符号)数相加,和超过65535,则 C=1,
其他标志(S,A,P,Z)由运算结果按定义确定。;2)带进位加法指令ADC
格式: ADC dst,src ;
功能:(dst)←(dst)+(src)+C
C: 进位标志C的现行值(上条指令C值)
特点: 与ADD同。
用途:主要用于多字节运算中。
类型举例:
ADC CX, 300
ADC AL, BL
ADC DX, [SI]
ADC BYTE PTR [2000H], 6;
【例】无符号双字加法运算,两个32位与0F0F0F0F0H之和 。
MOV AX,4652H ;(AX)=4652H
ADD AX,0F0F0H ;(AX)=3742H,CF=1
MOV DX,0234H ;(DX)=0234H
ADC DX,0F0F0H ;(DX)=0F325H,CF=0
;3)加 1 指令 INC
格式: INC dst ;
功能: (dst)←(dst)+1
dst : 通用寄存器、存储器;
用途:用于在循环程序中修改地址指针和循环次数。
标志位影响情况:影响S, Z, A, P, O;不影响C。; [例]
INC DL ; 8位寄存器+1
INC SI ;16位寄存器+1
INC [2100H] ;错误
应改为
INC WORD PTR [2100H]
INC BYTE PTR [BX][SI] ;存储器+1(字节操作)
INC WORD PTR [DI] ;存储器+1(字操作)
INC DS ; 错;4)加法ASCII调整指令AAA ;AAA指令的调整步骤是:
(1)如AL寄存器的低4位在十六进制数A~F之间或AF为1,则AL寄存器的内容加6,AH寄存器的内容加1,并将AF位置1;
(2)清除AL寄存器的高4位;
(3)AF位的值送CF位。; 例: ADD AL,BL
AAA
如指令执行前,(AX)=0535H,(BL)=39H,可见AL和BL寄存器的内容分别为5和9的ASCII码。
第一条指令执行完后,(AL)=6EH,AF=0。
第二条指令进行ASCII调整的结果使 (AX)=0604H,AF=1,CF=1。;5)加法十进制调整指令DAA ;DAA指令的调整方法是:
如果AF标志(辅助进位位)为1,或者AL寄存器的低4位是十六进制的A~F,则AL寄存器内容加06H,且将AF位置1;
如果CF标志为1,或者AL寄存器的高4位是十六进制的A~F,则AL寄存器内容加60H,并将CF位置1。;例:ADD AL, BL DAA其中初值:(AL)=28, (BL)=68;;2、减法指令(Subtraction)
8086有7条减法指令:
SUB(Subtraction) 不含借位减法指令
SBB(Subtraction with Borrow)含借位减法指令
DEC(Decrement by 1) 减1指令
CMP(Compare) 比较指令
NEG(Negate) 求补指令
AAS(ASCII Adjust for Subtraction) 减法ASCII调整指令
DAS(Decimal Adjust
文档评论(0)