13.转移指令offset、jmp
1.offset
offset用于获取标识的起始处偏移量
assume cs:codesg
codesg segment
s: mov ax,bx
mov si, offset s
mov di, offset s0
mov dx,cs:[si]
mov cs:[di],dx
s0: nop
nop
codesg ends
end s
我们可以利用cs段地址加偏移量,用dx作为中间变量实现
运行之后可以发现完成了复制:
2.jmp
-
jmp short/far
-
jmp本身是不可以直接跳转到标识的,但是jmp short可以做到,例如:
jmp short s
- jmp far同理,只不过是跳到更远的地方
-
jmp word/dword ptr
-
jmp word ptr:段内转移
-
-
jmp dword ptr:段间转移
-
-
-
jcxz
-
有条件的jmp,相当于
if((cx)==0) jmp short 标号