Hallo! Vielleicht hat jemand von euch eine Idee wo hier der Fehler sein könnte: Es kommt bei jedem zweiten Durchlauf zu einem falschen Ergebnis unten in R7. Wenn R2 oben als Zahl "1" durchläuft (Cursor-Position links oben) kommt abwechselnd 1 und dann 9 heraus. Bei Startwert "3" kommt abwechselnd 3 und dann 10 heraus. Ich habe alles probiert und die Opcodes stimmen 100%. Den Programmteil verwende ich fast identisch sogar in einem anderen Programmabschnitt erfolgreich, aber vielleicht nur weil der da immer nur einmal durchläuft.
:
Verschoben durch User
H-G S. schrieb: > Ich habe alles probiert und die Opcodes stimmen 100%. Dann zeig doch bitte deinen Assembler-Code als Text und nicht deinen Pseudo-Code als Bild. Wass genau soll dein Code eigentlich erreichen. Sieht nach einer etwas verqueren Modulo-Funktion aus, bei der das Ergebnis laut Kommentar im Bereich 1-8 statt im Bereich 0-7 liegen soll. Wenn du stattdessen bei 0 zu zählen beginnen würdest, dann ließe sich dein gesamter Code wahrscheinlich ersetzen durch mov a,r2 anl a,#7 H-G S. schrieb: > Bei Startwert "3" kommt > abwechselnd 3 und dann 10 heraus. dann wird wohl dein clr c vom Beginn doch nicht so im Code stehen.
H-G S. schrieb: > Ich habe alles probiert und die Opcodes stimmen 100%. Den Programmteil > verwende ich fast identisch sogar in einem anderen Programmabschnitt > erfolgreich, aber vielleicht nur weil der da immer nur einmal > durchläuft. Dann liegt es an der Hardware! Foto vom Aufbau und Schalplan sowie Boardfile hier hochladen!
H-G S. schrieb: > Ich habe alles probiert Probieren hat mit Programmieren nichts zu tun. H-G S. schrieb: > und die Opcodes stimmen 100%. Ich sehe nirgends ein *.asm File mit Code. Läuft gerade ein Kontest, wie beschreibe ich mein Problem möglichst ungenau und kompliziert?
Gegeben: R2: 1..48 Gesucht: R7: 1..8 Lösung: MOV A,R2 DEC A AND A,#07h INC A MOV R7,A
Carl D. schrieb: > Gegeben: > R2: 1..48 > > Gesucht: > R7: 1..8 > > Lösung: > MOV A,R2 > DEC A > AND A,#07h > INC A > MOV R7,A Fantastisch, danke dir!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.