社区
汇编语言
帖子详情
JMP如何寻址???
jacky_shen
2004-06-28 02:38:08
JMP FAR PTR XXXX
JMP DWORD PTR XXXX[基/变址寄存器]
对上面两个寻址的方式有点模糊,能否详细的告诉我。谢谢
"偏移地址" 是否就是 "有效地址" ???
"偏移地址" = "有效地址" ???
...全文
440
10
打赏
收藏
JMP如何寻址???
JMP FAR PTR XXXX JMP DWORD PTR XXXX[基/变址寄存器] 对上面两个寻址的方式有点模糊,能否详细的告诉我。谢谢 "偏移地址" 是否就是 "有效地址" ??? "偏移地址" = "有效地址" ???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
W32API
2004-06-29
打赏
举报
回复
哦,
FF /4 JMP r/m16 Jump near, absolute indirect, address given in r/m16
FF /4 JMP r/m32 Jump near, absolute indirect, address given in r/m32
这两个使用段内偏移地址,而不是相对于下一指令的相对地址。
W32API
2004-06-29
打赏
举报
回复
EB cb JMP rel8 Jump short, relative, displacement relative to next instruction
E9 cw JMP rel16 Jump near, relative, displacement relative to next instruction
E9 cd JMP rel32 Jump near, relative, displacement relative to next instruction
FF /4 JMP r/m16 Jump near, absolute indirect, address given in r/m16
FF /4 JMP r/m32 Jump near, absolute indirect, address given in r/m32
以上是近跳转(段内偏移地址(相对于下一条指令)),英文说明里面都有了
far 使用完整的跳转格式 16:16 或者 16:32,绝对地址(注意,不是物理地址)
JMP FAR PTR XXXX
仅是这样给出的话,我还真的不能确定是用哪个,如果用 ptr 16:16 或 ptr 16:32 的话,那应该给出完整的跳转格式地址。如果用 m16:16 或 m16:32 的话,那 xxxx 就是存储跳转目的的内存地址。
JMP DWORD PTR XXXX[基/变址寄存器]
这个跳转使用
FF /4 JMP m16:32 Jump near, absolute indirect, address given in m16:32
XXXX[基/变址寄存器] 是存储跳转目的的内存地址
上面的那些地址限定标记都是由编译器提供的,让你可以选定需要使用的跳转类别,否则编译器无法断定应该使用哪种跳转指令。
至于偏移地址和有效地址,从我的观点,只能说是国人写的书比较喜欢创造,有效地址不要理会也罢。。。
W32API
2004-06-29
打赏
举报
回复
JMP DWORD PTR XXXX[基/变址寄存器]
这个跳转使用
FF /4 JMP m32 Jump near, absolute indirect, address given in m32
XXXX[基/变址寄存器] 是存储跳转目的的内存地址
真的有点疯,COPY 都会出错。。。
programfanny
2004-06-28
打赏
举报
回复
在汇编中用的是标号,经过汇编后的obj及exe/com文件是用的是(+/-)偏移量(记ofs),来表示从该指令下一条指令的首地址转移的偏移值,即 NewIP=CurrentIP+ofs
jacky_shen
2004-06-28
打赏
举报
回复
跳转到的地方是如何计算的呢?
Areslee
2004-06-28
打赏
举报
回复
SHORT NEAR WORD都是段内跳转
DWORD FAR是段间跳转
PTR是介词
jacky_shen
2004-06-28
打赏
举报
回复
JMP FAR PTR XXXX
XXXX 前面的修饰 FAR PTR 还有更多的 SHORT,WORD PTR ,NEAR 等等,都是如何操作的,如何使用的?
Areslee
2004-06-28
打赏
举报
回复
李诚你举个例吧,对初学者来说你给的这段和天书没啥区别。。。。。。
JMP XXXX
意思就是跳转到XXXX执行
JMP DWORD XXXX[YYY]
意思就是取内存XXXX的偏移地址加上YYY的值处的一个双字作为目标地址,跳转到目标地址执行
W32API
2004-06-28
打赏
举报
回复
EB cb JMP rel8 Jump short, relative, displacement relative to next instruction
E9 cw JMP rel16 Jump near, relative, displacement relative to next instruction
E9 cd JMP rel32 Jump near, relative, displacement relative to next instruction
FF /4 JMP r/m16 Jump near, absolute indirect, address given in r/m16
FF /4 JMP r/m32 Jump near, absolute indirect, address given in r/m32
EA cd JMP ptr16:16 Jump far, absolute, address given in operand
EA cp JMP ptr16:32 Jump far, absolute, address given in operand
FF /5 JMP m16:16 Jump far, absolute indirect, address given in m16:16
FF /5 JMP m16:32 Jump far, absolute indirect, address given in m16:32
不会种地的老农
2004-06-28
打赏
举报
回复
我觉得偏移地址就是当前代码所在的地址到目标地址的偏移量。
JMP DWORD PTR XXXX[基/变址寄存器] 应该是 JMP FAR PTR XXXX
再加上[基/变址寄存器]内的偏移量的地址。
jmp
.rar_
jmp
单字节
在不同的处理器架构中,`
jmp
`指令可能有不同的表示方式和
寻址
模式。对于单字节`
jmp
`,我们通常指的是短跳转(Short Jump)或相对跳转,这种跳转方式只用一个字节来编码跳转的距离,因此它的范围有限,通常在-128到...
操作系统
寻址
方式的总结(DOC)
操作系统
寻址
方式总结 操作系统中
寻址
方式是指 CPU 访问存储器时所使用的方式,它是操作系统中一个非常重要的概念。根据操作系统中存储器的组织形式,可以将
寻址
方式分为以下几种。 1. 立即
寻址
立即
寻址
是指将...
8086
寻址
方式及指令系统
在转移指令中,`
JMP
`和`
JMP
PTR`用于段内和段间跳转,`
JMP
SHORT`、`
JMP
NEAR PTR`和`
JMP
FAR PTR`分别对应不同的跳转范围。 串操作指令如`SCASB`配合`REP`、`REPZ`、`REPNZ`等前缀可以实现不同条件的重复扫描。 ...
微机原理及应用:第3章
寻址
方式和指令系统.pdf
微机原理及应用第3章:
寻址
方式和指令系统 ...本章主要介绍了微机原理中的
寻址
方式和指令系统,包括立即数
寻址
、寄存器
寻址
、存储器
寻址
和I/O
寻址
四种
寻址
方式,以及8086微处理器的
寻址
方式和指令系统。
80x86的
寻址
方式.doc
- **段内间接
寻址
**:跳转地址由寄存器或存储器单元内容决定,如`
JMP
BX`或`
JMP
[BX]`,这里的BX或[BX]指向的地址是跳转目标。 这些
寻址
方式提供了80x86处理器的强大功能,允许程序在不同内存位置高效地访问数据和...
汇编语言
21,496
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章