Hallo, kann mir jeman derklären was ich unter signed unt unsigned zu verstehen habe. So wie ichs mitbekommen habe hat das damit zu tun ob ein Ergebniss negativ ist. Entweder wird das doch durch das MSB kenntlich gemacht oder aber durch das N-Flag oder? Mein konkreter Einsatzzweck ist folgendes: Ein Motor wird mit PWM betrieben um zu verhindern das die PWM so niedrig ist das der Motor nicht anläuft wollte ich einen Mindestwert vorgeben. Der trotz einer neidrigere Potistellung nicht unterboten werden soll. Ich lese das Poti(8Bit) also ein und erhalte z.b. 128 nun möchte ich das vergleichen obs kleiner als z.b. 140 ist wenn ja soll zu einer Routine2 gesprungen werden die den PWM-Wert auf 140 setzt und übergibt. cpi temp(ADC-Wert), 140 brlt/brlo Routine2 ;Übergebe Mindestwert 140 an PWM-Einheit rjmp Routine1 ;Übergebe höheren Wert an PWM-Einheit was muss ich da jetzt benutzen brlt oder brlo und vorallem warum
'signed' heißt vorzeichenbehaftet, 'unsigned' nicht vorzeichenbehaftet
und wo haftet das vorzeichen, woher kommt es, ist das Vorzeichen im Carry im N-FLag....muss ich drauf achten oder nicht? Wäre nett wenn mir jemand etwas Licht in die Sache bringt.
Das Vorzeichen steht im MSB. Schau mal in Wikipedia unter 'Zweierkomplement'
Das N Flag deutet an, dass das Ergebnis der Rechnung negativ ist. Ob die Operanden es waren, ist dort nicht abgelegt.
ja dort wird es so erklärt das im MSB steht obs negativ ist oder nicht. Der Bereich geht dann also statt von 0 bis 255, von -127 bis +127. Da ich in meinem Beispiel aber nichts abziehe oder addiere dürfte ich doch kein negatives Vorzeichen erhalten und müsste also BRLO benutzen richtig?
Doch, da wird etwas abgezogen: Schau mal in die Befehlsbeschreibung! cpi R0,K führt die Operation R = R0 - K aus. Weiter unten steht dann N "set if MSB of the result [R] is set"
> von -127 bis +127
Detail: Er geht von -128 bis +127.
Wenn Du nur mit vorzeichenlosen Zahlen arbeiten willst, dann mit BRLO.
BRLO prüft nur, ob das Carry-Flag gesetzt ist. BRLT prüft das
Signed-Flag, was nur beim Arbeiten mit negativen Zahlen funktioniert,
also nur dann, wenn das MSB tatsächlich als Vorzeichen-Bit
interpretiert wird.
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.