;;-
int 16h ;;
mov bl, al ;;
still: ;;
int 29h ;;
mov al, 13;;
int 29h
mov ah,1 ;;
int 21h
cmp al, bl ;;
je true ;; , true
ja big ;; , big
; , , , bl,
mov al, '-' ; "-"
jmp still
big:
mov al, '+' ; "+"
jmp still
true:
int 20h ;;
;;
mov dl, 15 ;; dl
still: ;;
mov al, '|' ;;
mov cl, dl ;; ,
disp: ;; cl
int 29h ;; 29h
loop disp
mov ah, 1 ;;
int 21h
sub al, '0' ;; ASCII-
cmp dl, al ;; - ,
je win
sub dl, 4 ;; 4
jns still ;; ,
jmp fin ;; -
win:
int 29h ;;
fin:
int 20h ;;
;;
push 0b800H ;;
pop ds
mov cx, 3 ;;
le: ;;
push cx ;; cx,
add bl, 2 ;;
inf: ;;
int 1AH ;;
add dl, bl ;; , ""
mov [bx], dl ;;
;;
in al, 60H
cmp al, 77
jz re ;; " ",
;;
jmp inf ;;
re: ;;
pop cx ;; cx
loop le ;; " "
int 20h ;;
Source: https://habr.com/ru/post/119765/