2022年X汇编语言程序设计⑤.指令系统加减运算指令[归 .pdf
《2022年X汇编语言程序设计⑤.指令系统加减运算指令[归 .pdf》由会员分享,可在线阅读,更多相关《2022年X汇编语言程序设计⑤.指令系统加减运算指令[归 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、80X86 汇编语言程序设计第二章 8086/8088 寻址方式和指令系统(二)加减运算指令1.加法指令ADD格式: ADD OPRD1,OPRD2执行的操作: (OPRD1 )(OPRD1 )+(OPRD2 )例如 :MOV AX,7896H ;(AX)=7896H即( AH)=78H ( AL )=96H ;各标志位保持不变ADD AL,AH ;AL=AL+AH=96H+78H(=10EH)= 0EH前面的 1给了进位标志CF 。即( AH)=78H ( AX)=780EHCF=1PF=0AF=0ZF=0SF=0OF=0 例如 :ADD DX,0F0F0H执行前( DX)=4652H执行后
2、( DX)=4652H+F0F0H(=13742H)=3742H 前面的 1给了进位标志CF 。ZF=0 SF=0 CF=1 OF=0这里 4的二进制码是0100 ,F 是1111,一个正数一个负数相加肯定OF 是0。例如 :ADD AX,4321执行前( AX) =62A0H执行后( AX) =62A0+4321=A5C1H 这里要注意,A 的二进制数是1010 ,最高有效位为1,所以 SF 为1。两个正数相加,结果为负的就溢出;两个负数相加,结果为正的就溢出。SF=1 ZF=0 CF=0 OF=1这里 6的二进制码是0110 ,而 4的二进制码是0100 ,两个正数相加,结果A 为1010
3、 为负,所以OF 为1。从上面例子可看出:加法指令影响标志位。OF 位根据操作数的符号及其变化情况来设置:若两个操作数的符号相同而结果的符号与之相反时 OF=1 ,否则 OF=0 。CF 位可以用来表示无符号数的溢出。由于无符号数的最高有效位只有数值意义而无符号意义,所以从该位产生的进位应该是结果的实际进位值,但在有限数的范围内就说明了结果。2.带进位加指令ADC (Add with Carry)格式: ADC OPRD1,OPRD2执行的操作: (OPRD1 )(OPRD1 )+(OPRD2 )+(CF)例如 :下列指令序列执行两个双精度(32位)的加法。设目的操作数放在DX 和 AX 寄存
4、器中,其中 DX 存放高位字,源操作数存放在BX、 CX 中,其中BX 存放高位字。 ( 双精度的数高位和高位相加,低位和低位相加,首先加低位。)如指令执行前: ( DX)=0002H (AX )=0F365H (BX)=0005H (CX)=0E024H指令序列为:ADD AX,CX名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - ADC DX,BX执行第一条指令后:(AX ) =AX+CX=F365+E024)=1D389 )
5、 =D389HSF=1 ZF=0 CF=1 OF=0这里 F 的二进制是 1111,E 的二进制是 1110 ,得出的 D 是1101 。所以 OF 为0。 (8以上全是负的,8以下全是正的)执行第二条指令后:(DX )=DX+BX+CF=0002+0005+0001=0008HSF=0 ZF=0 CF=0 OF=0则该指令序列执行完后:(DX)=0008H (AX )=D389H从上面的例子可以看出:为实现双精度加法,必须用两条指令分别完成低位字和高位字的加法,而且在高位字相加时,应该使用 ADC 指令以便把前一条ADD 指令作低位字加法所产生的进位值加入高位字之内。另外,带符号的双精度数的
6、溢出,应该根据ADC 指令的 OF 位来判断,而作低位加法用的ADD 指令的溢出是无意义的。此指令影响标志位。3.加1指令 INC (INCrement )格式: INC OPRD这条指令完成对操作数OPRD 加1,然后把结果送回OPRD ,即:(OPRD )(OPRD )+1操作数 OPRD 可以是通用寄存器,也可以是存储单元。这条指令执行的结果影响标志ZF 、SF、OF、PF 和 AF,但它不影响CF 。该指令主要用于调整地址指针和计数器。例如:写出把首地址为BLOCK的字数组的第6个字送到DX 寄存器的指令。要求使用以下几种寻址方式:(1)寄存器间接寻址MOV BX,OFFSET BLO
7、CK ;首先把BLOCK 里的偏移地址送给BX ,这里也可以用 LEA BX,BLOCKADD BX,000AH MOV DS,BX(2)寄存器相对寻址LEA BX,BLOCK ;也可以 MOV BX,OFFSET BLOCKMOV DX,BX000AH4.减法指令SUB ( SUBtraction)格式: SUB OPRD1,OPRD2执行的操作: (OPRD1 )(OPRD1 )-(OPRD2 )例如 :SUB SI+14H,0136H指令执行前(DS)=3000H , (SI)=0040H , (30054H )=4336物理地址 =DS+SI+14H=30000+0040+0014=3
8、0054H SUB(30054H )=4336-0136=4200H指令执行后(30054H )=4200HSF=0 ZF=0 CF=0 OF=0名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 例如 :SUB DH,BP+4指令执行前(DH) =41H, (SS )=0000H, (BP )=00E4H, (000E8H )=5AHSS:BP=00000+00E4+4=000E8 =5AHSIB DH-BP=41H-5AH=E7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年X汇编语言程序设计.指令系统加减运算指令归 2022 汇编语言 程序设计 指令系统 加减 运算 指令
限制150内