关于jmp指令的机器码

jmp short / jmp near
在一般的汇编语言中,如果源代码中的操作数有立即数,那么其对应的机器码中也应有这个立即数,而jmp short 和 jmp near不同,jmp short 和 jmp near在机器码中给出的是一个位移,你要用这个位移去加上IP的值才可以得到一个新的IP。

jmp far ptr
机器码中给出的是一个CS:IP的形式,即直接跳转到给出地址处。

示例:

assume cs:code
code segment

start:
	mov ax, 0123H
	jmp short s		;机器码为EB03,这里给出的03是位移,即IP=IP+3,新的IP才是偏移地址
	mov ax, 0011H
s:	add ax, 1
	
	jmp far ptr s0	;机器码为EA13016A07,这里给出的13016A07是段地址与偏移地址,前四位是低地址存放IP值0113,后四位是高地址存放CS值076A
	db 256 dup(0)
	mov ax, 2233H
s0:	add ax, 1

code ends
end start

以上关于机器码的内容只需了解即可,在实际汇编编写时没有太大影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值