.model small .stack .data text1 db 'Horizontal(h/H) or vertical(v/V) ? $' text2 db 'Not h/H, v/V.',10,13,'$' text3 db 10,13,'$' .code start: mov ax,_data mov ds,ax mov ax,3 int 10h mov ah,9 lea dx,text1 int 21h mov ah,1 int 21h push ax mov ah,9 lea dx,text3 int 21h pop ax cmp al,'h' je hor_line cmp al,'H' je hor_line cmp al,'v' je vert_line cmp al,'V' je vert_line mov ah,9 lea dx,text3 int 21h mov ah,9 lea dx,text2 int 21h jmp the_end hor_line: mov ax,0b800h mov es,ax mov di,1600 mov al,' ' mov ah,10011111b mov cx,80 cik1: mov es:[di],ax add di,2 loop cik1 jmp the_end vert_line: mov ax,0b800h mov es,ax mov di,20 mov al,' ' mov ah,10101111b mov cx,25 cik2: mov es:[di],ax add di,160 loop cik2 the_end: mov ax,4c00h int 21h end start