Guten Tag an alle
ich habe versuche ein klein Sprungtabelle zu schreiben, aber er will
nicht funktionieren, ich frage euch ob jemand mir erklären kann was ich
zufällig falsch gemacht habe. Das Programm habe ich beigelegt
Vielen Danke
Claude
Falk B. schrieb:> @Jürgen (Gast)>>>>Da deine Tabelle im Flash steht, muss es heissen:>>> Ldi ZH,High(meinTab*2) ; High Adresse der Tabel>> ldi ZL, low(meinTab*2) ; Low Adresse der Tabel
es fehlt nur den: "in temp, PIN"
>>> Nö.
Eric B. schrieb:> Magst du jetzt wo dein Scheibenwischer doch funktioniert, alles nochmal> in Assembler schreiben?
Jaein,
Mein Vertig Bascom Programm bleibe, ich werde mir das ansehen noch mal
und weichenlich ein Möglichkeit einbauen für ein verlängerung oder
verkürzung der Pause.
Ich hatte dieser Programm mit ASM angefangen, stillgelegt für Bascom.
Und jetzt wollte ich mit dieser Sprungtabelle funktioniert, um etwas
andere zu machen
kein sorge der Bascom wird eingebaut. Ich habe doch noch frage darauf,
das geht um die Steuerung meiner relais. Für sofort ich möchte noch mein
Sprungtabelle vertigmachen
Nochmal Danke für Dein Hilfe im Bascom
Claude.
PS Ich habe doch angekündig dass ich auch in ASM machen wollte
@Claude Bochard (claude44)
> Tabellen.docx (13,2 KB, 3 Downloads)
Was soll der Unsinn? Warum sendest du deinen ASSEMBLERquelltext nicht
einfach so wie er ist, als .asm Datei?
>ein Sprungtabel funktioniere immer noch nicht,>Ich verstehe nicht ganz wie die SBIC Zeile aufgebaut sein soll?>Kann mir jemand helfen?
Hast du mal den Artikel gelesen? Dort steht alles drin!
AVR-Tutorial: Mehrfachverzweigung
Marc V. schrieb:> Claude B. schrieb:>> Kann mir jemand helfen?>> Dir ist nicht zu helfen.
Vielen dank
Ich bin aber der Meinung dass, wenn man Kann, ou will aber man muss
können, helfen ist einfach.
Falk B. schrieb:> @Claude Bochard (claude44)>>> Tabellen.docx (13,2 KB, 3 Downloads)>> Was soll der Unsinn? Warum sendest du deinen ASSEMBLERquelltext nicht> einfach so wie er ist, als .asm Datei?
Sorry, wird so gemacht. Kein hatt mir gesagt, wusst ich nicht
>> Hast du mal den Artikel gelesen? Dort steht alles drin!>> AVR-Tutorial: Mehrfachverzweigung
Vielen Danke für der Link, habe ich mir angesehen leider ist es mir
schwirig die für mein bedürfniss einzusetzen, etwas fehlt mir.
Claude B. schrieb:> Falk B. schrieb:>> @Claude Bochard (claude44)>>>>> Tabellen.docx (13,2 KB, 3 Downloads)>>>> Was soll der Unsinn? Warum sendest du deinen ASSEMBLERquelltext nicht>> einfach so wie er ist, als .asm Datei?> Sorry, wird so gemacht. Kein hatt mir gesagt, wusst ich nicht>>>> Hast du mal den Artikel gelesen? Dort steht alles drin!>>>> AVR-Tutorial: Mehrfachverzweigung>> Vielen Danke für der Link, habe ich mir angesehen leider ist es mir> schwirig die für mein bedürfniss einzusetzen, etwas fehlt mir.
Duden?
Jürgen_W schrieb:> willst ? Wenn Ja, probiere es mal so
Warum Leute nichtfunktionierenden Code durch falschfunktionierende
Änderungen noch schlechter machen, bleibt für mich ein Rätsel.
@ Kurzy (Gast)
>> Vielen Danke für der Link, habe ich mir angesehen leider ist es mir>> schwirig die für mein bedürfniss einzusetzen, etwas fehlt mir.>Duden?
Wie man am Namen des OP erahnen kann, ist er wohl Franzose und Deutsch
nicht seine Muttersprache.
Comprenez-vous?
Falk B. schrieb:> @ Kurzy (Gast)>>>> Vielen Danke für der Link, habe ich mir angesehen leider ist es mir>>> schwirig die für mein bedürfniss einzusetzen, etwas fehlt mir.>>>Duden?>> Wie man am Namen des OP erahnen kann, ist er wohl Franzose und Deutsch> nicht seine Muttersprache.
Genau
>> Comprenez-vous?
oui monsieur
Falk B. schrieb:> @ Kurzy (Gast)>>>> Vielen Danke für der Link, habe ich mir angesehen leider ist es mir>>> schwirig die für mein bedürfniss einzusetzen, etwas fehlt mir.>>>Duden?
da verstehe ich nicht
>> Wie man am Namen des OP erahnen kann, ist er wohl Franzose und Deutsch> nicht seine Muttersprache.
Geeenau
>> Comprenez-vous?
oui monsieur
Ich habe mein Sprungtabelle weiter entwickelt, und mit den Simulator
durch gesielte, aber irrgentwie wille er nicht springen wo er soolt,
kann mir jemand sagen wo ich ein fehler gemacht habe?
Danke
Claude B. schrieb:> und mit den Simulator> durch gesielte,
dann könntest du uns ja mitteilen, was du dort sieht? Dort sind doch
alle Register sichtbar - da muss man doch sehen wenn etwas drin steht
was man nicht erwartet? So schwer kann das doch bei 10 Zeilen code nicht
sein.
1
adc ZH, tmp
das sieht zumindest merkwürdig aus, auch aus dem Kommentar erschließt
sich mir der sinn nicht.
add ZL,tmp ; Adiere Portklavierstand zu Tabellenadresse
4
5
cpi tmp, 0
6
breq Loop ; Spring wenn 0
7
adc ZH, tmp ; im Z register H Addieren
Du erlaubst durch dein 'andi tmp,0x04' nur noch genau ein Pinbeinchen,
nämlich Bit 2. Falk hat doch schon gepostet, ein 'andi tmp,0x07' würde
alle portpins von 0 bis 2 erlauben und dir 8 Auswahlmöglichkeiten geben.
Ein 'andi tmp,0x03' erlaubt dir 4 Möglichkeiten mit Pin0 und Pin1.
Dann ist deine 16 bit Addition nicht vollständig. Falk hat dir hier
1
add ZL,tmp
2
clr tmp
3
adc ZH,tmp
geschrieben, was die richtige Methode ist, um einen 8-bit Wert in tmp
auf ein 16bit Register zu addieren.
Die Abfrage auf 0 ist unnötig, weil du in deine Sprungtabelle einfach
ein 'ret' auf Position 0 schreiben kannst.
Lieber Claude,
ich empfehle Dir sehr, erst einmal zu versuchen, ein Problem detailliert
zu beschreiben. Wenn Du das übst, dann ist es leichter für Dich ein
Problem zu lösen. Jedenfalls ist die Beschreibung "es geht nicht", nicht
zweckmäßig.
Wir erfahren nicht, was tatsächlich geschieht und was stattdessen
geschehen soll. Wir können uns das zwar denken, aber wichtig ist, dass
DU das denken kannst.
Dann empfehle ich Dir, noch einmal genau nachzulesen, was die Befehle
"JMP", "CALL" und "RET" bzw. deren Pendants "IJMP" und "ICALL" tun.
Beachte besonders, dass CALL und RET Paare bilden und der Ablauf durch
den Inhalt des Stacks beeinflusst wird.
Bis jetzt läuft der Thread darauf hinaus, dass man Dir einfach vormacht,
wie es geht. Aber davon lernst Du nichts.
Bonne chance.
@ Claude Bochard (claude44)
>Ich habe mein Sprungtabelle weiter entwickelt,
Nö, du hast ein funktionierendes Beispiel ignoriert und deine alte,
fehlerhafte Version verschlimmbessert.
>kann mir jemand sagen wo ich ein fehler gemacht habe?
Dir fehlen massiv Grundlagen.
Zeichne mal DETAILIERT auf, was dieser Befehl wohl macht und ob der
Kommentar dahinter wirklich stimmt.
andi tmp,0x04 ; Lösche die obere Bits
Kleiner Tip: Bitmanipulation.
Marc V. schrieb:> Ich würde das nicht gerade weiterentwickeln nennen...
Das habe ich gemerke
Matthias S. schrieb:> Die Abfrage auf 0 ist unnötig, weil du in deine Sprungtabelle einfach> ein 'ret' auf Position 0 schreiben kannst.
ich kann dann der 0 nicht benutzen. ist es aber nicht weiter schlimm,
ich habe die abfrag weggenohmen, und auf 7 erhöhte.
Hosenmatz schrieb:> ich empfehle Dir sehr, erst einmal zu versuchen, ein Problem detailliert> zu beschreiben. Wenn Du das übst, dann ist es leichter für Dich ein> Problem zu lösen. Jedenfalls ist die Beschreibung "es geht nicht", nicht> zweckmäßig.
Danke für die Kritik,Ich versuche jetzt so zu handel, ich möchte kein
fertig Programme bekommen
Nun mit der Simulation, spring ich zu mein Richtig RCALL, dann zu die
richtig POS_2 aber mit ret ist nicht möglich zurück zu loop, ich habe
versuch mit "meinTab" RJMP LOOP er sping zu MAIN. Ich habe auch versuch
am statt "rcall pos_0", ein rjmp loop zu setzen. was funktioniere
Wie ich sehe, nach icall, der RJMP ist denke ich überflüssig so wie der
von "meinTabel" oder sehe ich wieder Falsch?
Ich habe mir viele Programmen angesehen, und ich habe KEIN Sprungtabelle
gesehen, gibt es ein Grund?
Claude B. schrieb:> Ich habe mir viele Programmen angesehen, und ich habe KEIN Sprungtabelle> gesehen, gibt es ein Grund?
weil es oft einfach nicht Notwenig ist?
man könnte ja einfach
1
if wert = 1
2
begin
3
goto weiter:
4
end
5
6
if wert = 2
7
begin
8
goto weiter:
9
end
10
11
weiter:
schreiben, ja das ist etwas langsamer. Aber es funktioniert sofort und
du währst schon lange fertig.
@ Claude Bochard (claude44)
>> Die Abfrage auf 0 ist unnötig, weil du in deine Sprungtabelle einfach>> ein 'ret' auf Position 0 schreiben kannst.> ich kann dann der 0 nicht benutzen.
Musst du auch gar nicht!
>Nun mit der Simulation, spring ich zu mein Richtig RCALL, dann zu die>richtig POS_2 aber mit ret ist nicht möglich zurück zu loop,
Doch!
>ich habe>versuch mit "meinTab" RJMP LOOP er sping zu MAIN.
FALSCH! Damit läuft dir in kurzer Zeit der Stack über. Für JEDES CALL
oder ICALL braucht man auch ein RET!
> Ich habe auch versuch>am statt "rcall pos_0", ein rjmp loop zu setzen. was funktioniere
Unsinn.
>Wie ich sehe, nach icall, der RJMP ist denke ich überflüssig so wie der>von "meinTabel" oder sehe ich wieder Falsch?
Wieder falsch. Du stocherst planlos rum, weil du so gut wie KEINERELEI
Grundlagen kennst. Lass es. Du machst dir nur sinnlos Stress.
Nimm doch verdammt nochmal einfach mal mein Programm und geh es in
Einzelschritten im Simulator durch! Dann siehst du auch, wo der
Programmablauf langgeht!
Beitrag "Re: AVR prungtabelle"
Falk B. schrieb:> FALSCH! Damit läuft dir in kurzer Zeit der Stack über. Für JEDES CALL> oder ICALL braucht man auch ein RET!
Genau.
Sorry, habe gar nicht gesehen, dass du es ihm schon einmal richtig
gepostet hast.
Anscheinend extrem lernresistent.
Ich möchte mich " als extrem lernresistent" für euer Durchalte vermögen
bedanken.
Das Programm läuft jetzt.
Ich habe festgestell dass die Sprüngen reagieren auf binairzahl. Ich
kann nur 4 Tasten benutzen
Taste 0 spring auf 1
Taste 1 auf 2
Taste 2 auf 4
taste 3 auf 8
ist Correkt ?
@ Claude Bochard (claude44)
>Ich habe festgestell dass die Sprüngen reagieren auf binairzahl. Ich>kann nur 4 Tasten benutzen>Taste 0 spring auf 1>Taste 1 auf 2>Taste 2 auf 4>taste 3 auf 8>ist Correkt ?
Ja, aber nur, wenn deine Tasten HIGH aktiv sind und du exteren Pull Down
Widerstände hast. Das widerspricht aber eine wenig der Tatsache, daß du
die internen Pull-Up Widerstände eingeschaltet hast. Wie sieht deine
Hardware real aus?
Wenn deine Tasten low aktiv sind (schalten nach GND), dann kann man das
einfach ändern, indem man das Einlesen der Pins so macht
Falk B. schrieb:> Ja, aber nur, wenn deine Tasten HIGH aktiv sind und du exteren Pull Down> Widerstände hast. Das widerspricht aber eine wenig der Tatsache, daß du> die internen Pull-Up Widerstände eingeschaltet hast. Wie sieht deine> Hardware real aus?
Ich habe da kein Hardware, dass das für mich nur ein Lerneffect haben
soll, was aber gelungen ist
>> Wenn deine Tasten low aktiv sind (schalten nach GND), dann kann man das> einfach ändern, indem man das Einlesen der Pins so macht> in tmp, PINein ; Pins einlesen> com tmp ; alle Bits invertieren
Das werde ich ausprobieren
Danke
Falk B. schrieb:> Wenn deine Tasten low aktiv sind (schalten nach GND), dann kann man das> einfach ändern, indem man das Einlesen der Pins so macht> in tmp, PINein ; Pins einlesen> com tmp ; alle Bits inverti
mit debuging werde das Bit 3 (8) invertirt in tmp(r16) aber nach ADD ZL
wird tmp auf 00, und spring auf 0
kann man der Ihnhalt von ijmp sehen?
ich habe AtmelStudio 7
Claude B. schrieb:> mit debuging werde das Bit 3 (8) invertirt in tmp(r16) aber nach ADD ZL> wird tmp auf 00, und spring auf 0
Wann hörst du endlich mit herumspielen auf ?
Vor allem an Dingen die du anscheinend nicht verstehst ?
1
andi tmp, 0x08 ; Lösche die obere Bits UND Verknüpfung
Hier hast du gerade alle bits ausser bit3 auf 0 gesetzt.
Diese sinnlose rumhüpferei im geposteten Code ist unnötig.
Benutze doch das erste Programm von Falk, da ist es richtig gemacht.
Und wenn du sein Programm benutztst, dann solltest du zumindest seine
Ratschläge befolgen.
Marc V. schrieb:> Wann hörst du endlich mit herumspielen auf ?> Vor allem an Dingen die du anscheinend nicht verstehst ?
Ich spiel nicht rum. Und wenn ich nicht verstehe, versuche ich zu
Verstehen.
Marc V. schrieb:> Benutze doch das erste Programm von Falk, da ist es richtig gemacht.>> Und wenn du sein Programm benutztst, dann solltest du zumindest seine> Ratschläge befolgen.
Ich benützt das Programm die Funktioniere, und nach seine Ratschläge
habe ich mein Programm geändert.
Falk B. schrieb:> Wenn deine Tasten low aktiv sind (schalten nach GND), dann kann man das> einfach ändern, indem man das Einlesen der Pins so macht> in tmp, PINein ; Pins einlesen> com tmp ; alle Bits invertieren
Und gebe die Ergebnisse Aus
Marc V. schrieb:> andi tmp, 0x08 ; Lösche die obere Bits UND Verknüpfung> Hier hast du gerade alle bits ausser bit3 auf 0 gesetzt.
Bit 3 soll doch stehen bleiben, nun ich möchte ein Sprung nicht nach 8
sonderd nach 3. den code "Andi tmp, 08" ist von Anfangan schon in der
Programm, die leste Änderung "in tem, PINein-- com tmp" sollte mein
Problème lösen,
Übrigens, ich verstehe nicht dass du dich auregt, über mein Unwissen,
diese Forum ist doch da, Für uns alle die etwas nicht verstanden haben,
und wir versuchen mit dieser Weg unsere Probleme zu lösen
Als " extrem lernresistent" bewunder ich Falk, die mir mindensten bei
gebrachte wie ein Sprungtabelle funktioniere.
Ich bedanke mich auch bein Dir für den Hilfe dass du bei mir geleistet
habe für mein Bascom Programme aber ich bitte dich mich anders zu
behandel
@Claude Bochard (claude44)
>mit debuging werde das Bit 3 (8) invertirt in tmp(r16) aber nach ADD ZL>wird tmp auf 00, und spring auf 0
Logisch. Mit
andi tmp, 8
werden ALLE Bits außer Bit#3 gelöscht. Das Ergebnis kann nur 0 oder 8
sein, demzufolge kann man nur nach Pos_0 oder Pos_8 springen, je
nachdem, wie der Pegel an PD3 ist.
Alle anderen Eingänge werden damit unwirksam!
1
Bit 76543210 Bitnummer
2
PIND xxxxxxxx Eingangsdaten
3
0x08 00000100 Bitmaske
4
--------------
5
AND 00000x00 Ergebnis der UND-Verknüpfung
>kann man der Ihnhalt von ijmp sehen?
Sicher, im Register Z, welches aus R30 und R31 besteht. Aber das sieht
man doch einfach im Simulator, wo die CPU hinspringt
(Einzelschrittbetrieb mit F11!)
In deiner Skizze im Quelltext ist ein Fehler, die letzten 3 Taster
müssen zwei Pins weiter runter
Claude B. schrieb:> Bit 3 soll doch stehen bleiben, nun ich möchte ein Sprung nicht nach 8> sonderd nach 3. den code "Andi tmp, 08" ist von Anfangan schon in der> Programm, die leste Änderung "in tem, PINein-- com tmp" sollte mein> Problème lösen,
Wo siehst du 0x08 im Programm von Falk ?
Claude B. schrieb:> Ich benützt das Programm die Funktioniere, und nach seine Ratschläge> habe ich mein Programm geändert.
Nein, tust du nicht und hast du nicht.
Falk B. schrieb:> andi tmp, 8>> werden ALLE Bits außer Bit#3 gelöscht. Das Ergebnis kann nur 0 oder 8> sein, demzufolge kann man nur nach Pos_0 oder Pos_8 springen, je> nachdem, wie der Pegel an PD3 ist.> Alle anderen Eingänge werden damit unwirksam!> Bit 76543210 Bitnummer> PIND xxxxxxxx Eingangsdaten> 0x08 00000100 Bitmaske> --------------> AND 00000x00 Ergebnis der UND-Verknüpfung
Also wenn ich gut verstehe, der "Andi tmp" code darf nicht eingesetzt
werden?. Aber kann man überhaupt das ding beibringen, wenn mein Bit 3
gesetzt ist, das ein bit 3 Interpretiere und nicht ein 8? oder bit 2
als 3 un sw. Da durch sind Natürlich mein Taster nicht korekt eingesetzt
Hi,
weil:
>In deiner Skizze im Quelltext ist ein Fehler, die letzten 3 Taster>müssen zwei Pins weiter runter
ist mir aufgefallen das deine Sprungtabelle zu kurz ist.
Mit den Bits(Tasten)0-4 sind 31 Sprungziele erreichbar. Die Tabelle hat
aber nur 9, die anderen(höheren) gehen also nicht da hin wo du möchtest.
Mit 3 Tasten(0-2)ist dein Sprungbereich schon fast ausgelastet.
Filtere also bitte mit
andi tmp,0x07
und die Tasten 0-2 bleiben in tmp. Da langt dann auch die Sprungtabelle.
viel Erfolg, Uwe
@Claude Bochard (claude44)
>Also wenn ich gut verstehe, der "Andi tmp" code darf nicht eingesetzt>werden?.
Nein, das verstehst du nicht gut.
> Aber kann man überhaupt das ding beibringen, wenn mein Bit 3>gesetzt ist, das ein bit 3 Interpretiere und nicht ein 8? oder bit 2>als 3 un sw. Da durch sind Natürlich mein Taster nicht korekt eingesetzt
Ist es denn SOOO schwer, einfach die entsprechenden Unterprogramme zu
nutzen und die anderen einfach leer zu lassen?
@ Uwe (Gast)
>Filtere also bitte mit>andi tmp,0x07>und die Tasten 0-2 bleiben in tmp. Da langt dann auch die Sprungtabelle.
Auch dieser Hinweis besteht seit Ewigkeiten.
Uwe schrieb:> Hi,> weil:>>In deiner Skizze im Quelltext ist ein Fehler, die letzten 3 Taster>>müssen zwei Pins weiter runter> ist mir aufgefallen das deine Sprungtabelle zu kurz ist.> Mit den Bits(Tasten)0-4 sind 31 Sprungziele erreichbar. Die Tabelle hat> aber nur 9, die anderen(höheren) gehen also nicht da hin wo du möchtest.> Mit 3 Tasten(0-2)ist dein Sprungbereich schon fast ausgelastet.> Filtere also bitte mit> andi tmp,0x07> und die Tasten 0-2 bleiben in tmp. Da langt dann auch die Sprungtabelle.>> viel Erfolg, Uwe
Danke für dein Antwort, in zwischen, sind wir weiter, mein Tabelle ist
bis auf 8 ergänze worden, Leider ich bin davon gegangen das der Sprung
nach BIT reagiere, nicht nach HEX zahl so taste 0 = 1, Taste 1 = 2,
Taste 2 = 3
Taste 3 = 4, Taste 4 = 8.
dadurch sind natürlich mein Taster Falsche gelegt
@ Claude Bochard (claude44)
>Danke für dein Antwort, in zwischen, sind wir weiter, mein Tabelle ist>bis auf 8 ergänze worden,
Das reicht aber nicht. Denn mit 4 Bits kann man 16 verschiedene Zahlen
darstellen, also muss man 16 Unterprogramme bereitstellen.
> Leider ich bin davon gegangen das der Sprung>nach BIT reagiere, nicht nach HEX zahl so taste 0 = 1, Taste 1 = 2,>Taste 2 = 3>Taste 3 = 4, Taste 4 = 8.>dadurch sind natürlich mein Taster Falsche gelegt
Sieht so aus. Aber um mit 5 Tasten in 5 Unterprogramme zu springen lohnt
sich eine Sprungtabelle nicht. Das macht man besser mit 5
Einzelabfragen.
Siehe Anhang.
Falk B. schrieb:> Ist es denn SOOO schwer, einfach die entsprechenden Unterprogramme zu> nutzen und die anderen einfach leer zu lassen?
ist es überhaupt nicht schwer, und ich habe es verstanden(Ausnameweise)
aber für 4 Taster, ich brauch 8 Sprünge, wieviel für 5, oder 6 Tasten?
Deswegen meine Frage, kann man das so machen daß wir bit0 = 0, bit 1 =
1, Bit 2 = 2 esw.
@ Claude Bochard (claude44)
>Danke für dein Antwort, in zwischen, sind wir weiter, mein Tabelle ist>bis auf 8 ergänze worden,
Das reicht aber nicht. Denn mit 4 Bits kann man 16 verschiedene Zahlen
darstellen, also muss man 16 Unterprogramme bereitstellen.
> Leider ich bin davon gegangen das der Sprung>nach BIT reagiere, nicht nach HEX zahl so taste 0 = 1, Taste 1 = 2,>Taste 2 = 3>Taste 3 = 4, Taste 4 = 8.>dadurch sind natürlich mein Taster Falsche gelegt
Sieht so aus. Aber um mit 5 Tasten in 5 Unterprogramme zu springen lohnt
sich eine Sprungtabelle nicht. Das macht man besser mit 5
Einzelabfragen.
Siehe Anhang. Jetzt mit richtigem Portzugriff 8-0
Falk B. schrieb:> Sieht so aus. Aber um mit 5 Tasten in 5 Unterprogramme zu springen lohnt> sich eine Sprungtabelle nicht. Das macht man besser mit 5> Einzelabfragen.>> Siehe Anhang.
Vielen Dankefür die Anhang, du beanwortet genau meine Frage, und daß ist
weichenlich der Grund warum es nie oder fast nie benutzt wird
Claude B. schrieb:> kann man das so machen daß wir bit0 = 0, bit 1 => 1, Bit 2 = 2 esw.
und was soll bei Bit0 und Bit1 passieren? Das musst du dann sicher
verhindert.
Warum willst du es zwingend mit einer Sprungtabelle machen, du hast doch
schon selber festgellt das es andere ohne machen. Wird wohl einen Grund
haben.
Claude B. schrieb:> ist es überhaupt nicht schwer, und ich habe es verstanden(Ausnameweise)> aber für 4 Taster, ich brauch 8 Sprünge, wieviel für 5, oder 6 Tasten?> Deswegen meine Frage, kann man das so machen daß wir bit0 = 0, bit 1 => 1, Bit 2 = 2 esw.
Die Formel für die Anzahl der Sprung Tabelleneinträge ist 2^N mit N für
die Anzahl der Taster.
N=3 ==> 3 Taster
2^N = 2^3 = 8, also muss man von 0,1,..,7 die Sprung Tabelleneinträge
anlegen.
Peter II schrieb:> Warum willst du es zwingend mit einer Sprungtabelle machen, du hast doch> schon selber festgellt das es andere ohne machen. Wird wohl einen Grund> haben.
Nein, ich hatte gedacht, dass 16 Sprünge die funktionieren wie die
case-Anweisung das soll doch toll sein, pech gehabt
und Vielen Dank für Deine Hilfe und die von alle Andere
Claude