首页
社区
课程
招聘
JMP指令的疑惑,实在是想不通了!
发表于: 2006-4-22 04:50 3478

JMP指令的疑惑,实在是想不通了!

2006-4-22 04:50
3478
0B71:0005  B80000         MOV     AX,0000
0B71:0008  90             NOP
0B71:0009  90             NOP
0B71:000A  BF0800         MOV     DI,0008
0B71:000D  BE2000         MOV     SI,0020
0B71:0010  2E             CS:
0B71:0011  8B04           MOV     AX,[SI]
0B71:0013  2E             CS:
0B71:0014  8905           MOV     [DI],AX
0B71:0016  EBF0           JMP     0008
0B71:0018  B80000         MOV     AX,0000
0B71:001B  CD21           INT     21
0B71:001D  B80000         MOV     AX,0000
0B71:0020  EBF6           JMP     0018
0B71:0022  90             NOP
0B71:0023  EBF6           JMP     001B

刚刚开始学习汇编,问题比较简单.
谁能给我解释解释 0B71:0016  EBF0           JMP     0008
这一句是怎么跳到偏移:0008这个位置的.按照我得想法是16+F0产生的补码是-6,那么应该往前跳6个字节才对.可:0008和:0016之间并非6个字节的偏移差啊.
实在是想不同了!

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (3)
雪    币: 13767
活跃值: (4742)
能力值: ( LV15,RANK:1673 )
在线值:
发帖
回帖
粉丝
2
0B71:0016  EBF0           JMP     0008

是在这条指令后再计算的,而这条指令长度为2,所以不是16+F0,而是16+2+F0
2006-4-22 05:11
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个我倒是知道.
0B71:0020  EBF6           JMP     0018
这行代码的计算就是对的.问题是上面的那个我怎么看都不对啊!
2006-4-22 05:20
0
雪    币: 13767
活跃值: (4742)
能力值: ( LV15,RANK:1673 )
在线值:
发帖
回帖
粉丝
4
16+2+F0=18-10=8有什么不对的?
2006-4-22 05:33
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册