【第十三章】int指令(2)

assume cs:code
data segment
db 'conversation',0
data ends
code segment
start: ;安装程序
mov ax,code
mov ds,ax
mov si,offset do7c
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do7cEnd - offset do7c
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
;让ds:si指向data段
mov ax,data
mov ds,ax
mov si,0
;让es:di指向b800:15*160
mov ax,0b800h
mov es,ax
mov di,15*160
s: cmp byte ptr ds:[si],0
je ok
cld
movsb
inc di
mov bx,offset s - offset ok
int 7ch
ok: mov ax,4c00h
int 21h
do7c: push bp
mov bp,sp
add [bp+2],bx
pop bp
iret
do7cEnd: nop
code ends
end start