指令系统3(算术运算指令)(楼俊君
47页1、1,4.3.2 算术运算指令,涉及两种类型数据: 无符号数和有符号数。对加减法指令,无符号和有符号数可采用同一套指令,但应注意: 参加的操作数必须都是无符号数或都是有符号数。 需使用不同的标志位(CF,OF)来检查无符号数和有符号数的运算结果是否溢出。 这类指令一般都影响标志寄存器FLAGS。,2,表4 - 2 算术运算类指令表,3,两个8位数相加时有4种情况:,无符号数和有符号数均不溢出 二进制相加 无符号数加 有符号数加 0000 1000 8 +8 +0001 1110 + 30 + (+30) 0010 0110 38 +38 结果38 CF=0 OF=0,无符号数范围0255 带符号数范围-128127,4, 无符号数溢出 无符号数 有符号数 0000 1000 8 +8 +1111 1101 +253 +(-3) 10000 0101 261 +5 结果5 CF=1 OF=0 有符号数溢出 0000 1000 8 +8 +0111 1101 +125 +(+125) 1000 0101 133 +133 结果-123 CF=0 OF=1 (补码表示),5, 无符号数和有符号
2、数均溢出 无符号数 有符号数 1000 1000 136 -120 +1111 0111 +247 +(-9) 10111 1111 383 -129 结果127 CF=1 OF=1 上面四种情况说明, CF标志可用来表示无符号数的溢出, OF标志可用来表示有符号数的溢出。 有符号数的溢出是一种出错状态,在运算过程中应当避免。,6,所有的算术运算指令,都会影响FLAGS标志寄存器的6个状态标志CF/OF/ZF/SF/AF/PF(3个控制标志IF/DF/TF不受影响)。 总的讲,有这样一些规则: 当无符号数运算产生溢出(即最高位向前有进位 或借位)时,CF=1,否则为0; 当有符号数运算产生溢出时,OF=1(即OF=CFCF-1) , 否则为0; 当运算结果为0时,ZF=1 ,否则为0; 当运算结果为负数时,SF=1 ,否则为0; 当运算一半位置有进位或借位时,AF=1 ,否则为0; 当运算结果中有偶数个时,PF=1 ,否则为0。,7,共有5条: (1) 不带进位的加法指令ADD 格式: ADD acc,data ADD mem/reg,data ADD mem/reg1,mem/reg
3、2 注:1.源和目的操作数不能同时为存储器操作数 2.不能把段寄存器作为操作数 例:ADD AL,30H ADD AX,BX+20H ADD CX,SI ADD DI,200H ADD指令对标志位(指6个状态标志)都有影响。,1.加法指令,8,例:MOV AL,7EH ADD AL,5BH 两条指令执行后,标志位(指6个状态标志)都有影响。 AF=1 表示bit3向bit4有进位 CF=0 表示最高位向前无进位 OF=1 表示若为有符号数加法,其运算结果产生溢出 PF=0 表示8位的运算结果中,1的个数为奇数 SF=1 表示运算结果的最高位为1 ZF=0 表示运算结果不为0,不带进位的加法指令ADD,9,(2) 带进位位的加法指令ADC,ADC指令在形式上和功能上都有与ADD类似,只是相加时还要包括进位标志CF的内容。 例如: ADC AL,68H ;AL(AL)+68H+(CF) ADC AX,CX ;AX(AX)+(CX)+(CF) ADC BX,DI ;BX(BX)+DI+1DI+(CF),10,例:有两个4字节的无符号数相加: 2C 56 F8 AC + 30 9E 47 BE
4、 = ? 设被加数、加数分别存放在BUFFER1及BUFFER2开始的两个存储区内,结果放回BUFFER1存储区,如下页图所示。 因CPU只能进行8位或16位的加法运算,为此可将加法分4次进行。,ADC指令主要用于多字节加法运算中,11,56H,2CH,BEH,47H,BUFFER1,BUFFER2,ACH,F8H,9EH,30H,被加数,加数,数据段,多字节加法示意图,.,.,12,程序段如下: MOV CX,4 ;置循环次数 MOV SI,0 ;置SI初值为零 CLC ;清进位标志CF LL: MOV AL,BUFFER2SI ADC BUFFER1SI,AL ;带进位加 INC SI ;(SI)+1 DEC CX ;(CX)-1 JNZ LL ;若(CX)0,则转LL,13,ADD/ADC指令对条件标志位(CF/OF/ZF/SF)的影响:,CF位表示无符号数相加的溢出。 OF位表示带符号数相加的溢出。,14,格式:INC reg/mem 功能:类似于C语言中的+操作:对指定的操作数加1 例: INC AL INC SI INC BYTE PTRBX+4 注意:本指令不影响CF标志
《指令系统3(算术运算指令)(楼俊君》由会员san****019分享,可在线阅读,更多相关《指令系统3(算术运算指令)(楼俊君》请在金锄头文库上搜索。
高中化学实验方案的设计第一节制备实验方案设计
高中生物实验室配置
高中体育与健康课程田径必修模块单元教学方案
高中通用技术方案的构思方法-设计分析教案苏教版必修
高中生物室配置
高中信息技术网络技术应用选修模块教学评价方案
骆小学教师戏曲知识培训方案(I)
麻村小学阳光体育活动计划及实施方案
高桥小学幼小衔接活动方案
马摆小学控辍保学实施方案
金阳街道中心小学未成年人思想道德建设实施方案
龙扬小学第32个爱国卫生月活动方案
魏家井联小学度控辍保学工作方案
高区第九届初中骨干教师课堂教学能力展示活动
长沙县2018年度小学生课外阅读知识竞赛及书目
阳江中心小学一月一事之五月主题活动方案
长营小学校园体育活动实施方案
高考历史备考方案-陈军
高考语文第5课父亲课前预案苏教版选修现代散文选读
高考语文第9课铃兰花课前预案苏教版选修现代散文选读
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页