code segment
assume cs:code
start:
x1: mov ax,01h
org 40000
jmp near ptr x1
code ends
end start
jmp short 的操作数为1Byte,最大范围为-128-127。jmp near ptr的 操作数为2Byte,因为段的大小为64k(偏移为0000-FFFF),当作无符号时,2Byte可以表示,所以不会出错,可以看成偏移地址。在汇编时,机器码中的操作数为地址差(jmp下一条指令的地址-标号地址),(IP)=(IP)+地址差,其实就是(IP)=(IP-标号+IP)。
不知道LZ明白码??