(1)它的位移应该在-32768-32767之间
所以说它能实现最大转移的位移是65536
(2) 安装程序
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset s0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset s0end-offset s0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ax,4c00h
int 21h
s0: push bp
mov bp,sp
add [bp+2],bx ;位移加上压栈的IP值再传回
pop bp
iret ;这里出栈的IP就是已经修改的IP值
s0end: nop
code ends
end start
- [jisuanji] ;指向CS:0008处代码 应该是指向cs:0000处的吧? 05/03 22:59
- [redliu] 谢谢! 04/26 17:50
- [mywiil] 没问题。 04/25 21:05
- [mywiil] 楼上所谈及的问题,需要将标志寄存器的其他标志位的情况进行学习。汇编语言没有对其进行讲解,博主需要查一 04/25 20:55
- [mywiil] OK 04/25 20:53
- [redliu] add ax,0010h后CF=1 PF=1 ZF=1后面pop ax后ax=3047h??? 04/22 17:21
- [redliu] 上面的做得有问题,这是改正后的! 写出下面每条指令挂靠后,ZF、PF、SF、CF、OF等标志位 04/21 17:12
- [redliu] 这题做得有问题! 04/15 14:36
- [redliu] 这题的关键是把行与列进行定位! 04/11 10:16
- [游客] 恩.多用几种方法,活跃活跃脑子.呵呵 04/06 16:38