Assembly programozás

  • View
    183

  • Download
    2

Embed Size (px)

DESCRIPTION

Példaprogramok, zh.-kérdések, információk a gyakorlatokról és a vizsgákról

Text of Assembly programozás

Tartalomjegyzk1. Zrthelyi feladatok 2. Minta-vizsgafeladatok s megoldsuk 3. nll gyakorl feladatsor Bevezet Az MS-DOS fellet elindtsa 1. Gpi kd 2. Assembly program rsa a Debug programmal 3. Tovbbi programrs a Debuggal: a Hello sz kiratsa 4. Programrs Borland Turbo Assemblerrel 4. Trzsanyag Prezentci I. Ismtls II. Az Assembly elemei III. Assembly programozs Kiegsztsek a Prezentcihoz A 0-65535-ig elszmol program forrskdja Az IBM PC XT/AT Input-Output portjai A FLAGS (llapotregiszter) felptse Memriacmzs vals s vdett (80286+) mdban Lapozs (80386+) A Norton Guide program az INT 27-et ismerteti Szmtgp konkrt hardver adatainak megtekintse 5. A gyakorlatokon kit ztt feladatok 6. Assembly - sszefoglal 7. Assembly programozs a mai modern opercis rendszerek alatt 8. Az Intel 8086/8088 s 80286 proc. teljes utas.kszlete vals (real) md 9. Az IBM PC XT/AT megszaktsvektorai 11 15 21 21 21 23 24 27 29 37 37 37 40 53 65 67 68 68 69 69 69 70 72 73 75 79 82

10

