

ret/retf/iret //ret相当于pop IP,retf相当于pop IP和pop CS,iret相当于pop IP,pop CS,popf,恢复IP,CS和标志寄存器
call //一般同ret配合使用,它是先将IP或CS和IP压栈再jmp,call不能短转移,只能段间转移
pushf/popf //将标志寄存器入栈,将栈的值恢复到标志寄存器
cld/std //设置DF标志位为0或1,该标志位决定了movsb复制的顺序
cli/sti //IF置0(清空)/IF置1(设置IF)
int 21h //主动调用21号中断,同除法溢出被动触发中断不同。
//中断步骤:取得中断码——flag入栈——TF,IF置为0——CS入栈——IP入栈——调用中断处理程序
ja/jb/je //大于跳,小于跳,等于跳,主要根据上步cmp比较结果来跳
jna/jnb/jne //不大于跳,不小于跳,不等于跳
jcxz ok //若cx的值为0就跳到ok标号处
jmp //无条件跳转
db 8 dup(0) //用0填充8个字节
db 'conversation' //定义一个字符串,每个字符占一字节
dw 1,2,3,4,5,6,7,8 //定义8个字
dd 1,2,3,4,5,6,7,8 //定义8个双字
运算指令:
inc/dec //自增或自减1
and/or //与和或运算,前者3种组合都0用来置0(仅1和1得1),后者三种组合为1用来置1(仅0和0得0)
add/adc //加法和带进位的加,adc还要加上标志寄存器
sub/sbb/cmp //减法和带借位的减 ,cmp也是减法但只影响标志位不存结果
mul //8位相乘默认有个乘数在al结果放ax,16位相乘默认有个乘数在ax结果低位在ax高位在dx