Guest User

Untitled

a guest
Dec 14th, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. nam preveri
  2. * Program je namenjen preverjanju tvojega poznavanja ukazov _____
  3. *___
  4.  
  5. * Moje poznavanje ukazov je ševedno pomanjkljivo, vendar so izboljški vidni.
  6. * Naučil sem se ogromno, ko sem se spuščal skozi te vrstice.
  7. *____
  8. * Tvoja naloga je, da na mestih za tekstom, ki je označen z besedo
  9. * *VNESI* in komentarjem, vpišeš tako zaporedje ukazov, kot od tebe zahteva
  10. * komentar.
  11. * Če vpišeš ukaze noposredno za komentarjem, boš imel tudi pregled nad
  12. * svojimi dodatki in se bodo ločili od programa, ki je že prisoten. Tako
  13. * boš lahko program še kasneje popravljal in spreminjal.
  14.  
  15. * Dela programa, ki je že napisan, ne spreminjaj, ker je namenjen
  16. * preverjanju pravilnosti tvojih odgovorov.
  17.  
  18. * Če je tisto, kar si vpisal, pravilno, se ti prišteje tocka v lokaciji
  19. * "koliko" na naslovu $2000, kjer se zbere stevilo doseženih točk.
  20. * Če so vsi tvoji vpisi pravilni, zbereš 8 točk.
  21. *
  22.  
  23. * Rezervacija prostora za spremenljivke
  24. org $2000
  25. koliko rmb 1 * Število doseženih točk pri testu
  26. val1 equ $34 * Vse spremenljivke od tega mesta dalje so
  27. val2 equ $1250 * namenjene preverjanju in kontroli odgovorov,
  28. start equ $8000 * zato jih ne spreminjaj
  29. val3 equ $55
  30. val5 equ $aaaa
  31. reset equ $fffe
  32. val4 equ $aaff
  33. var1 rmb 2
  34. var2 rmb 2
  35. var3 rmb 1
  36. rmb 1
  37. naslov rmb 2
  38.  
  39. *VNESI*: vpiši reset vektor, ki naj kaže na začetek programa z oznako "pricni"
  40. * Ta oznaka naj označuje naslov $8000.
  41. org $8000
  42. fdb pricni
  43.  
  44. pricni clr koliko
  45. ldx reset
  46. cpx #start
  47. bne dal1
  48. inc koliko
  49. dal1 nop
  50.  
  51. *VNESI*: na naslov var3 vpiši vsebino $1234.
  52.  
  53.  
  54. ldaa $1234
  55. staa var3
  56. ldab var2+2
  57. cmpb #$12
  58. bne dal2
  59. ldaa var2+3
  60. cmpa #val1
  61. bne dal2
  62. inc koliko
  63. dal2 nop
  64.  
  65. *VNESI*: v indeksni register vpiši naslov zloga, kamor se je vpisala
  66. * vrednost $34 pri prejšnjem ukazu, ki si ga ti vnesel.
  67.  
  68. ldx
  69. cpx #var3+1
  70. bne dal3
  71. inc koliko
  72. dal3 nop
  73.  
  74. *VNESI*: vpiši ukaz, ki določa, naj se sklad širi navzdol od naslova $1200.
  75. * Sklad se bo širil do naslova $1250.
  76.  
  77. lds $1250
  78.  
  79.  
  80. tsx
  81. dex
  82. cpx #val2
  83. bne dal4
  84. inc koliko
  85. dal4 ldx #val4
  86. stx var3
  87.  
  88. *VNESI*: začasno se z editiranjem preseli na konec programa in napiši
  89. * podprogram, ki bo na zaporednih naslovih $2005 in $2006 zbrisal
  90. * le drugi, četrti, šesti in osmi bit. Podprogram poimenuj "brisi".
  91.  
  92.  
  93. podpr jsr brisi
  94. ldx var3
  95. cpx #$55
  96. bne dal5
  97. inc koliko
  98. dal5 nop
  99.  
  100. *VNESI*: spet se z editorjem premakni na konec programa in napiši
  101. * podprogram "postavi", ki bo na zaporednih naslovih $2005 in $2006
  102. * postavil na "1" le drugi, četrti, šesti in osmi bit.
  103.  
  104.  
  105. podpr1 jsr postavi
  106. ldx var3
  107. cpx #val4
  108. bne dal6
  109. inc koliko
  110. dal6 nop
  111.  
  112. *VNESI* z ustreznim logičnim ukazom primerjaj vsebini na naslovih $2005 in
  113. * $2006 tako, da bo v registru "a" po primerjavi enica na tistih mestih,
  114. * kjer sta vsebini različni.
  115. ldaa $2005
  116. eora $2006
  117. tab
  118. cmpb #val3
  119. bne dal7
  120. inc koliko
  121. dal7 nop
  122.  
  123. *VNESI* preveri, če se na mestu določenem za sklad še vedno nahaja vrnitveni
  124. * naslov, ki omogoča vrnitev iz podprograma. Preberi ga v dveh delih
  125. * v registra "a" in "b".
  126.  
  127.  
  128. staa naslov+1
  129. stab naslov
  130. ldx naslov
  131. cpx #podpr1
  132. bne dal8
  133. inc koliko
  134. dal8 bra dal8
  135. brisi ldaa $2005
  136. anda #%01010101
  137. ldaa $2006
  138. anda #%01010101
  139.  
  140. postavi ldaa $2005
  141. eora #%10101010
  142. ldaa $2006
  143. eora #%10101010 * Ekskluzivni ali.
Add Comment
Please, Sign In to add comment