Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.50 KB | None | 0 0
  1. ASSUME CS:CODE, SS:DSTACK, DS:DATA
  2. DSTACK SEGMENT STACK
  3. DB 64 DUP ('STACK')
  4. DSTACK ENDS
  5.  
  6.  
  7. DATA SEGMENT
  8.  
  9. dlugosc_lini dw 0
  10. x dw 0
  11. kolor db 0
  12.  
  13. pocz_x dw 0
  14. pocz_y dw 0
  15.  
  16. szer_wyp dw 0
  17. wys_wyp dw 0
  18. DATA ENDS
  19.  
  20.  
  21. CODE SEGMENT
  22.  
  23. Punkt PROC
  24. push dx
  25. push di
  26.  
  27. mov dl, kolor
  28. mov di,x
  29. mov es:[di+bx],dl
  30.  
  31. pop di
  32. pop dx
  33. ret
  34. Punkt ENDP
  35.  
  36. Przelicz_wsp PROC
  37. push cx
  38. push ax
  39.  
  40. mov ax, pocz_x
  41. mov x, ax
  42. mov cx, pocz_y
  43. sss:
  44. add x, 320d
  45. loop sss
  46.  
  47. pop ax
  48. pop cx
  49. ret
  50. Przelicz_wsp ENDP
  51.  
  52.  
  53.  
  54.  
  55.  
  56. l_pion_d PROC
  57. mov cx, dlugosc_lini
  58.  
  59. call Przelicz_wsp
  60. aa:
  61. add x,320
  62. call Punkt
  63. loop aa
  64. ret
  65. l_pion_d ENDP
  66.  
  67. l_pion_g PROC
  68. mov cx, dlugosc_lini
  69.  
  70. call Przelicz_wsp
  71. bb:
  72. sub x,320
  73. call Punkt
  74. loop bb
  75. ret
  76. l_pion_g ENDP
  77.  
  78.  
  79.  
  80. l_poz_p PROC
  81. mov cx, dlugosc_lini
  82.  
  83. call Przelicz_wsp
  84. cc:
  85. inc x
  86. call Punkt
  87. loop cc
  88. ret
  89. l_poz_p ENDP
  90.  
  91. l_poz_l PROC
  92. mov cx, dlugosc_lini
  93.  
  94. call Przelicz_wsp
  95. ee:
  96. dec x
  97. call Punkt
  98. loop ee
  99. ret
  100. l_poz_l ENDP
  101.  
  102. l_skos_p PROC
  103. push cx
  104. mov cx, dlugosc_lini
  105.  
  106. call Przelicz_wsp
  107. ff:
  108. add x,321
  109. call Punkt
  110. loop ff
  111. pop cx
  112. ret
  113. l_skos_p ENDP
  114.  
  115. l_skos_l PROC
  116. push cx
  117. mov cx, dlugosc_lini
  118.  
  119. call Przelicz_wsp
  120. gg:
  121. add x,319
  122. call Punkt
  123. loop gg
  124. pop cx
  125. ret
  126. l_skos_l ENDP
  127.  
  128. Wypelnij PROC
  129. push dx
  130. push di
  131. push cx
  132.  
  133. call Przelicz_wsp
  134.  
  135. mov dl, kolor
  136. mov cx,wys_wyp
  137. wyp0:
  138. push cx
  139. mov cx,szer_wyp
  140. wyp1:
  141. inc x
  142. mov di,x
  143. mov es:[di+bx],dl
  144. loop wyp1
  145. mov ax,szer_wyp
  146. sub x,ax
  147. add x,320
  148. pop cx
  149. loop wyp0
  150.  
  151. pop cx
  152. pop di
  153. pop dx
  154. ret
  155. Wypelnij ENDP
  156.  
  157.  
  158. Trojkat PROC
  159. push cx
  160. push dlugosc_lini
  161. mov cx, dlugosc_lini
  162. yy:
  163. mov pocz_x, 160
  164. call l_skos_l
  165. mov pocz_x, 160
  166. call l_skos_p
  167.  
  168.  
  169. inc pocz_y
  170. dec dlugosc_lini
  171. loop yy
  172. mov pocz_x, 160
  173. mov pocz_y, 45
  174. pop dlugosc_lini
  175. call l_pion_d
  176. pop cx
  177.  
  178. ret
  179. Trojkat ENDP
  180.  
  181. Start:
  182.  
  183. mov ax,DATA
  184. mov ds,ax
  185.  
  186. mov ax,0013h
  187. int 10h
  188. mov ax,0A000h
  189. mov es,ax
  190.  
  191. mov dlugosc_lini,0d
  192. mov x,0
  193. mov kolor,15
  194.  
  195.  
  196. mov kolor,11
  197. mov pocz_x, -1
  198. mov pocz_y, -1
  199. mov wys_wyp,180
  200. mov szer_wyp,330
  201. call Wypelnij
  202.  
  203. ;KOMIN
  204. mov kolor, 40
  205. mov pocz_x, 190
  206. mov pocz_y, 30
  207. mov wys_wyp,29
  208. mov szer_wyp,20
  209. call Wypelnij
  210. ; DACH
  211. mov pocz_y, 5
  212. mov dlugosc_lini, 70
  213. mov kolor, 14
  214. call Trojkat ;DACHH
  215.  
  216. mov kolor, 14 ; linia
  217. mov pocz_x, 160
  218. mov pocz_y, 5
  219. mov dlugosc_lini, 40
  220. call l_pion_d
  221. ;DOM
  222. mov kolor,30
  223. mov pocz_x, 100
  224. mov pocz_y, 76
  225. mov wys_wyp,110
  226. mov szer_wyp,120
  227. call Wypelnij
  228. ;okno kolor
  229. mov kolor,15
  230. mov pocz_x, 109
  231. mov pocz_y, 120
  232. mov wys_wyp,25
  233. mov szer_wyp,35
  234. call Wypelnij
  235. ;okno kolor
  236. mov kolor,15
  237. mov pocz_x, 109
  238. mov pocz_y, 80
  239. mov wys_wyp,25
  240. mov szer_wyp,35
  241. call Wypelnij
  242. ;okno kolor
  243. mov kolor,15
  244. mov pocz_x, 170
  245. mov pocz_y, 80
  246. mov wys_wyp,25
  247. mov szer_wyp,35
  248. call Wypelnij
  249. ;OKNO
  250. mov kolor, 25
  251.  
  252. mov pocz_x, 109
  253. mov pocz_y, 120
  254. mov dlugosc_lini, 36
  255. call l_poz_p
  256.  
  257. mov pocz_x, 110
  258. mov pocz_y, 120
  259. mov dlugosc_lini, 25
  260. call l_pion_d
  261.  
  262. mov pocz_x, 145
  263. mov pocz_y, 120
  264. mov dlugosc_lini, 25
  265. call l_pion_d
  266.  
  267. mov pocz_x, 146
  268. mov pocz_y, 145
  269. mov dlugosc_lini, 36
  270. call l_poz_l
  271.  
  272. mov pocz_x, 127 ; belka pion
  273. mov pocz_y, 120
  274. mov dlugosc_lini, 25
  275. call l_pion_d
  276.  
  277.  
  278.  
  279. ;OKNO
  280. mov kolor, 25
  281.  
  282. mov pocz_x, 109
  283. mov pocz_y, 80
  284. mov dlugosc_lini, 36
  285. call l_poz_p
  286.  
  287. mov pocz_x, 110
  288. mov pocz_y, 80
  289. mov dlugosc_lini, 25
  290. call l_pion_d
  291.  
  292. mov pocz_x, 145
  293. mov pocz_y, 80
  294. mov dlugosc_lini, 25
  295. call l_pion_d
  296.  
  297. mov pocz_x, 127 ; belka rozdzielająca
  298. mov pocz_y, 80
  299. mov dlugosc_lini, 25
  300. call l_pion_d
  301.  
  302. mov pocz_x, 146
  303. mov pocz_y, 105
  304. mov dlugosc_lini, 36
  305. call l_poz_l
  306.  
  307.  
  308.  
  309. ;OKNO
  310. mov kolor, 25
  311.  
  312. mov pocz_x, 170
  313. mov pocz_y, 80
  314. mov dlugosc_lini, 36
  315. call l_poz_p
  316.  
  317. mov pocz_x, 171
  318. mov pocz_y, 80
  319. mov dlugosc_lini, 25
  320. call l_pion_d
  321.  
  322. mov pocz_x, 206
  323. mov pocz_y, 80
  324. mov dlugosc_lini, 25
  325. call l_pion_d
  326.  
  327. mov pocz_x, 188 ; belka rozdzielająca
  328. mov pocz_y, 80
  329. mov dlugosc_lini, 25
  330. call l_pion_d
  331.  
  332. mov pocz_x, 207
  333. mov pocz_y, 105
  334. mov dlugosc_lini, 36
  335. call l_poz_l
  336. ;drzwi kolor
  337. mov kolor,210
  338. mov pocz_x, 169
  339. mov pocz_y, 125
  340. mov wys_wyp,60
  341. mov szer_wyp,30
  342. call Wypelnij
  343. ;DRZWI
  344. mov kolor, 1
  345.  
  346. mov pocz_x, 170
  347. mov pocz_y, 170
  348. mov dlugosc_lini, 45
  349. call l_pion_g
  350.  
  351. mov pocz_x, 200
  352. mov pocz_y, 170
  353. mov dlugosc_lini, 45
  354. call l_pion_g
  355.  
  356. mov pocz_x, 170
  357. mov pocz_y, 125
  358. mov dlugosc_lini, 30
  359. call l_poz_p
  360.  
  361. ; TRAWA
  362. mov kolor, 2
  363. mov pocz_x, -1
  364. mov pocz_y, 170
  365. mov wys_wyp,30
  366. mov szer_wyp,320
  367. call Wypelnij
  368.  
  369.  
  370. ; kwiatek
  371. mov kolor,23
  372. mov pocz_x, 50
  373. mov pocz_y, 150
  374. mov wys_wyp,21
  375. mov szer_wyp,21
  376. call Wypelnij
  377.  
  378. xor ax,ax
  379. int 16h
  380.  
  381. mov ax,0003h
  382. int 10h
  383.  
  384. mov ax,4c00h
  385. int 21h
  386.  
  387.  
  388.  
  389. CODE ENDS
  390. END Start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement