. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  只改了转移距离 ,就成了这样?  [已解决] 回复[ 6次 ]   点击[ 385次 ]  
zcouyangpeng
[帖 主]   [ 发表时间:2008-11-04 23:37 ]   [引用]   [回复]   [ top ] 
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36
0C76:0000 B80000        MOV     AX,0000
0C76:0003 EB00          JMP     0005     jmp short s   256位 0-FF(IP)
0C76:0005 40            INC     AX





0C76:0000 B80000        MOV     AX,0000
0C76:0003 EB01          JMP     0006      jmp near ptr s--65536位 0-FFFF(IP)
0C76:0005 90            NOP
0C76:0006 40            INC     AX
-

0C76:0000 B80000        MOV     AX,0000
0C76:0003 EB03          JMP     0008       jmp far ptr s---CS:IP
0C76:0005 90            NOP
0C76:0006 90            NOP
0C76:0007 90            NOP
0C76:0008 40            INC     AX

assume cs:code

code segment
s:mov ax,0
  jmp short  a -------改这句
a:inc ax
code ends
end s


只把JMP指令的转移距离改了 为什么会变成这样?
zcouyangpeng
[第1楼]   [ 回复时间:2008-11-05 23:47 ]   [引用]   [回复]   [ top ] 
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36
机器码应该都是EB00?
偏移距离都为零啊
怎么会多出NOP指令?
mouse
[第2楼]   [ 回复时间:2008-11-06 10:52 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
楼主是不是没有看汇编语言书的附注啊,很厉害啊,能想这么多

汇编语言附注对这个知识讲解的很清楚,是编译器对jmp不同指令的编译的一个小规则。
younggay
[第3楼]   [ 回复时间:2008-11-06 15:35 ]   [引用]   [回复]   [ top ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
去看看汇编语言的附注吧。
younggay
[第4楼]   [ 回复时间:2008-11-06 15:36 ]   [引用]   [回复]   [ top ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
附注3哟。呵呵
zcouyangpeng
[第5楼]   [ 回复时间:2008-11-06 23:46 ]   [引用]   [回复]   [ top ] 
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36
没看过附注,哪有时间看那东西。每天才能学2个小时,所以主要时间都花在课程上。
先谢谢各位给出提示。

有时间我去看看
zcouyangpeng
[第6楼]   [ 回复时间:2008-11-07 18:14 ]   [引用]   [回复]   [ top ] 
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36
此贴由 贴主 于 [ 2008-11-07 18:14 ] 结贴。 结贴原因:问题已解决
得分情况: 2楼(mouse):6分   3楼(younggay):4分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved