1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机3.1-3.3

格式: SBB DST,SRC 执行的操作: DST ? DST ? SRC?CF 例: SBB AX,2030H; 执行:AX ? AX ? 2030H ? CF SBB WORD PTR [DI+2],1000H; SBB DX, [BX+20H] 3.4 IA-32的通用指令——算术运算指令 2、SBB 带借位减法指令 此指令多用于多字节减法运算中。 将操作数内容减一,再回送操作数。 格式: DEC DST 执行的操作: DST ?DST ? 1 例: DEC AX ;AX-1,结果送AX DEC BL ;BL ? BL-1 DEC BYTE PTR [DI+2] ;将DI+2所指的一个字节的内存单元减一 3.4 IA-32的通用指令——算术运算指令 3、DEC 自减指令 此操作不影响标志位CF。 3.4 IA-32的通用指令——算术运算指令 4、NEG 取补码指令 格式: NEG DST 执行的操作: 对DST求补,0-DST 例:NEG AL ;对AL中的数求补,结果送AL NEG CX ;对CX中的数求补,结果送CX 因为此操作是用0去减操作数,故只有对0求补时,CF=0,其余情况都使CF=1。 操作数是-128(80H)或-32768(8000H)时,结果不变,但OF=1。 格式: CMP DST,SRC 执行的操作: DST-SRC 注意: CMP指令执行相减,但不回送结果,结果只影响标志位CF、OF、SF、ZF。 判断两个数是否相等,可据标志位ZF; 判断两个数的大小关系,可据标志位? 3.4 IA-32的通用指令——算术运算指令 5、CMP 比较指令 3.4 IA-32的通用指令——算术运算指令 5、CMP 比较指令 两个无符号数比较大小 ——通过借位CF判断大小 指令例子:CMP AL,100 CMP AX,DATA[BX] CMP DX,DI CMP DATA,1234H ZF=1:A=B ZF=0:CF=0:AB CF=1:AB 两个有符号数比较大小 3.4 IA-32的通用指令——算术运算指令 5、CMP 比较指令 ①操作数A、B都为正数时,仅由SF判断即可; ②若A0,B0,则根据OF、SF一起判断; OF=0:SF=0,则AB;SF=1,则AB OF=1:SF=0,则AB;SF=1,则AB ③若A0,B0,则根据OF、SF一起判断; OF=0:SF=0,则AB;SF=1,则AB OF=1:SF=0,则AB;SF=1,则AB ④若A0,B0,则根据SF来判断即可。 3.4 IA-32的通用指令——算术运算指令 5、CMP 比较指令 两个有符号数大小判断方法 ①当OF=0时,若SF=0,则AB 若SF=1,则AB; ②当OF=1时,若SF=1,则AB 若SF=0,则AB。 当OF=SF时,AB;否则,AB。 3.4 IA-32的通用指令——算术运算指令 数组BLOCK中有100个带符号数,找出 其中最大者放MAX单元。 举例 DS BX MAX BLOCK 3.4 IA-32的通用指令——算术运算指令 数组BLOCK中有100个带符号数,找出 其中最大者放MAX单元。 举例 LEA BX,BLOCK MOV AX,[BX] MOV CX,99 CMP AX,[BX] JG NEXT MOV AX,[BX] INC BX INC BX DEC CX JNZ LOP MOV MAX,AX HLT LOP: NEXT: 3.4 IA-32的通用指令——算术运算指令 6、AAS 减法的非组合BCD码调整指令 调整规则:若(AL OF)9或AF=1,则: AL←AL-6 AL←AL0FH AH←AH-1 AF←1 CF←AF 7、DAS 减法的组合BCD码调整指令 调整规则:若(AL OF)9或AF=1,则: AL←AL-6 AF←1 若AL9FH或CF=1,则: AL←AL-60H CF←1 3.4 IA-32的通用指令——算术运算指令 二、 加减法指令综合举例 举例 设X,Y,Z都是双精度数,各自的低位 字和高位字分别存放在X、X+2、Y、Y+2、 Z、Z+2的存储单元中,编程计算以下算

文档评论(0)

sd44055 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档