INFO - FAQ - CC2-Forum - CCPro-Forum |
hallo! nachstehend das Testprogramm,ist von Georg funkt.einwandfrei 'Dieser Code muß in den internen EEProm des Controllers: 'org $101 'lda #0 'sta $00C0 'sta $00C1 'sta $00C2 'sta $00C3 'sta $00C4 'sta $00C5 'sta $00C6 'sta $00C7 'rts 'end 'Dies hier ist ein Beispielprogramm über die Funktionsweise in BASIC: 'Rücksprungadressen von GOSUB's werden bei jedem NICHT RETURN Abgang 'auf 0 gesetzt. define x word[1] #anfang x=x+1 if x>1 then goto jump goto a0 #jump print"bin gejumpt" x=0 gosub jump1 #jump1 sys &H0101 goto anfang'obwohl über GOTO raus keine GOSUB-Aufschaukelung #a0 print"bin in a0" gosub a1 print "bin zurück aus a1" goto anfang 'statt return GOTO (evtl durch Grund in einer IF- 'Anweisung nicht mehr zum Ursprungsort sondern in ein anderes 'Unterprogramm #a1 print"bin in a1" gosub a2 print"bin zurück aus a2" return #a2 print"bin in a2" gosub a3 print"bin zurück aus a3" return #a3 print"bin in a3" gosub a4 print"bin zurück aus a4" return #a4 print"bin in a4,springe jetzt zurück" return end syscode "gosub.S19" 'Assembler-Code laden um Rücksprungadressen 'von 'den GOSUB's zu löschen. Es genügt wenn die 'ersten 2 Bytes von der ersten Rücksprung- 'Adresse auf 0 gesetzt werden. Die Adressen 'sind: 00C0+00C1,00C2+00C3,00C4+00C5,00C6+00C7 'die S19 Datei: 'S1160101A600B7C0B7C1B7C2B7C3B7C4B7C5B7C6B7C781EC 'S5030001FB mfg Hanns > > Hallo Hanns, > mich würde dieses Programmbeispiel auch interessieren, könntest Du es hier hereinhängen und so allgemein zugänglich machen, wenn es nicht allzu lang ist? > > Vielen Dank, > Martin T. |
Antwort schreiben |