Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.67 KB | None | 0 0
  1. ;==========================================================================
  2. ;Név:
  3. ;Neptun kód:
  4. ;Dátum:
  5. ;
  6. ;==========================================================================
  7. Code Segment
  8. assume CS:Code, DS:Data, SS:Stack
  9.  
  10.  
  11. Start:
  12. mov ax, Code
  13. mov DS, AX
  14.  
  15. mov ax,3
  16. int 10h
  17.  
  18.  
  19. ;==========================================================================
  20. ;1. feledat:
  21. ;Karakteres üzemmódban rajzoljon egy rombuszt.
  22. ;A rombusz egyik csúcsa legyen a 10,10 koordinátán.
  23. ;
  24. ;A rombusz mérete és elhelyezkedése az alábbi vázlatnak megfelelő legyen!
  25. ;
  26. ; x
  27. ; x x
  28. ; x x
  29. ; x x
  30. ;x x
  31. ; x x
  32. ; x x
  33. ; x x
  34. ; x
  35. ;
  36. ;
  37. ;==========================================================================
  38.  
  39. mov dx, offset feladat1
  40. mov ah,9
  41. int 21h
  42. ;**************************************************************************
  43. ;Ide írja a megfelelő programrészt!
  44.  
  45. mov ah, 02h
  46. mov bh, 0
  47.  
  48. mov bl, 10 ; y segéd
  49. mov ch, 10 ; x segéd
  50.  
  51. xor cl, cl
  52.  
  53. f1l:
  54. ; jobb felső szár
  55. mov dh, bl ; sor - y
  56. mov dl, ch ; oszlop - x
  57. add dh, cl
  58. add dl, cl
  59. int 10h
  60.  
  61. mov dl, '*'
  62. int 21h
  63.  
  64. ; bal felső szár
  65. mov dh, bl ; sor - y
  66. mov dl, ch ; oszlop - x
  67. add dh, cl
  68. sub dl, cl
  69. int 10h
  70.  
  71. mov dl, '*'
  72. int 21h
  73.  
  74. inc cl
  75. cmp cl, 5
  76. jnz f1l
  77.  
  78. mov bl, 18 ; y segéd
  79. mov ch, 10 ; x segéd
  80. dec cl
  81.  
  82. f1l2:
  83. ; jobb alsó szár
  84. mov dh, bl ; sor - y
  85. mov dl, ch ; oszlop - x
  86. sub dh, cl
  87. add dl, cl
  88. int 10h
  89.  
  90. mov dl, '*'
  91. int 21h
  92.  
  93. ; bal alsó szár
  94. mov dh, bl ; sor - y
  95. mov dl, ch ; oszlop - x
  96. sub dh, cl
  97. sub dl, cl
  98. int 10h
  99.  
  100. mov dl, '*'
  101. int 21h
  102.  
  103. dec cl
  104. cmp cl, 255
  105. jnz f1l2
  106.  
  107. ;Eddig
  108. ;**************************************************************************
  109. xor ax,ax
  110. int 16h
  111. mov ax, 03h
  112. int 10h
  113. ;==========================================================================
  114. ;2. feledat:
  115. ;Döntse el a megnyomott bilentyűről, hogy számot, vagy betü karaktert
  116. ;"vitt" be! A ciklusból "ESC" billentyű leütésével lehet kilépni.
  117. ;Használja a program előre megírt üzeneteit!
  118. ;==========================================================================
  119. mov ah, 02h
  120. mov bh, 0
  121. mov dl, 0 ;DL:X koordinata
  122. mov dh, 15 ;DH:Y koordinata
  123. int 10h
  124.  
  125. mov dx, offset feladat2
  126. mov ah, 9
  127. int 21h
  128.  
  129. bevitel1:
  130. mov ah, 02h
  131. mov bh, 0
  132. mov dl,0 ;DL:X koordinata
  133. mov dh,17 ;DH:Y koordinata
  134. int 10h
  135.  
  136. xor ah,ah
  137. int 16h
  138. cmp al,27
  139. jz Feladat2_Vege
  140. ;**************************************************************************
  141. ;Ide írja a megfelelő programrészt!
  142.  
  143. ; jc - ugrik ha az első kisebb, mint a második
  144. ; jnc - ugrik ha az első nagyobb, vagy egyenlő, mint a második
  145. cmp al, 48
  146. jc f2nsz
  147.  
  148. cmp al, 58
  149. jnc f2nsz
  150.  
  151. ; szám
  152. mov dx, offset uzenetszam
  153. mov ah, 09h
  154. int 21h
  155.  
  156. jmp bevitel1
  157.  
  158. f2nsz:
  159. ; nem szám
  160. mov dx, offset uzenetnemszam
  161. mov ah, 09h
  162. int 21h
  163.  
  164. jmp bevitel1
  165.  
  166. ;Eddig
  167. ;**************************************************************************
  168. Feladat2_Vege:
  169. ;==========================================================================
  170. ;3. feledat:
  171. ;Karakteres üzemmódban írja ki a képernyőre SI:DI értékét bináris formában!
  172. ;(Használja a balra rotáló (ROL) utasítást, amely a Carry bitet állítja!)
  173. ;==========================================================================
  174. mov ah, 02h
  175. mov bh, 0
  176. mov dl,0 ;DL:X koordinata
  177. mov dh,19 ;DH:Y koordinata
  178. int 10h
  179.  
  180. mov dx, offset feladat3
  181. mov ah,9
  182. int 21h
  183.  
  184. mov ah, 02h
  185. mov bh, 0
  186. mov dl,0 ;DL:X koordinata
  187. mov dh,21 ;DH:Y koordinata
  188. int 10h
  189.  
  190. mov si, 40
  191. mov di, 120
  192. ;**************************************************************************
  193. ;Ide írja a megfelelő programrészt!
  194.  
  195. xor ch, ch
  196. mov cl, 16
  197.  
  198. f3l1:
  199. rol si, 1
  200. jc f3l1c
  201. jmp f3l1nc
  202.  
  203. f3l1c:
  204. mov dl, 49
  205. jmp f3l1e
  206.  
  207. f3l1nc:
  208. mov dl, 48
  209.  
  210. f3l1e:
  211. mov ah, 02h
  212. int 21h
  213.  
  214. loop f3l1
  215.  
  216.  
  217. mov cl, 16
  218.  
  219. mov dl, ' '
  220. int 21h
  221.  
  222. f3l2:
  223. rol di, 1
  224. jc f3l2c
  225. jmp f3l2nc
  226.  
  227. f3l2c:
  228. mov dl, 49
  229. jmp f3l2e
  230.  
  231. f3l2nc:
  232. mov dl, 48
  233.  
  234. f3l2e:
  235. mov ah, 02h
  236. int 21h
  237.  
  238. loop f3l2
  239.  
  240.  
  241. ;Eddig
  242. ;**************************************************************************
  243. xor ax,ax
  244. int 16h
  245.  
  246. mov ax,3
  247. int 10h
  248.  
  249. ;==========================================================================
  250. ;5. feledat:
  251. ;Karakteres üzemmódban írja ki a "Indul a görög aludni!" uzenetet!
  252. ;Használja a meglévő "uzenet5" sztringet!
  253. ;==========================================================================
  254. mov dx, offset feladat5
  255. mov ah,9
  256. int 21h
  257.  
  258. mov ah, 02h
  259. mov bh, 0
  260. mov dl,0 ;DL:X koordinata
  261. mov dh,2 ;DH:Y koordinata
  262. int 10h
  263.  
  264. ;**************************************************************************
  265. ;Ide írja a megfelelő programrészt!
  266.  
  267. mov di, offset uzenet5
  268.  
  269. f5l1:
  270. mov al, [di]
  271. cmp al, 'I'
  272. jz f5l1e
  273. inc di
  274. jmp f5l1
  275.  
  276. f5l1e:
  277. mov ah, 02h
  278.  
  279. f5l2:
  280. mov dl, [di]
  281. int 21h
  282.  
  283. cmp dl, '!'
  284. jz f5e
  285.  
  286. dec di
  287. jmp f5l2
  288.  
  289. f5e:
  290.  
  291. ;Eddig
  292. ;**************************************************************************
  293. xor ax,ax
  294. int 16h
  295. ;==========================================================================
  296. ;6. feledat:
  297. ;Számítsa ki a "muvelet1" sztringben megadott osztást.
  298. ;A két szájegyet elválasztó "/" szimbólumot nem kell feldolgozni!
  299. ;A osztás eredményét és maradékát decimális formában írja ki!
  300. ;==========================================================================
  301. mov ah, 02h
  302. mov bh, 0
  303. mov dl,0 ;DL:X koordinata
  304. mov dh,4 ;DH:Y koordinata
  305. int 10h
  306.  
  307. mov dx, offset feladat6
  308. mov ah,9
  309. int 21h
  310.  
  311. mov ah, 02h
  312. mov bh, 0
  313. mov dl,0 ;DL:X koordinata
  314. mov dh,6 ;DH:Y koordinata
  315. int 10h
  316.  
  317. ;**************************************************************************
  318. ;Ide írja a megfelelő programrészt!
  319.  
  320. xor ax, ax
  321.  
  322. mov di, offset muvelet1
  323. mov al, [di] ; osztandó
  324.  
  325. inc di ; osztás jel
  326.  
  327. inc di
  328. mov bl, [di] ; osztó
  329.  
  330. div bl
  331. mov bx, ax
  332.  
  333. mov ah, 02h
  334. mov dl, bl
  335. add dl, 48
  336. int 21h
  337.  
  338. mov ah, 02h
  339. mov dl, ' '
  340. int 21h
  341.  
  342. mov ah, 02h
  343. mov dl, bh
  344. add dl, 48
  345. int 21h
  346.  
  347. ;Eddig
  348. ;**************************************************************************
  349. xor ax,ax
  350. int 16h
  351.  
  352. Program_Vege:
  353. mov ax, 4c00h
  354. int 21h
  355.  
  356. uzenetszam db "Szamjegy lett leutve! $"
  357. uzenetnemszam db "Nem szamjegy lett leutve!$"
  358. uzenet5 db "!indula gorog a ludnI"
  359. muvelet1 db "8/5"
  360.  
  361. feladat1 db "Elso feladat: rombusz.$"
  362. feladat2 db "Masodik feladat: szamjegy bevitele.(ESC=kilepes)$"
  363. feladat3 db "Harmadik feladat: SI erteke decimalisan.$"
  364. feladat5 db "Otodik feladat: uzenet kiiras.$"
  365. feladat6 db "Hatodik feladat: szamolas.$"
  366.  
  367. Code Ends
  368.  
  369. Data Segment
  370.  
  371. Data Ends
  372.  
  373. Stack Segment
  374.  
  375. Stack Ends
  376. End Start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement