社区
汇编语言
帖子详情
JMP如何寻址???
jacky_shen
2004-06-28 02:38:08
JMP FAR PTR XXXX
JMP DWORD PTR XXXX[基/变址寄存器]
对上面两个寻址的方式有点模糊,能否详细的告诉我。谢谢
"偏移地址" 是否就是 "有效地址" ???
"偏移地址" = "有效地址" ???
...全文
366
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
再加上[基/变址寄存器]内的偏移量的地址。
8086
寻址
方式及指令系统
13.指令
JMP
WORD PTR [BX]属于( )
寻址
。 A.段内直接 B.段内间接 C.段间直接 D.段间间接 14.指令MOV AX,[BX+SI+8]的源操作数属于( )
寻址
。 A.直接 B.寄存器相对 C.基址变址 D. 相对基址变址 15.指令...
微型计算机历年填空题
1. 有如下变量定义:DATA1 DD 03000040H,则指令
JMP
DATA1的
寻址
方式是_____________________,转向地址(IP)=____________H,(CS)=________H。 2. 80386共有三种工作模式,分别是____________,____________,_...
微型计算机_极客_2009-05.pdf
微型计算机_极客_2009-05.pdf
微机读程题
微机原理与应用读程序题,上课老师讲的,比较全面
汇编语言(第3版) 王爽著
9.5 转移地址在寄存器中的
jmp
指令. 9.6 转移地址在内存中的
jmp
指令. 9.7 jcxz指令 9.8 loop指令 9.9 根据位移进行转移的意义 9.10 编译器对转移位移超界的检测 实验8 分析—个奇怪的程序 实验9 根据材料编程 ...
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章