汇编语言(五):算术运算指令、BIOS中断服务 |
您所在的位置:网站首页 › 求补指令neg全称 › 汇编语言(五):算术运算指令、BIOS中断服务 |
作为汇编语言的课程笔记,方便之后的复习与查阅 本篇为课程第六次课内容 目录 算术运算指令加法指令ADD带进位加法指令ADC增量指令INC(increment)减法指令SUB(subtract)带借位减法指令SBB减量指令DEC(decrement)求补指令NEG(negative)比较指令CMP(compare)符号扩展指令乘法指令除法指令 BIOS中断服务DOS系统调用BIOS中断:字符属性BIOS中断:设定显示模式BIOS中断:置光标位置BIOS中断:在光标位置显示字符BIOS中断:显示字符串 算术运算指令请注意算术运算类指令对标志的影响 掌握:ADD/ADC/INC、SUB/SBB/DEC/ NEG/CMP熟悉:MUL/IMUL、DIV/IDIV理解:CBW/CWD 加法指令ADDadd指令将源与目的操作数相加,结果送到目的操作数。源操作数为立即数时,源操作数带扩展为和目的操作数相同长度类型 ADD reg,imm/reg/mem ;reg←reg+imm/reg/mem ADD mem,imm/reg ;mem←mem+imm/reg注意: 源操作数和目标操作数类型匹配目标不能是立即数和CS段寄存器两个操作数不能同时为存储器操作数对于ADD mem,imm的形式,要指明mem的长度类型(如:BYTE PTR [100H])示例: ADD AL, 2050H ; 错误,AL寄存器为8位,而立即数为16位 ADD AX, 50H ; 正确 ADD AX, BL ; 错误,前后两个寄存器位数不同 ADD 2050, AX ; 错误,目标操作数不能为立即数 ADD CS, 2050H ; 错误,目标操作数不能为立即数CS段寄存器 ADD [200H], 05H ; 错误,未指定内存单元的长度类型 ADD BYTE PTR [200H], BYTE PTR [100H] ; 错误,不允许源操作数和目的操作数都为memADD指令按状态标志的定义相应设置: CF OF SF ZF AF PF ---- 重点理解对CF与OF的影响
ADC指令将源与目的操作数相加,再加上进位CF标志,结果送到目的操作数 ADC指令主要与ADD配合,实现多精度加法运算 ADC reg,imm/reg/mem ;reg←reg+imm/reg/mem+CF ADC mem,imm/reg ;mem←mem+imm/reg+CF
INC指令对操作数加1(增量),主要用于对计数器和地址指针的调整 INC指令不影响进位CF标志,按定义设置其他状态标志 INC reg/mem ;reg/mem←reg/mem+1 inc bx inc byte ptr [bx] 减法指令SUB(subtract)SUB指令将目的操作数减去源操作数,结果送到目的操作数 SUB reg,imm/reg/mem ;reg←reg-imm/reg/mem SUB mem,imm/reg ;mem←mem-imm/reg注意: 源操作数和目标操作数类型匹配目标不能是立即数和CS段寄存器两个操作数不能同时为mem对于SUB mem, imm的形式,要指明mem的长度类型SUB指令按状态标志的定义相应设置: CF OF SF ZF AF PF ---- 重点理解对CF与OF的影响
SBB指令将目的操作数减去源操作数,再减去借位CF(进位),结果送到目的操作数 SBB指令主要与SUB配合,实现多精度减法运算 SBB reg,imm/reg/mem ;reg←reg-imm/reg/mem-CF SBB mem,imm/reg ;mem←mem-imm/reg-CFDEC指令对操作数减1(减量),主要用于对计数器和地址指针的调整 DEC指令不影响进位CF标志,按定义设置其他状态标志 DEC reg/mem ;reg/mem←reg/mem-1 dec bx dec byte ptr [bx] 求补指令NEG(negative)NEG指令对操作数执行求补运算:用零减去操作数,然后结果返回操作数。求补运算也可以表达成:将操作数按位取反后加1 NEG指令对标志的影响与用零作减法的SUB指令一样 NEG reg/mem ;reg/mem←0-reg/mem 例如:求0110 0100的补码就相当于计算1 0000 0000 - 0110 0100 mov ax,0ff64h neg al ;ax=ff9ch,OF=0、SF=1、ZF=0、PF=1、CF=1、AF=1 sub al,9dh ;ax=ffffh,OF=0、SF=1、ZF=0、PF=1、CF=1、AF=1 neg ax ;ax=0001h,OF=0、SF=0、ZF=0、PF=0、CF=1、AF=1 dec al ;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=1、AF=0 neg ax ;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=0、AF=0 比较指令CMP(compare)CMP指令将目的操作数减去源操作数,按照定义相应设置状态标志 CMP指令执行的功能与SUB指令相同,但结果不回送目的操作数 CMP reg,imm/reg/mem ;reg-imm/reg/mem CMP mem,imm/reg ;mem-imm/reg执行比较指令之后,可以根据标志判断两个数是否相等、大小关系等 cmp al,100 ;al-100 jb below ;al |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |