Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model tiny
- .code
- org 100h
- entry:
- mov ah, 0fh
- int 10h
- mov old_vm, al
- mov old_ap, bh
- xor ax, ax
- mov al, [our_vm]
- push ax
- mov al, [our_ap]
- push ax
- call change_vm
- mov ah, 02h
- mov bh, our_ap
- mov dh, 32
- mov dl, 4
- int 10h
- mov ah, 0ah
- ;mov bl, 03h
- ;mov bh, our_ap
- mov al, 0fh
- push cx
- mov cx, 01h
- int 10h
- call write_table
- xor ax, ax
- int 16h ; ждём нажатие клавиши
- ; int 0Eh
- xor ax, ax
- mov al, old_vm
- push ax
- mov al, old_ap
- push ax
- call change_vm
- ret
- ; bx - смещение по вертикали
- write_table proc
- push ax
- push bx
- push dx
- mov cx, 10h
- next_row:
- push cx
- mov cx, 10h
- next_symbol:
- mov ah, 02h
- mov bh, our_ap
- mov dh, _dy
- mov dl, _dx
- int 10h
- mov ah, 09h
- mov bl, 03h
- mov bh, our_ap
- mov al, current_char
- push cx
- mov cx, 01h
- int 10h
- pop cx
- inc current_char
- inc _dx
- loop next_symbol
- pop cx
- inc _dy
- loop next_row
- pop dx
- pop bx
- pop ax
- ret
- write_table endp
- change_vm proc
- push bp
- mov bp, sp
- push ax
- mov ah, 00h
- mov al, [bp+6]
- int 10h
- mov ah, 05h
- mov al, [bp+4]
- int 10h
- pop ax
- pop bp
- ret 4
- change_vm endp
- _dx db 32
- _dy db 4
- our_vm db 03h
- our_ap db 00h
- old_vm db ?
- old_ap db ?
- current_char db 00h
- end entry
- ; 00, 01, 02, 07 - режимы
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement