全球旧事资料 分类
2格式:CMPXCHGDEST,REG功能:目的操作数减源操作数,如果DESTSRC,则SRC→DEST。如果DEST≠SRC,则DEST→ACCAL,AX,EAX。源操作数允许为通用寄存器。目的操作数可以为通用寄存器,存储器操作数。CMPXCHG影响标志位为OF,SF,ZF,AF,PF,CF。3格式:CMPXCHG8BMEM功能:EDX:EAX中值减存储器操作数。
f如果EDX:EAXMEM64,则ECX:EBX→MEM64。如果EDX:EAX≠MEM64,则MEM64→EDX:EAX。该指令为64位比较交换指令,影响ZF标志位。CMPXCHG8BQWORDPTREBX例3.30五、交换相加指令格式:XADDDEST,REG功能:目的操作数加源操作数,结果送目的操作数。原目的操作数内容送源操作数。源操作数允许为通用寄存器。目的操作数允许为通用寄存器、存储器操作数。XADD指令影响标志位为OF,SF,ZF,AF,PF,CF。六、求补指令格式:NEGDEST功能:对目的操作数求补,用零减去目的操作数,结果送目的操作数。目的操作数为通用寄存器、存储器操作数。NEG指令影响标志位为OF,SF,ZF,AF,PF,CF。七、乘法指令1格式:MULSRCIMULSRC功能:MUL为无符号数乘法指令,IMUL为带符号数乘法指令。源操作数为通用寄存器或存储器操作数。目的操作数缺省存放在ACCAL,AX,EAX中,乘积存AX,DX:AX,EDX:EAX中。字节乘:ALSRC→AX字乘:AXSRC→DX∶AX双字乘:EAXSRC→EDX∶EAXMUL,IMUL指令执行后,CFOF0,表示乘积高位无有效数据;CFOF1表示乘积高位含有效数据,对其它标志位无定义。例3.31MULBL;字节乘MULWORDPTRSI;字乘IMULBYTEPTRDI;字节乘IMULDWORDPTRECX;双字乘如果使用IMUL指令,积采用补码形式表示。2格式:IMULDEST,SRC功能:将目的操作数乘以源操作数,结果送目的操作数。目的操作数为16位或32位通用寄存器或存储器操作数。源操作数为16位或32位通用寄存器、存储器或立即数。源操作数和目的操作数数据类型要求一致。乘积仅取和目的操作数相同的位数,高位部分将被舍去,并且CFOF1。其它标志位无定义。3格式:IMULDEST,SRC1,SRC2功能:将源操作数SRC1与源操作数SRC2相乘,结果送目的操作数。目的操作数DEST为16位或32位,允许为通用寄存器。源操作数SRC1为16位或32位通用寄存器或存储器操作数。源操作数SRC2允许为立即数。IMULEAX,EBX,12H例3.32要求目的操作数和源操作数SRC1类型相同,当乘积超出目的操作数部分,
f将被舍去,并且使CFOF1,在使用这类指令时,需在IMUL指令后加一条判断溢出的指令,溢出时转错误处理执行程序。八、除法指令格式:DIVSRCIDIVSRC功能:DIV为无符号数除法,IDIV为带符号r
好听全球资料 返回顶部