如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
格式:INCopr;(B/W),(opr)←(opr)+1opr:寄存器、存储器不能是段寄存器。功能:对指定的目标操作数+1操作数单元。用途:用于在循环程序中修改地址指针和循环次数。标志位影响情况:影响SF,ZF,AF,PF,OF不影响CF。例:INCAL;将AL中的内容加1INCCX;将CX中的内容加1INCBYTEPTR[BX+DI+500];将BX+DI+500所指单元内容加1INCWORDPTR[DI];存储器+1(字操作)INCDS;错ADD/ADC对条件标志位(CF/OF/ZF/SF)的影响:(1)不考虑借位的减法指令SUB格式:SUBdest,src操作:dest←(dest)-(src)src:立即数,寄存器,存储器。dest:寄存器,存储器。完成2个字节或2个字的相减。注:1.源和目的操作数不能同时为存储器操作数2.立即数不能作为目的操作数指令例子:SUBAL,60HSUB[BX+20H],DXSUBAX,CXSUBBX,CX;将BX中内容减去CX中内容,结果在BX中SUB[BP+2],CL;将BP+2所指的单元中的值减去CL中的;值,结果在BP+2所指的堆栈单元中SUBAL,20;AL中的数减去20,结果在AL中SUBSI,5010H;SI中的数减去5010H,结果在SI中SUBWORDPTR[DI],1000H;DI和DI+1所指的两单;元中的数减去1000H,结果在DI和DI+1所指的单元中SBB指令主要用于多字节的减法。格式:SBBdest,src操作:dest←(dest)-(src)-(CF)指令例子:SBBAX,CXSBBWORDPTR[SI],2080HSBB[SI],DX56H例:x、y、z均为32位数,分别存放在地址为X,X+2;Y,Y+2;Z,Z+2的存储(字)单元中,用指令序列实现wx+y+24-z,结果放在W,W+2(字)单元中。MOVAX,XMOVDX,X+2ADDAX,Y;低8位相加,结果送AXADCDX,Y+2;高8位相加,结果送DXADDAX,24ADCDX,0;x+y+24SUBAX,Z;低8位相减,结果送AXSBBDX,Z+2;高8位相减,结果送DXMOVW,AXMOVW+2,DX;结果存入W,W+2单元作用类似于C语言中的”--”操作符。格式:DECopr;opr:寄存器,存储器,不能是段寄存器操作:opr←(opr)-1,用于在循环程序中修改地址指针和循环次数。影响SF,ZF,AF,PF,OF不影响CF指令例子:DECCLDECBYTEPTR[DI+2]DECSI格式:NEGopr操作:opr←0-(opr)对一个操作数取补码相当于用0减去此操作数,故利用NEG指令可得到负数的绝对值。例:若(AL)=0FCH,则执行NEGAL后,(AL)=04H,CF=1本例中,0FCH为-4的补码,执行求补指令后,即得到4(-4的绝对值)。SUB/SBB对标志位(CF/OF/ZF/SF)的影响格式:CMPdest,src操作:(dest)-(src)CMP也是执行两个操作数相减,但结果不送目标操作数,其结果只反映在标志位上。指令例子:CMPAL,0AHCMPCX,SICMPDI,[BX+03]根据标志位来判断比较的结果比较指令在使用时,一般在其后紧跟一条条件转移指令,判断比较结果的转向。举例:比较AL、BL、CL中带符号数的大小,将最小数放在AL中。程序:CMPAL,BL;AL和BL比较JNGBBB;若AL≤BL,则转XCHGAL,BL;若AL>BL,则交换BBB:CMPAL,CL;AL和CL比较JNGCCC;若AL≤CL,则转XCHGAL,CL;若AL>CL,则交换CCC:HLT进行乘法时:8位*8位→16位乘积16位*16位→32位乘积(1)无符号数的乘法指令MUL(MEM/REG)格式:MULsrc操作:字节操作数(AX)(AL)×(src)字操作数(DX,AX)(AX)×(src)指令例子:MULBL;(AL)×(BL),乘积在AX中MULCX;(AX)×(CX),乘积在DX,AX中MULBYTEPTR[BX]格式与MUL指令类似,只是要求两操作数均为有符号数。指令例子:IMULBL;(AX)←(AL)×(BL)IMULWORDPTR[SI];(DX,AX)←(AX)×([SI+1][SI])乘法指令对CF/OF的影响:4.除法指令格式:DIVsrc操作:字节操作(AL)(AX)/(SRC)的商(AH)(AX)/(SRC)的余数字操作(AX