1. Zrthelyi feladatokAz albbiakban kzreadjuk a zrthelyin el fordul sszes krdst. A krdsek az Intel 80x86-os processzorcsald vals mdjra vonatkoznak, IBM PC kompatbilis szmtgpen, MS-DOS rendszerben (ablakban). A krdsek megvlaszolhatk ezen Tantrgyi tmutat (f leg a Prezentcis rsz) gondos tanulmnyozsa s nhol cseppnyi gondolkods utn. A krdsek sorrendje ltalban kveti az tmutat felptst.1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. Hogyan kpezhet egy pozitv, illetve negatv szm egyes komplemens alakja? Hogyan kpezhet egy pozitv, illetve negatv szm kettes komplemens alakja? (A negatv esetben ismertessen kt klnbz kpzsi mdszert!) rja le az N szm (-9 N +9) egyes komplemens alakjt, 8 biten! A feladatot fejben vgezze el, legfeljebb fl perc alatt! A szmot a tanr adja meg. rja le az N szm (-9 N +9) kettes komplemens alakjt, 8 biten! A feladatot fejben vgezze el, legfeljebb fl perc alatt! A szmot a tanr adja meg. Mennyi egy szm s kettes komplemensnek sszege az brzolsi tartomnyon bell? Hogyan (milyen alakban) troljk az Intel mikroprocesszorok az egsz szmokat? Mi a kettes komplemens hasznlatnak el nye? Mutassa be konkrt pldval! Hogyan llapthat meg rnzsre egy kettes komplemens alakban trolt (binris) szm el jele? Mondjon konkrt pldt! Melyik Assembly utasts lltja el egy szm egyes/kettes komplemenst? Mit jelent a BCD kd szmbrzols: minek a rvidtse, hogyan troldik a szm, milyen fajti vannak (2 fle, 3-3 megnevezssel), mire hasznlhat? rja le az N szmot (0 N 99) a ktfle BCD kdolssal, ezen bell binris s hexadecimlis mdon, fejben, fl perc alatt! A szmot a tanr adja meg. Milyen matematikai halmazhoz tartoz szmokat brzolhatunk egyes komplemens / kettes komplemens / BCD / lebeg pontos alakban? Mi a lebeg pontos szm felrsnak elve? rja le a matematikai kpletet, nevezze meg az egyes sszetev ket (mindkt elnevezssel)! Hnyfle lebeg pontos szmbrzolst hasznlhatunk? Sorolja fel! Hny rszb l ll egy lebeg pontos szm? Sorolja fel az egyes rszeket s magyarzza el, mit tartalmaznak! Ismertesse a rvid vals trolsi mdjt: az egyes rszeket hny biten troljuk, sszesen hny bjtot foglal el egy szm, a trolskor mit mdostunk s hogyan? Mi az az 1-es bit, amit nem trolunk a lebeg pontos szmban? Mirt nem kell trolni? Magyarzza el rszletesen! Vezesse le a -3,75 szm rvid vals formban trtn brzolst lpsr l lpsre, rszletesen! Ltezik-e +0 s -0 a lebeg pontos szmbrzolsban? Mirt? Ha a lebeg pontos szm egyik, illetve msik rsznek nagyobb trolsi helyet biztostunk (pl. x helyett 2x bitnyi helyet), a szm mely min sgi tulajdonsga vltozik meg az egyik, illetve a msik esetben? Hny tizedesjegy a rvid vals pontossga? Mire hasznlhat a paritsvdelem? Hnyfle paritsvdelmi lehet sg van? Nevezze meg ezeket, mondjon konkrt szmpldt! Melyik paritsvdelmet hasznljk inkbb s mirt? Mennyi a 0 szm paritsbitje az egyes paritsvdelmi fajtknl? Mire hasznljk fel a paritsvdelmet? Mondjon kt konkrt pldt! Melyik memrit vdik paritsvdelemmel? Ezen bell melyik tpussal? Mindig vdik? Milyen memriavdelmet hasznlnak a ROM, illetve a RAM memrinl? Mondjon egy-egy konkrt pldt els / msodik / harmadik / negyedik genercis nyelvre! Melyiket rti meg kzvetlenl (azonnal) a mikroproceszszor? Mi a gpi kd, mire hasznlhat, mit tartalmaz? Hogyan nz ki egy gpi kd program paprra lerva? Hol tallhat a mikroprogram? Mely tpusra jellemz ? Knny -e megrteni a gpi kdot? A vlaszt indokolja meg! Milyen hossz (hny bjtos) az A bet t kir gpi kd program MS-DOS rendszerben? Milyen lpsekb l ll? Mi a mnemonik, mi az el nye, hol hasznljk? Mondjon konkrt pldt is! Mi a kapcsolat az Assembly s a gpi kd kztt? Mondjon konkrt pldt! Szoros-e a kapcsolat az Assembly s a gpi kd kztt? Alacsony szint -e az Assembly? Ez mit jelent? Hardverfgg -e az Assembly? Ez mit jelent? Hasonltsa ssze forrsfjlmret, futtathat fjlmret s gyorsasg szempontjbl az Assemblyt ms programnyelvekkel! Magyarzza meg a kvetkez fogalmakat: Assembly, assembler, disassembler! Hol hasznljk manapsg az Assemblyt (legalbb kt pldval)? Hny regisztert (hny bitest) hasznlunk a szegmens-offset memriacmzsnl? Mi a szegmens msik neve, mi az offset msik neve? Melyik mit mutat? Hogyan szmthat t egy szegmens-offset cm fizikai cmre? Mondjon egy konkrt szmpldt is! Mi a hidegindts kezd cme? Adja meg a fizikai cmet s ktfle mdon szegmens-offset alakban is! Mekkora egy szegmens mrete (vals mdban)? Mirt? Mit jelent a normalizlt rtk a szegmens-offset memriacmzsnl? Mondjon egy konkrt szmpldt is! Mirt cmezhet meg egy memriacm tbbfle mdon szegmens-offset alakban? Magyarzza meg, mutasson konkrt pldt is! A memria mely rsze cmezhet csak egyflekppen szegmens-offset cmzssel? Mirt? Mutasson konkrt pldt is! Mit jelent a paragrafus a szegmens-offset cmzsnl? Mekkora tvolsgra vannak egymstl? Magyarzza meg rszletesen! Mi a HMA, mi a klnlegessge, hol tallhat, mire hasznlhat? Magyarzza meg rszletesen! Mekkora memria cmezhet meg vals mdban, bjtra pontosan? Mit jelent az Unreal mode, hol hasznljk, milyen ktfle ms elnevezse van? Sorolja fel az Intel CPU ltalnos regisztereit! Melyiknek mi a teljes neve, hogyan jelljk? Hogyan jelljk az akkumultor regisztert? Milyen szmtartomny brzolhat 1 bjton, ha a szm el jel nlkli, illetve el jeles? A hatrokat tzes s tizenhatos szmrendszerben adja meg! Milyen szmtartomny brzolhat 2 bjton, ha a szm el jel nlkli, illetve el jeles? A hatrokat tzes s tizenhatos szmrendszerben adja meg! Mi az AH s AL, mekkora a mretk? Hogyan fgg ssze AX-AH-AL? Mit jelent AH s AL-nl a H illetve L bet ? Mirt j a hexadecimlis szmrendszer hasznlata a decimlishoz kpest? Az AX-AH-AL regiszterhrmas esetben mutassa be konkrt szmpldval! Az AH s AL rtkeit ismerjk, tzes szmrendszerben megadott szmok. rja le, hogyan szmolhatjuk ki AX rtkt! Hny bitesek az ltalnos regiszterek Intel 8086/8088-nl, illetve 80386-tl kezdve? Sorolja fel az indexregisztereket: hogy mondjuk angolul s magyarul, hogyan jelljk, mekkora a mretk, mire hasznlhatk? Sorolja fel a veremregisztereket: rvidts+teljes nv, mire hasznlhatk? Hny szegmensregiszter van (vals mdban)? Sorolja fel ket: hogyan jelljk, mi a teljes nevk, melyik mire hasznlhat?

