assume cs:code
code segment
start:
mov ax,0
mov es,ax
mov di,200h
mov ax,cs
mov ds,ax
mov si,offset show_str
mov cx,offset show_str_end - offset show_str
cld
rep movsb
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0
mov ax,4c00h
int 21h
show_str:
push es
push ax
push cx
push dx
push si
push di
mov ax,0b800h
mov es,ax
mov al,160
mul dh
mov di,ax
mov al,2
mul dl
add di,ax
mov ah,0
show:
mov al,ds:[si]
cmp ax,0
je show_over
mov es:[di],al
mov es:[di+1],cl
inc si
add di,2
jmp short show
show_over:
pop di
pop si
pop dx
pop cx
pop ax
pop es
iret
show_str_end:
nop
code ends
end start