Gast
#257144
Hi, kann mir jemand mit so etwas weiterhelfen? Habe folgende Befehle und will wissen was in Carry, Parity (System arbeitet mit ungerader Parität) und Overflow Flag steht nach dem letzten Befehl (in Adresse 76h): a) MOV R1, #06Fh MOV A, #0B6h CLR C ADD A, R1 MOV 76h, A b) MOV R1, #06Fh MOV A, #0B6h CLR C SUBB A, R1 MOV 76h, A c) MOV R1, #068h MOV A, #04Bh CLR C SUBB A, R1 MOV 76h, A d) in Adresse 76h steht nach der Rechnung 0E3h, was stand vorher drin? MOV R1, 076h MOV A, #04Bh CLR C SUBB A, R1 MOV 76h, A Wäre super wenn mir da jemand weiterhelfen könnte. Habe es mal schon gerechnet komme aber immer auf was anderes... und weiß nicht so genau wie man die Flags bestimmt. Bisher habe ich bei einer Subtraktion immer das Zweier-Kompliment von Wert in R1 gebildet und dann ganz normal addiert. Parity war für mich: gerade Anzahl der 1 im Ergebnis (ohne Carry Flag) -> Parität = 1. Carry, wenn man vom vordersten Bit einen Übertrag hat -> Carry = 1. Overflow, wenn man einen Übertrag vom 2 höchsten Bit aufs erste hat oder vom höchsten aufs Carry Bit -> OV = 1 Gruß, Boris