|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 king嗜血法师 于 2011-6-22 04:02 编辑
assume cs:codesg
codesg segment
mov ax,4c00H
int 21H
start : mov ax,0
s : nop
nop
mov di,offset s
mov si,offset s2
mov ax,cs:[si]
mov cs:[di],ax
s0 : jmp short s
s1 : mov ax,0
int 21H
mov ax,0
s2 : jmp short s1
nop
codesg ends
end start
这个代码段是把s2:中的jmp short s1复制到s:中,按照思路这条指令是IP+(-10),所以执行s:jmp short s1这条指令
ip+(-10)就跳到上面的mov ax,4c00H。但是到了检测点11.3又让我迷惑了。
mov ax,0f00H
mov ds,ax
mov bx,0
mov dx,0
mov cx,32
s: mov al,[bx]
cmp al,32
jb s0
cmp al,128
ja s0
inc dx
s0: inc bx
loop s
按照第一个代码段的思路jb跳到s0"当前"IP=ip+(x)为偏移地址,那么ja也应该跳到“当前”ip=ip+(x)的偏移地址才对啊,为什么ja也会也会跳到s0?
|
|