- jcxz 有条件跳转指令,cx为跳转条件。如果(cx)==0则跳转到指定标号处。跳转地址在机器码中已相对位置(-128~127)给出。
相当于 if((cx)==0)
jump short 标号
用法: jcxz 标号
- loop 循环指令,循环条件同样以cx给出,(cx)!=0时跳转到指定标号处,(cx)==0不跳转,继续执行下一条指令。
用法: loop 标号
例如: ……
s ……
……
loop s
- call 子程序调用指令。
用法:call 标号
该指令执行以下两步操作:
1、将当前的IP或者CS和IP入栈
(sp)=(sp)-2
((ss)*16+(sp))=(IP)
2、转移到标号处
(IP)=(IP)+16位位移(-32768~32767)
call far ptr 标号
该指令执行以下三步操作:
1、push cs
2、push ip
3、jmp far ptr 标号
call reg
call word ptr cs:ip
call dword ptr cs:ip
- ret 指令执行与call指令相反的操作。
1、pop ip
2、pop cs
- mul 乘法指令。该指令要求相乘的两个数要么都是8bit,要么都是16bit。且有一个乘数为al(8 bit)或ax(16 bit)。对于8bit数相乘结果保存在ax(16 bit)中,16bit数相乘结果的高位保存在dx低位保存在ax中。
格式: mul reg
mul [...]
例子 1、mul byte ptr ds:ip
2、mul word ptr [...]
- abc 带进位的加法指令
例子 abc ax bx
ax=ax+bx+cf