Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: GOSUB aufheben Kategorie: Programmierung Basic (von Hanns - 17.02.2004 18:34)
 Als Antwort auf Re: GOSUB aufheben von Martin T. - 17.02.2004 8:24
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

Bisherige Antworten:

Re: GOSUB aufheben (von Tilli - 24.02.2004 9:37)