home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 18 / Commodore_Disc_18_19xx_-_de.d64 / assemb.kurs2 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  4KB  |  145 lines

  1. 1 rem--------------------
  2. 2 rem-  assembler-kurs  -
  3. 3 rem-      teil 2      -
  4. 4 rem-                  -
  5. 5 rem-       von        -
  6. 6 rem-                  -
  7. 7 rem-  ralf trabhardt  -
  8. 8 rem--------------------
  9. 9 ifa>0then150
  10. 10 poke53280,0:poke53281,0:d=53272
  11. 20 print"[147]":c=0:printchr$(142)
  12. 30 print""
  13. 40 ifc=0orc=8thenprint"[144]"
  14. 50 ifc=1orc=7thenprint"[151]"
  15. 60 ifc=2orc=6thenprint"[152]"
  16. 70 ifc=3orc=5thenprint"[155]"
  17. 80 ifc=4thenprint""
  18. 100 print"assembler-kurs teil 2"
  19. 110 print"programmiert von"
  20. 120 print"ralf trabhardt"
  21. 130 geta$:ifa$=" "then149
  22. 140 c=c+1:ifc=9thenc=0
  23. 145 fori=1to40:nexti
  24. 146 goto30
  25. 149 a=a+1:ifa=1thenload"mc-routinen 2",8,1
  26. 150 sys32841:poked,(peek(d)and240)or14
  27. 151 printchr$(14):print"[147][155][197]s gilt folgende [212]astaturbelegung:"
  28. 152 print"[211][208][193][195][197][146]= [206][166]chste [211]eite"
  29. 153 print" [198]1 [146] = [197]ine [211]eite zur[168]ck"
  30. 154 print" [198]7 [146] = [197]rste [211]eite "
  31. 155 geta$:ifa$=""then155
  32. 156 se=1:goto165
  33. 157 :
  34. 160 gosub5000
  35. 165 printchr$(14):print"[147][155]":poke53280,0:poke53281,0
  36. 170 onsegoto200,250,350,470,650,1100,750,830,900
  37. 180 se=1:goto165
  38. 190 :
  39. 200 sys32768
  40. 210 se=se+1:goto165
  41. 250 print"[203]eine [208]anik, hier spukt es nicht !"
  42. 260 print"[196]as war nur [211][208][213][203][201][155], das [193]ssembler-"
  43. 270 print"[211]prite ! (unser neues [203]urs-[205]askottchen)"
  44. 280 print"[215]ie ihm anzumerken ist, hat er den"
  45. 290 print"ersten [212]eil dieses [203]urses gut verkraftet";
  46. 300 print"und freut sich schon auf den n[166]chsten."
  47. 310 print"[200]eute wird nicht gekleckert, sondern"
  48. 320 print"geklotzt. [197]s warten gleich 15 neue "
  49. 330 print"[194]efehle auf ihren [197]insatz."
  50. 340 goto160
  51. 350 print"[218]uerst ein [194]eispiel:"
  52. 360 print". [195]000  [193]0  05      [204][196][217] #$05"
  53. 370 print". [195]002  8[195]  20  [196]0  [211][212][217] $[196]020
  54. 380 [153]". len005  8len  21  str$0  (NULL)(NULL)(NULL) $str$021
  55. 390 print". [195]008  60          [210][212][211]   "
  56. 400 print"[203]ennen [211]ie die [215]irkung dieses "
  57. 410 print"[208]rogrammes ?"
  58. 420 print"[210]ichtig ! [194]ildschirm und [210]ahmen werden"
  59. 430 print"gr[168]n."
  60. 440 print"[197]s entspricht also dem [194]eispielpro-"
  61. 450 print"gramm aus dem 1.[212]eil des [203]urses."
  62. 460 goto160
  63. 470 print"[206]un ein kleiner [212]est:"
  64. 480 print"[194]etrachten [211]ie das folgende [208]rogramm."
  65. 490 print". [195]000  [193]2 0[193]     [204][196][216] #$0[193]
  66. 500 [153]". len002  val8        right$(NULL)(NULL)
  67. 510 print". [195]003  8[193]        [212][216][193]
  68. 530 [153]". len004  lenatn        str$val(NULL)
  69. 540 print". [195]005  [193]8        [212][193][217]
  70. 550 [153]". len006  88        str$val(NULL)
  71. 560 print". [195]007  88        [196][197][217]
  72. 570 [153]". len008  88        str$val(NULL)
  73. 580 print". [195]009  98        [212][217][193]
  74. 590 [153]". len00atn  8str$ 00 20  (NULL)(NULL)atn $2000
  75. 600 print". [195]00[196]  60        [210][212][211]
  76. 610 [153]"(NULL)elcher (NULL)ert ist im:"
  77. 611 [153]"1. atnkkumulator"
  78. 615 [153]"2. (NULL)-(NULL)egister"
  79. 620 [153]"3. (NULL)-(NULL)egister"
  80. 630 [153]"4. (NULL)peicherplatz $2000"
  81. 640 [137]160
  82. 650 [153]"right$n dem atnkkumulator, dem (NULL)-(NULL)egister und "
  83. 660 [153]"der (NULL)peicherstelle $2000 steht die"
  84. 670 [153]"(NULL)ahl $08."
  85. 680 [153]"str$as (NULL)-(NULL)egister enthspc(lt den (NULL)ert $0atn."
  86. 690 [153]"str$ieses (NULL)rogramm war in seiner ascorm "
  87. 700 [153]"natnotrlich sinnlos, aber wenn (NULL)ie das"
  88. 710 [153]"richtige valrgebnis haben, k(NULL)nnen (NULL)ie "
  89. 720 [153]"getrost davon ausgehen, da\ (NULL)ie diese"
  90. 730 [153]"neuen peekefehle beherrschen !"
  91. 740 [137]160
  92. 750 [153]"peekisher lernten (NULL)ie schon zwei"
  93. 760 [153]"atndressierungsarten des (NULL)str$atn-peekefehls"
  94. 770 [153]"kennen :"
  95. 780 [153]"(NULL)str$atn #$00   unmittelbare atndressierung"
  96. 790 [153]"(NULL)str$atn $2000  absolute atndressierung"
  97. 800 [153]"str$as (NULL)- und das (NULL)-(NULL)egister bieten jedoch"
  98. 810 [153]"weitere (NULL)(NULL)glichkeiten..."
  99. 820 [137]160
  100. 830 [153][163]46)"(NULL)str$atn $2000,(NULL)   absolut (NULL)-indiziert"
  101. 840 [153]"oder  (NULL)str$atn $2000,(NULL)   absolut (NULL)-indiziert"
  102. 850 [153]"str$iese atndressierungart bedeutet, da\"
  103. 860 [153]"nun nicht mehr der right$nhalt der (NULL)peicher-"
  104. 870 [153]"stelle $2000 in den atnkku geladen wird,"
  105. 880 [153]"sondern der right$nhalt von $2000+(NULL)-(NULL)egister"
  106. 890 [153]"( b.z.w $2000+(NULL) ).
  107. 891 print"[193]uch dazu ein [194]eispiel..."
  108. 895 goto160
  109. 900 printtab(9)"[204][196][216] #$03"
  110. 920 printtab(9)"[204][196][193] $2000,[216]"
  111. 930 printtab(9)"[211][212][193] $3000"
  112. 940 print"[201]n [211]peicherstelle $3000 befindet sich "
  113. 950 print"dann der [201]nhalt der [193]dresse $2003."
  114. 960 print"[196]ieses [208]rogrammbeispiel l[166]\t sich"
  115. 970 print"in [194]asic mit [216]=3:[208][207][203][197]12288,[208][197][197][203](8192+[216])"
  116. 980 print"ausdr[168]cken."
  117. 990 printtab(48)"$2000 =  8192 ([196]ezimal)"
  118. 995 printtab(8)"$3000 = 12288 ([196]ezimal)"
  119. 1000 print"[193]uch der [211][212][193]-[194]efehl kennt diese neuen"
  120. 1010 print"[193]dressierungarten ( z.[194].: [211][212][193] $2000,[216] "
  121. 1020 print"oder [211][212][193] $2000,[217] ).
  122. 1030 [153]"valin atnnwendungsgebiet der absolut (NULL)- oder";
  123. 1040 [153]"(NULL)- indizierten atndressierung finden (NULL)ie"
  124. 1050 [153]"in der n(NULL)chsten ascolge, wenn wir"
  125. 1060 [153]"(NULL)chleifen programmieren."
  126. 1070 [153][163]50)"(NULL)schnot\ bis dann...";
  127. 1080 [137]160
  128. 1100 [153]"(NULL)spc(hrend der str$val(NULL)-peekefehl ( (NULL)ie eben ge-"
  129. 1110 [153]"zeigt ) nur ein peekyte braucht, be-"
  130. 1120 [153]"n(NULL)tigt der str$vallen-peekefehl mehr als ein "
  131. 1130 [153]"peekyte, z.b.:"
  132. 1135 [153]". len000  lenval 00 20  str$vallen $2000"
  133. 1136 [153]". len002  60        (NULL)(NULL)(NULL)"
  134. 1140 [153]"(NULL)ie (NULL)ie sehen wird hier noch (NULL)latz "
  135. 1150 [153]"fnotr die (NULL)peicherstelle ben(NULL)tigt, auf"
  136. 1160 [153]"die sich der peekefehl bezieht."
  137. 1170 [137]160
  138. 5000 [161]a$
  139. 5010 [139]se[177]12[167]se[178]0:[142]
  140. 5015 [139]a$[178]" "[167]se[178]se[170]1:[142]
  141. 5020 [139]se[179]0[167]se[178]0:[142]
  142. 5025 [139]a$[178]"input"[167]se[178]se[171]1:[142]
  143. 5030 [139]a$[178]"let"[167]se[178]0:[142]
  144. 5040 [137]5000
  145.