Hallo MC-Programmierer, wie kann ich das Carry-Flag mit einer Speicherstelle (z.B. Bitadresse 08h) Exclisiv-Oder verknüpfen ? Bei der Byteverknüpfung gibt es den direkten Assemblerbefehl XRL, der existiert aber nicht bei der Bitverknüpfung. M.f.G. Klaus
Da gibts, so weit ich weiß, leider nichts direktes. Ich würde es so machen: . . . clr a push psw mov c,08h mov acc.7,c pop psw xrl psw,a . . . (das Carry-Flag ist im PSW Bit7) Habe aber schon lange nichts mehr mit dem MCS-51 gemacht - deshalb ohne Gewähr.
@Peter: Und was machst Du, wenn das Carry 0 ist? Die gesuchte Funktion heißt "XRL C,bit"
@thkaiser, und wo ist das Problem ? Stell einfach mal die Wahrheitstabelle auf und lasse es durch einen Simulator laufen. Peter
@Peter: Asche auf mein Haupt.... war auf dem total falschen Dampfer. Deine Lösung hatte ich zunächst auch im Kopf, hatte sie aber verworfen, weil sie mir als "zu einfach" erschien. Die Wahrheitstabelle brachte meinen Irrtum ans Licht. (Frei nach dem Motto: Warum einfach, wenns auch kompliziert geht?). Manchmal wirds einem doch klarer, wenn mans mal schriftlich vor sich hat... Auf jeden Fall: Schöne Feiertage.
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.