assume cs:code
code segment
;设置es:di
start: mov ax,0h
mov es,ax
mov di,200h
;设置ds:si
mov ax,cs
mov ds,ax
mov si,offset do
mov cx,offset doend-offset do
cld
rep movsb
;设置中断向量表
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h
mov word ptr es:[0*4+2],0h
mov ax,1000h
mov bh,1h
div bh
mov ax, 4c00h
int 21h
do: jmp short dostart
db 'divide error!'
dostart: mov ax,cs
mov ds,ax
mov si,202h
mov ax,0b800h
mov es,ax
mov di,12*160+33*2
mov cx,0dh
s: mov al,[si]
mov es:[di],al
inc si
inc di
mov byte ptr es:[di],00000010b
inc di
loop s
mov ax,4c00h
int 21h
doend: nop
code ends
end start