马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 loop 于 2011-5-17 12:42 编辑
小甲鱼老师:在int7eh
7eh实现loop s指令的功能 cx,bx存放位移 在屏幕中央显示80个!assume cs:code
code segment
mov ax,0b800h
mov es,ax
mov di,160*2
mov bx,offset s - offset se
mov cx,80
s:mov byte ptr es:[di],'!'
add di,2
int 7eh
se: nop
mov ax,4c00h
int 21h
code ends
end start
assume cs:code
code segment
start:
;7eh安装程序
mov ax,cs
mov ds,ax
mov si,offset ip
mov ax,0
mov es,ax
mov di,200h
mov cx,offset ipend - offset ip
cld
rep movsb
;设置中断向量表
mov ax,0
mov es,ax
mov word ptr es:[7eh*4],200h
mov word ptr es:[7eh*4+2],0
mov ax,4c00h
int 21h
;ip
ip:
push bp
mov bp,sp
dec cx
jcxz ipret
add [bp+2],bx
ipret: pop bp
iret
ipend: nop
code ends
end start
在调用中, push bp
mov bp,sp
dec cx
jcxz ipret
add [bp+2],bx
是 push bp 80次吗? |