|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
看了好几个帖子,它们发的答案都与我想的不一样。
也不知道是我错了还是他们的错了。
下面我来说说我的答案。
assume cs:code
data segment
?????(书上说让咱们在这里添数据,让jmp指令跳转到第一条指令,也就是(mov ax, data))
data ends
code segment
start:mov ax, data (这个是第一条指令)
mov ds, ax
mov bx, 0
jmp word ptr [bx + 1]
code ends
end start
解题:
jmp word ptr [bx + 1] ;设置偏移地址1位置开始的两个字节型地址的值为ip
那么data里必须得有三个字节。
先写db 0,0,0
这个就是好几个人的答案。
但是他们似乎忘记了两件事情:
1、系统分配的段,最少是16个字节。
2、如果data的值是0,就永远不会让jmp指令转移到第一条指令。
如果段的大小最小是16,而且从1开始,那么下标1的位置就应该是15。
0 1 2 3 4 5 6 7 8 9 A B C D E F 1~f的下一个下标需要跳15次,所以值应该是15
所以db 0,15,0
或者db 0,Fh,0
才是正确的答案。
个人观点,不喜勿喷,可以讨论
|
|