11

67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148.

Mire j az utastsmutat regiszter, hogyan jelljk? Mi a kvetkez vgrehajtand utasts cme? Hogyan nevezik mskpp a Flag regisztert? Mondjon legalbb ktfle msik elnevezst! Mi tallhat a Flag regiszterben? Hasznlhat-e a Flag regiszter adattrolsra? Mirt? Mekkora egy flag mrete? Milyen rtkeket vehet fel? Mi lltja a flageket? Ismertessen t jelz bitet rszletesen (megnevezs, hogyan m kdik)! A flageknl milyen rtk jelenti a norml eredmnyt s mi a klnlegeset? Mondjon konkrt aritmetikai s logikai m velet pldt a zrus jelz bit m kdsre! Mi lesz (a zrus jelz bit) rtke az egyes esetekben? Mire hasznlhat a megszakts jelz bit? Bellthat-e (mdosthat-e) szoftveresen az, hogy onnantl kezdve egy Assembly utasts mely regiszter(ek)re vonatkozzon? Megszntethet -e vglegesen egy regiszter szoftveresen? Melyik angol szbl szrmazik a MOV utasts, mit jelent magyarul? Mondjon konkrt pldt a MOV utastsnl rtkadsra, regisztercmzsre, memria m veletre! Mindegyik pldban szerepeljen az akkumultor regiszter! Hny paramtert ignyel a MOV utasts, melyek ezek? Mit jelent a MOV AX,200 utasts? Magyarzza el! A MOV AX,200 utastsnl mennyi lesz AH s AL rtke? A MOV AX, utastsnl milyen hatrok kz eshet a , hogy AH rtke nulla legyen? Adja meg a szmtartomnyt s magyarzza el rszletesen! Mi mutatja meg, hogy egy regiszter tartalma el jeles, vagy el jel nlkli szm? rja le msknt a MOV AH,-2 utastst, hogy ugyanazt jelentse (csak a szmot kell megvltoztatni)! Mirt hibs a MOV AH,256 utasts? Mi trtnik, ha AH helyett AX szerepel? Mirt hibs a MOV AX,FFh utasts? Hogyan lenne helyes? Mirt hibs a MOV AX,70000 utasts? Hogyan lenne helyes? Mirt hibs a MOV 5,AL utasts? Hogyan lenne helyes? Mirt hibs a MOV AX,DL utasts? Hogyan lenne helyes? A MOV AL,BL utasts vgrehajtsa el tt AL=5 s BL=6. Mennyi lesz AL s BL? Az ES szegmensregiszterbe nullt akarunk helyezni. rja le a megoldst Assemblyben! Helyes-e a MOV IP,0 utasts? Mirt? Javtsa ki a MOV AX,SI utastst gy, hogy olvasson a memribl! Javtsa ki a MOV SI,AX utastst gy, hogy rjon a memriba! Mi a klnbsg a MOV utastsnl az SI s az [SI] kztt? Mit jelent a MOV utasts hasznlatnl [SI]? Hny bjtot jell ki, mi a szegmens, mi az offset? Mit jelent a MOV utastsnl a bjt fordtott alak? Mondjon konkrt pldt! Mit jelent a MOV utasts hasznlatnl a szegmensfellr prefix? Mondjon konkrt pldt! Mondjon konkrt pldt indexelt, bzis relatv, bzis relatv indexelt cmzsre a MOV utastssal! Melyik mit jelent? Hogyan rtelmezi a szmtgp a MOV AL,R utastst?