Hallo zusammen, kann mir jemand bei folgendem helfen. ich möchste unten stehen Code im prinzip rückwärts ablaufen lassen.(Bildlich gesprochen) Momentan habe ich 3 8Bit register und erstelle daraus 1 16 Bit register. Jetzt möchte ich aber aus einem 16bit register 3 8bit register erstellen. Hier ist der code von 3x8Bit in 1x16Bit: anfang: MOV XL, Einer LDI XH, 0 m1: DEC Zehner BRMI m2 SUBI XL, -10 RJMP m1 m2: DEC Hunderter BRMI m3 SUBI XL, low(-100) SBCI XH, high(-100) RJMP m2 m3: ..... kann mir da jemand helfen bzw. sagen wie der Code aussehen muß??? Vielen dank schon einmal Gruß Julien
noch ein kleiner anhang, eigentlich ist mir schon klar was zu machen ist, allerdings habe ich das problem mit dem übertrag zwischen XH und XL man kann zwar von XL 100 abziehen aber wie dann weiter vorgehen??? Julien
^Vielleicht war die Beschreibung nicht so gelungen. Ich versuche es nochmal: Im prinzip geht es darum aus einer 9bit zahl die sich in 2 8Bit-Registern befindet 3 Digits (BCD) zu erstellen. Mit der Subtraktionsmethode müsste das irgendwie machbar sein, leider weiß ich nicht wie ichs umsetzten muss. Vielleicht gibt es noch jemand der mir hierbei helfen kann. Julien
Dank an mmerten, Es funktioniert jetzt teilweise. die hunderter zu subtrahieren geht, aber irgendwie kommt ein total falsches ergebnis bei den 10ern und einern raus da immer einmal zuviel 100 subtrahiert wird wie kann man das problem beheben. hier der teilweise funktionierende Code: anfang: clr temp clr tempL clr tempH m4: SUBI XL, low(100) SBCI XH, high(100) BRMI m5 inc tempH rjmp m4 ; ab hier entsteht das Problem m5: SUBI XL, 10 BRMI m6 inc tempL rjmp m5 m6: mov XL, temp Julien
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.