Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ASSUME CS:CODE, SS:DSTACK, DS:DATA
- DSTACK SEGMENT STACK
- DB 64 DUP ('STACK')
- DSTACK ENDS
- DATA SEGMENT
- dlugosc_lini dw 0
- x dw 0
- kolor db 0
- pocz_x dw 0
- pocz_y dw 0
- szer_wyp dw 0
- wys_wyp dw 0
- DATA ENDS
- CODE SEGMENT
- Punkt PROC
- push dx
- push di
- mov dl, kolor
- mov di,x
- mov es:[di+bx],dl
- pop di
- pop dx
- ret
- Punkt ENDP
- Przelicz_wsp PROC
- push cx
- push ax
- mov ax, pocz_x
- mov x, ax
- mov cx, pocz_y
- sss:
- add x, 320d
- loop sss
- pop ax
- pop cx
- ret
- Przelicz_wsp ENDP
- l_pion_d PROC
- mov cx, dlugosc_lini
- call Przelicz_wsp
- aa:
- add x,320
- call Punkt
- loop aa
- ret
- l_pion_d ENDP
- l_pion_g PROC
- mov cx, dlugosc_lini
- call Przelicz_wsp
- bb:
- sub x,320
- call Punkt
- loop bb
- ret
- l_pion_g ENDP
- l_poz_p PROC
- mov cx, dlugosc_lini
- call Przelicz_wsp
- cc:
- inc x
- call Punkt
- loop cc
- ret
- l_poz_p ENDP
- l_poz_l PROC
- mov cx, dlugosc_lini
- call Przelicz_wsp
- ee:
- dec x
- call Punkt
- loop ee
- ret
- l_poz_l ENDP
- l_skos_p PROC
- push cx
- mov cx, dlugosc_lini
- call Przelicz_wsp
- ff:
- add x,321
- call Punkt
- loop ff
- pop cx
- ret
- l_skos_p ENDP
- l_skos_l PROC
- push cx
- mov cx, dlugosc_lini
- call Przelicz_wsp
- gg:
- add x,319
- call Punkt
- loop gg
- pop cx
- ret
- l_skos_l ENDP
- Wypelnij PROC
- push dx
- push di
- push cx
- call Przelicz_wsp
- mov dl, kolor
- mov cx,wys_wyp
- wyp0:
- push cx
- mov cx,szer_wyp
- wyp1:
- inc x
- mov di,x
- mov es:[di+bx],dl
- loop wyp1
- mov ax,szer_wyp
- sub x,ax
- add x,320
- pop cx
- loop wyp0
- pop cx
- pop di
- pop dx
- ret
- Wypelnij ENDP
- Trojkat PROC
- push cx
- push dlugosc_lini
- mov cx, dlugosc_lini
- yy:
- mov pocz_x, 160
- call l_skos_l
- mov pocz_x, 160
- call l_skos_p
- inc pocz_y
- dec dlugosc_lini
- loop yy
- mov pocz_x, 160
- mov pocz_y, 45
- pop dlugosc_lini
- call l_pion_d
- pop cx
- ret
- Trojkat ENDP
- Start:
- mov ax,DATA
- mov ds,ax
- mov ax,0013h
- int 10h
- mov ax,0A000h
- mov es,ax
- mov dlugosc_lini,0d
- mov x,0
- mov kolor,15
- mov kolor,11
- mov pocz_x, -1
- mov pocz_y, -1
- mov wys_wyp,180
- mov szer_wyp,330
- call Wypelnij
- ;KOMIN
- mov kolor, 40
- mov pocz_x, 190
- mov pocz_y, 30
- mov wys_wyp,29
- mov szer_wyp,20
- call Wypelnij
- ; DACH
- mov pocz_y, 5
- mov dlugosc_lini, 70
- mov kolor, 14
- call Trojkat ;DACHH
- mov kolor, 14 ; linia
- mov pocz_x, 160
- mov pocz_y, 5
- mov dlugosc_lini, 40
- call l_pion_d
- ;DOM
- mov kolor,30
- mov pocz_x, 100
- mov pocz_y, 76
- mov wys_wyp,110
- mov szer_wyp,120
- call Wypelnij
- ;okno kolor
- mov kolor,15
- mov pocz_x, 109
- mov pocz_y, 120
- mov wys_wyp,25
- mov szer_wyp,35
- call Wypelnij
- ;okno kolor
- mov kolor,15
- mov pocz_x, 109
- mov pocz_y, 80
- mov wys_wyp,25
- mov szer_wyp,35
- call Wypelnij
- ;okno kolor
- mov kolor,15
- mov pocz_x, 170
- mov pocz_y, 80
- mov wys_wyp,25
- mov szer_wyp,35
- call Wypelnij
- ;OKNO
- mov kolor, 25
- mov pocz_x, 109
- mov pocz_y, 120
- mov dlugosc_lini, 36
- call l_poz_p
- mov pocz_x, 110
- mov pocz_y, 120
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 145
- mov pocz_y, 120
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 146
- mov pocz_y, 145
- mov dlugosc_lini, 36
- call l_poz_l
- mov pocz_x, 127 ; belka pion
- mov pocz_y, 120
- mov dlugosc_lini, 25
- call l_pion_d
- ;OKNO
- mov kolor, 25
- mov pocz_x, 109
- mov pocz_y, 80
- mov dlugosc_lini, 36
- call l_poz_p
- mov pocz_x, 110
- mov pocz_y, 80
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 145
- mov pocz_y, 80
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 127 ; belka rozdzielająca
- mov pocz_y, 80
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 146
- mov pocz_y, 105
- mov dlugosc_lini, 36
- call l_poz_l
- ;OKNO
- mov kolor, 25
- mov pocz_x, 170
- mov pocz_y, 80
- mov dlugosc_lini, 36
- call l_poz_p
- mov pocz_x, 171
- mov pocz_y, 80
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 206
- mov pocz_y, 80
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 188 ; belka rozdzielająca
- mov pocz_y, 80
- mov dlugosc_lini, 25
- call l_pion_d
- mov pocz_x, 207
- mov pocz_y, 105
- mov dlugosc_lini, 36
- call l_poz_l
- ;drzwi kolor
- mov kolor,210
- mov pocz_x, 169
- mov pocz_y, 125
- mov wys_wyp,60
- mov szer_wyp,30
- call Wypelnij
- ;DRZWI
- mov kolor, 1
- mov pocz_x, 170
- mov pocz_y, 170
- mov dlugosc_lini, 45
- call l_pion_g
- mov pocz_x, 200
- mov pocz_y, 170
- mov dlugosc_lini, 45
- call l_pion_g
- mov pocz_x, 170
- mov pocz_y, 125
- mov dlugosc_lini, 30
- call l_poz_p
- ; TRAWA
- mov kolor, 2
- mov pocz_x, -1
- mov pocz_y, 170
- mov wys_wyp,30
- mov szer_wyp,320
- call Wypelnij
- ; kwiatek
- mov kolor,23
- mov pocz_x, 50
- mov pocz_y, 150
- mov wys_wyp,21
- mov szer_wyp,21
- call Wypelnij
- xor ax,ax
- int 16h
- mov ax,0003h
- int 10h
- mov ax,4c00h
- int 21h
- CODE ENDS
- END Start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement