Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model tiny
- .code
- org 100h
- start:
- mov ax, 0b800h ; заливка
- mov es, ax
- mov al, 219
- mov cx, 80*25
- xor di, di
- mov ah, 2
- rep stosw
- mov ah, 0fh
- int 10h
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- sub ax, 34
- shl cx, 3
- add ax, cx
- mov di, ax ;640+46
- mov ah, 20h
- mov al, 186
- mov cx, 18
- pop dx
- push dx
- shl dh, 1
- sub dh, 2
- mov dl, dh
- xor dh, dh
- vertic_line1:
- stosw
- add di, dx
- loop vertic_line1
- pop ax
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- add ax, 36
- shl cx, 3
- add ax, cx
- mov di, ax ;640+116
- mov ah, 20h
- mov al, 186
- mov cx, 18
- vertic_line2:
- stosw
- add di, dx
- loop vertic_line2
- pop ax
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- sub ax, 30
- shl cx, 3
- add ax, cx
- mov di, ax ;640+50
- mov ah, 20h
- mov al, 179
- mov cx, 18
- vertic_line3:
- stosw
- add di, dx
- loop vertic_line3
- pop ax
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- mov dl, 6
- mul dl
- sub cx, 34
- add ax, cx
- mov di, ax; 480+46 верхушка
- mov ah, 20h
- mov al, 201
- stosw
- mov al, 205
- stosw
- mov al, 209
- stosw
- mov al, 205
- mov cx, 32
- repnz stosw
- mov al, 187
- stosw ;------------
- xor al, al
- pop dx
- push dx
- mov dl, dh
- mov cl, dh
- xor dh, dh
- sub dx, 32
- shl cx, 3
- add dx, cx
- mov di, dx ;640+48
- stosw
- add di, 2
- mov al, 48
- mov cx, 10
- header_numb_hor:
- stosw
- push ax
- xor al, al
- stosw
- pop ax
- inc al
- loop header_numb_hor
- mov al, 65
- mov cx, 6
- header_let_hor:
- stosw
- push ax
- xor al, al
- stosw
- pop ax
- inc al
- loop header_let_hor
- pop ax
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- mov dl, 12
- mul dl
- sub cx, 32
- add ax, cx
- mov di, ax ;6*160+48
- mov ah, 20h
- mov al, 48
- mov cx, 10
- pop dx
- push dx
- shl dh, 1
- sub dh, 2
- mov dl, dh
- xor dh, dh
- header_numb_ver:
- stosw
- add di, dx
- inc al
- loop header_numb_ver
- mov al, 65
- mov cx, 6
- header_let_ver:
- stosw
- add di, dx
- inc al
- loop header_let_ver
- pop ax
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- mov dl, 10
- mul dl
- sub cx, 34
- add ax, cx
- mov di, ax ;800+46 3-я строка
- mov ah, 20h
- mov al, 199
- stosw
- mov al, 196
- stosw
- mov al, 197
- stosw
- mov al, 196
- mov cx, 32
- repnz stosw
- mov al, 182
- stosw ;-------
- pop ax
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- mov dl, 44
- mul dl
- sub cx, 34
- add ax, cx
- mov di, ax ;22*160+46 последняя
- mov ah, 20h
- mov al, 200
- stosw
- mov al, 205
- stosw
- mov al, 207
- stosw
- mov al, 205
- mov cx, 32
- repnz stosw
- mov al, 188
- stosw ;-----------
- mov si, 256; непосредственно сам квадрат
- pop ax
- push ax
- mov al, ah
- mov cl, ah
- xor ah, ah
- mov dl, 12
- mul dl
- sub cx, 28
- add ax, cx
- mov di, ax
- mov ah, 20h
- xor al, al
- cycling:
- stosw
- push ax
- xor al, al
- stosw
- pop ax
- inc al
- test al, 0Fh
- jnz ending
- pop dx
- push dx
- mov dl, dh
- xor dh, dh
- sub dl, 32
- shl dl, 1
- add di, dx
- ending:
- dec si
- jnz cycling
- pop ax
- xor ah, ah
- int 16h
- mov al, 219
- mov cx, 80*25
- xor di, di
- xor ah, ah
- rep stosw
- ret
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement