JMP SHORT $+2

参考一

$:代表当前指令的地址。     一条语句一般就是2个字节。 所以$+2代表下一条指令。

jmp short $+2: 跳转到下一条语句,延时用。主要是延时几微秒给端口一个反应时间。


jb: jump if below           低于跳转
jnb:jump if not below   不低于跳转

xor: 异或

//-----------------------------------------------------------------------------------

cmp a,b 比较a与b
mov a,b 把b的值送给a
ret 返回主程序
nop 无作用,英文“no operation”的简写,意思是“do nothing”(机器码90)***机器码的含义参看上面
(解释:ultraedit打开编辑exe文件时你看到90,等同于汇编语句nop)
call 调用子程序
je 或jz 若相等则跳(机器码74 或0F84)
jne或jnz 若不相等则跳(机器码75或0F85)
jmp 无条件跳(机器码EB)
jb 若小于则跳
ja 若大于则跳
jg 若大于则跳
jge 若大于等于则跳
jl 若小于则跳
jle 若小于等于则跳
pop 出栈
push 压栈



参考二

JMP SHORT $+2 这条指令是啥意思?



PUSH AX 
MOV DX, 3CEH 
MOV AL, 5 
OUT DX, AL 

JMP SHORT $ + 2 

MOV DX, 3CFH 
POP AX 
OUT DX, AL  

就是跳到下一条指令 
$在指令中使用时,就指该指令的首字节,所以是JMP的首地址加上2,又因为JMP的段内直跳转是2个字节,所以是下一条指令,在此是MOV DX, 3CFH

作用。。。端口操作中的这类指令的作用应该就是延时。主要是延时几个微秒给端口一点反应时间


你可能感兴趣的:(JMP)