Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model tiny
- .code
- org 100h
- start:
- ;вычисление начальной позиции таблицы
- mov ah, 0fh
- int 10h
- xchg al, ah
- mov cl, ah
- xor ah, ah
- push ax
- mov dl, 4
- mul dl
- mov dx, ax
- pop ax
- push ax
- sub al, 36
- add dx, ax
- mov ax, 100h
- test cl, cl
- jne m1
- shr ax, 1
- m1:
- cmp cl, 1
- jne m2
- shr ax, 1
- m2:
- xchg bh, bl
- push dx
- mul bx
- pop dx
- cmp cl, 7
- jne m3
- sub ax, 800h
- m3:
- ;закраска всего экрана
- add ax, 0b800h
- mov es, ax
- mov al, 20h
- mov ah, 00101111b
- xor di, di
- mov cx, 2000
- rep stosw
- ;первая строка таблицы
- mov di, dx
- mov al, 201
- stosw
- mov al, 205
- stosw
- mov al, 209
- stosw
- mov al, 205
- mov cx, 32
- rep stosw
- mov al, 187
- stosw
- ;правая строка таблицы
- pop dx
- add dx, dx
- dec dx
- dec dx
- dec al
- add di, dx
- stosw
- add di, dx
- mov al, 182
- stosw
- sub di, 72
- mov al, 199
- stosw
- mov al, 196
- stosw
- inc al
- stosw
- dec al
- mov cx, 32
- rep stosw
- inc di
- inc di
- mov al, 186
- mov cl, 16
- PR:
- add di, dx
- stosw
- loop PR
- add di, dx
- mov al, 188
- stosw
- ;нижняя строка таблицы
- sub di, 72
- mov al, 200
- stosw
- mov al, 205
- stosw
- mov al, 207
- stosw
- mov al, 205
- mov cx, 32
- rep stosw
- sub di, 72
- mov cl, 16
- mov al, 186
- LR:
- sub di, dx
- stosw
- sub di, 4
- loop LR
- sub di, dx
- sub di, dx
- dec di
- dec di
- stosw
- inc di
- inc di
- mov al, 179
- stosw
- mov al, 20h
- mov cl, 16
- mov si, offset stroka
- cifr:
- lodsb
- stosw
- mov al, 20h
- stosw
- loop cifr
- sub di, 64
- mov al, 179
- add di, dx
- mov cl, 16
- mov si, offset stroka
- ODN:
- add di, dx
- lodsb
- stosw
- mov al, 179
- stosw
- dec di
- dec di
- loop ODN
- stosw
- mov cx, 15
- sss:
- sub di, dx
- dec di
- dec di
- loop sss
- mov si, 256
- xor al, al
- mov bl, 20h
- cycle:
- stosw
- inc al
- xchg al, bl
- stosw
- xchg al, bl
- test al, 0fh
- jnz endd
- add di, dx
- sub di, 62
- endd:
- dec si
- jnz cycle
- xor ah, ah
- int 16h
- mov al, 20h
- mov ah, 0000111b
- xor di, di
- mov cx, 2000
- rep stosw
- int 20h
- stroka db "0123456789ABCDEF$"
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement