历粤毛子代枝大学 4.2.1加减法指令 XIDIAN UNIVERSITY ●加法指令 1.ADD(普通加法指令) 2.ADC(考虑借位的加法指令) 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn7
加法指令 4.2.1 加减法指令 7 1. ADD(普通加法指令) 2. ADC(考虑借位的加法指令) 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
历安毛子种枝大学 4.2.1加减法指令 XIDIAN UNIVERSITY ●加法指令 ADD DST,SRC (DST)-(SRC)+(DST) ;CPU根据结果设置6个状态标志位 ADC DST,SRC (DST)-(SRC)+(DST)+(CF) ;CPU根据结果设置6个状态标志位 ·SRC:取立即数、通用REG和MEM单元 ·DST:取通用REG、MEM单元 ·SRC和DST不能同时取存储单元。 不区分有/无符号数
加法指令 4.2.1 加减法指令 8 ADD DST, SRC ;(DST) ←(SRC)+(DST) ;CPU根据结果设置6个状态标志位 ADC DST, SRC ;(DST) ←(SRC)+(DST)+(CF) ;CPU根据结果设置6个状态标志位 • SRC:取立即数、通用REG和MEM单元 • DST:取通用REG、MEM单元 • SRC和DST不能同时取存储单元。 不区分有/无符号数
历粤毛子代枝大 4.2.1加减法指令 XIDIAN UNIVERSITY 加法指令(ADD、ADC-Add byte or word/.with carry) 例:设变量VAR1为字型变量,VAR2为字节变量,则有 ADD AX.56AOH ;(AX)←-(AX)+56A0H ADC VARI,127FH (VAR1)(VAR1)+127FH+(CF) ADC AX.BX (AX)(AX)+(BX)+(CF) ADD AX.VARI ;(AX)←-(AX)+(VAR1) ADD BX,VARI[DI] (BX)-(BX)+(OFFSET(VAR1)+(DI)) ADD BL.VAR2 ;(BL)←-(BL)+(VAR2) ADD BYTE PTR VAR1,AL;(VARI的低位字节)-(VARI的低位)+(AL) 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
加法指令(ADD、ADC- Add byte or word/ with carry ) 4.2.1 加减法指令 9 例:设变量VAR1为字型变量,VAR2为字节变量,则有 ADD AX, 56A0H ADC VAR1, 127FH ADC AX, BX ADD AX, VAR1 ADD BX, VAR1[DI] ADD BL, VAR2 ADD BYTE PTR VAR1, AL ; (AX) ←(AX)+56A0H ;(VAR1)←(VAR1)+127FH+(CF) ;(AX) ←(AX)+(BX) +(CF) ;(AX) ←(AX)+(VAR1) ;(BX) ←(BX)+(OFFSET(VAR1)+(DI)) ;(BL) ←(BL)+(VAR2) ;(VAR1的低位字节)←(VAR1的低位)+(AL) 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
历安毛子种枝大学 4.2.1加减法指令 XIDIAN UNIVERSITY 加法指令(ADD、ADC-Add byte or word/with carry) (P43例3.2/P70例4.5) 设在DVAR开始的连续8字节中分别存放着两个双字变量A和B (每个数为32位),求C=A+B,并将结果C放到DVARC开始 的内存中。 解:设这两个数分别为A=00127654H、B=00049821H,则在数 据段中有变量定义语句: DVAR DD00127654H DD 00049821H DVARC DD ? 微机原理与系统设计 第四章汇编语言指令与程序设计 葚明皓 minghao@xidian.edu.cn 10
加法指令(ADD、ADC- Add byte or word/ with carry ) 4.2.1 加减法指令 10 (P43例3.2/P70例4.5) 设在DVAR开始的连续8字节中分别存放着两个双字变量A和B (每个数为32位),求C=A+B,并将结果C放到DVARC开始 的内存中。 解:设这两个数分别为A=00127654H、B=00049821H,则在数 据段中有变量定义语句: DVAR DD 00127654H DD 00049821H DVARC DD ? 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
历安毛子代枚大学 4.2.1加减法指令 XIDIAN UNIVERSITY 加法指令(ADD、ADC-Add byte or word/with carry) DVAR DVAR DD 00127654H 54H DD 00049821H 76H DVARC DD ? 12H A 00H B 21H 98H 00127654H 04H + 00049821H 00H 0 00177475H 计算机可以这样算吗? 7 ADD,ADC只能进行字节或字数据的相加若遇更长的数据则要分开来加
加法指令(ADD、ADC- Add byte or word/ with carry ) 4.2.1 加减法指令 11 DVAR DD 00127654H DD 00049821H DVARC DD ? 54H 76H 12H 00H 21H 98H 04H 00H DVAR ? ? ? ? A B C C A B 00127654H 00049821H 00177475H 计算机 可以这样算吗 ? ADD,ADC 只能进行字节或字数据的相加若遇更长的数据则要分开来加