;7ch号中断地址实现loop的功能
assume cs:code
code segment
start: mov ax,cs ;源地址 ---安装程序
mov ds,ax
mov si,offset lp
mov ax,0 ;目的地址
mov es,ax
mov di,0200h
mov cx,offset lpend-offset lp
cld
rep movsb
mov ax,0 ;设置中断向量
mov es,ax
mov word ptr es:[7ch*4],0200h
mov word ptr es:[7ch*4+2],0
mov ax,4c00h
int 21h
lp: push bp
mov bp,sp
dec cx
jcxz ok
add [bp+2],bx ;很巧妙
ok: pop bp
iret
lpend:nop
code ends
end start
assume cs:code
code segment
start: mov ax,0b800h
mov es,ax
mov di,12*160 ;屏幕中间
mov bx,offset s- offset send ;求出偏移的地址,等会可以加回去
mov cx,80
s: mov byte ptr es:[di],'!'
add di,2
int 7ch
send:nop
mov ax,4c00h
int 21h
code ends
end start