home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 18
/
Commodore_Disc_18_19xx_-_de.d64
/
assemb.kurs2
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
4KB
|
145 lines
1 rem--------------------
2 rem- assembler-kurs -
3 rem- teil 2 -
4 rem- -
5 rem- von -
6 rem- -
7 rem- ralf trabhardt -
8 rem--------------------
9 ifa>0then150
10 poke53280,0:poke53281,0:d=53272
20 print"[147]":c=0:printchr$(142)
30 print""
40 ifc=0orc=8thenprint"[144]"
50 ifc=1orc=7thenprint"[151]"
60 ifc=2orc=6thenprint"[152]"
70 ifc=3orc=5thenprint"[155]"
80 ifc=4thenprint""
100 print"assembler-kurs teil 2"
110 print"programmiert von"
120 print"ralf trabhardt"
130 geta$:ifa$=" "then149
140 c=c+1:ifc=9thenc=0
145 fori=1to40:nexti
146 goto30
149 a=a+1:ifa=1thenload"mc-routinen 2",8,1
150 sys32841:poked,(peek(d)and240)or14
151 printchr$(14):print"[147][155][197]s gilt folgende [212]astaturbelegung:"
152 print"[211][208][193][195][197][146]= [206][166]chste [211]eite"
153 print" [198]1 [146] = [197]ine [211]eite zur[168]ck"
154 print" [198]7 [146] = [197]rste [211]eite "
155 geta$:ifa$=""then155
156 se=1:goto165
157 :
160 gosub5000
165 printchr$(14):print"[147][155]":poke53280,0:poke53281,0
170 onsegoto200,250,350,470,650,1100,750,830,900
180 se=1:goto165
190 :
200 sys32768
210 se=se+1:goto165
250 print"[203]eine [208]anik, hier spukt es nicht !"
260 print"[196]as war nur [211][208][213][203][201][155], das [193]ssembler-"
270 print"[211]prite ! (unser neues [203]urs-[205]askottchen)"
280 print"[215]ie ihm anzumerken ist, hat er den"
290 print"ersten [212]eil dieses [203]urses gut verkraftet";
300 print"und freut sich schon auf den n[166]chsten."
310 print"[200]eute wird nicht gekleckert, sondern"
320 print"geklotzt. [197]s warten gleich 15 neue "
330 print"[194]efehle auf ihren [197]insatz."
340 goto160
350 print"[218]uerst ein [194]eispiel:"
360 print". [195]000 [193]0 05 [204][196][217] #$05"
370 print". [195]002 8[195] 20 [196]0 [211][212][217] $[196]020
380 [153]". len005 8len 21 str$0 (NULL)(NULL)(NULL) $str$021
390 print". [195]008 60 [210][212][211] "
400 print"[203]ennen [211]ie die [215]irkung dieses "
410 print"[208]rogrammes ?"
420 print"[210]ichtig ! [194]ildschirm und [210]ahmen werden"
430 print"gr[168]n."
440 print"[197]s entspricht also dem [194]eispielpro-"
450 print"gramm aus dem 1.[212]eil des [203]urses."
460 goto160
470 print"[206]un ein kleiner [212]est:"
480 print"[194]etrachten [211]ie das folgende [208]rogramm."
490 print". [195]000 [193]2 0[193] [204][196][216] #$0[193]
500 [153]". len002 val8 right$(NULL)(NULL)
510 print". [195]003 8[193] [212][216][193]
530 [153]". len004 lenatn str$val(NULL)
540 print". [195]005 [193]8 [212][193][217]
550 [153]". len006 88 str$val(NULL)
560 print". [195]007 88 [196][197][217]
570 [153]". len008 88 str$val(NULL)
580 print". [195]009 98 [212][217][193]
590 [153]". len00atn 8str$ 00 20 (NULL)(NULL)atn $2000
600 print". [195]00[196] 60 [210][212][211]
610 [153]"(NULL)elcher (NULL)ert ist im:"
611 [153]"1. atnkkumulator"
615 [153]"2. (NULL)-(NULL)egister"
620 [153]"3. (NULL)-(NULL)egister"
630 [153]"4. (NULL)peicherplatz $2000"
640 [137]160
650 [153]"right$n dem atnkkumulator, dem (NULL)-(NULL)egister und "
660 [153]"der (NULL)peicherstelle $2000 steht die"
670 [153]"(NULL)ahl $08."
680 [153]"str$as (NULL)-(NULL)egister enthspc(lt den (NULL)ert $0atn."
690 [153]"str$ieses (NULL)rogramm war in seiner ascorm "
700 [153]"natnotrlich sinnlos, aber wenn (NULL)ie das"
710 [153]"richtige valrgebnis haben, k(NULL)nnen (NULL)ie "
720 [153]"getrost davon ausgehen, da\ (NULL)ie diese"
730 [153]"neuen peekefehle beherrschen !"
740 [137]160
750 [153]"peekisher lernten (NULL)ie schon zwei"
760 [153]"atndressierungsarten des (NULL)str$atn-peekefehls"
770 [153]"kennen :"
780 [153]"(NULL)str$atn #$00 unmittelbare atndressierung"
790 [153]"(NULL)str$atn $2000 absolute atndressierung"
800 [153]"str$as (NULL)- und das (NULL)-(NULL)egister bieten jedoch"
810 [153]"weitere (NULL)(NULL)glichkeiten..."
820 [137]160
830 [153][163]46)"(NULL)str$atn $2000,(NULL) absolut (NULL)-indiziert"
840 [153]"oder (NULL)str$atn $2000,(NULL) absolut (NULL)-indiziert"
850 [153]"str$iese atndressierungart bedeutet, da\"
860 [153]"nun nicht mehr der right$nhalt der (NULL)peicher-"
870 [153]"stelle $2000 in den atnkku geladen wird,"
880 [153]"sondern der right$nhalt von $2000+(NULL)-(NULL)egister"
890 [153]"( b.z.w $2000+(NULL) ).
891 print"[193]uch dazu ein [194]eispiel..."
895 goto160
900 printtab(9)"[204][196][216] #$03"
920 printtab(9)"[204][196][193] $2000,[216]"
930 printtab(9)"[211][212][193] $3000"
940 print"[201]n [211]peicherstelle $3000 befindet sich "
950 print"dann der [201]nhalt der [193]dresse $2003."
960 print"[196]ieses [208]rogrammbeispiel l[166]\t sich"
970 print"in [194]asic mit [216]=3:[208][207][203][197]12288,[208][197][197][203](8192+[216])"
980 print"ausdr[168]cken."
990 printtab(48)"$2000 = 8192 ([196]ezimal)"
995 printtab(8)"$3000 = 12288 ([196]ezimal)"
1000 print"[193]uch der [211][212][193]-[194]efehl kennt diese neuen"
1010 print"[193]dressierungarten ( z.[194].: [211][212][193] $2000,[216] "
1020 print"oder [211][212][193] $2000,[217] ).
1030 [153]"valin atnnwendungsgebiet der absolut (NULL)- oder";
1040 [153]"(NULL)- indizierten atndressierung finden (NULL)ie"
1050 [153]"in der n(NULL)chsten ascolge, wenn wir"
1060 [153]"(NULL)chleifen programmieren."
1070 [153][163]50)"(NULL)schnot\ bis dann...";
1080 [137]160
1100 [153]"(NULL)spc(hrend der str$val(NULL)-peekefehl ( (NULL)ie eben ge-"
1110 [153]"zeigt ) nur ein peekyte braucht, be-"
1120 [153]"n(NULL)tigt der str$vallen-peekefehl mehr als ein "
1130 [153]"peekyte, z.b.:"
1135 [153]". len000 lenval 00 20 str$vallen $2000"
1136 [153]". len002 60 (NULL)(NULL)(NULL)"
1140 [153]"(NULL)ie (NULL)ie sehen wird hier noch (NULL)latz "
1150 [153]"fnotr die (NULL)peicherstelle ben(NULL)tigt, auf"
1160 [153]"die sich der peekefehl bezieht."
1170 [137]160
5000 [161]a$
5010 [139]se[177]12[167]se[178]0:[142]
5015 [139]a$[178]" "[167]se[178]se[170]1:[142]
5020 [139]se[179]0[167]se[178]0:[142]
5025 [139]a$[178]"input"[167]se[178]se[171]1:[142]
5030 [139]a$[178]"let"[167]se[178]0:[142]
5040 [137]5000