Forum: Mikrocontroller und Digitale Elektronik Negative 16Bit nach positiv wandeln, AVR-ASM


von Jürgen (Gast)


Lesenswert?

Hallo,

stehe gerade etwas auf dem Schlauch.

In R16/17 steht meine negative 16 Bit Zahl.

Das 2er Komplement erhält man ja durch invertieren und 1 addieren also 
bei einem Byte durch den Befehl neg.

Stimmt nun

neg r16
neg r17

bei einer 16 Bit Zahl ??

oder muss ich ...

com r16
com r17

und dann 1 addieren ?

Grüsse

von Hannes L. (hannes)


Lesenswert?

Jürgen schrieb:
> Stimmt nun
>
> neg r16
> neg r17

Nein.

>
> bei einer 16 Bit Zahl ??
>
> oder muss ich ...
>
> com r16
> com r17
>
> und dann 1 addieren ?

Ja, aber den Übertrag bei der Addition nicht vergessen.

...

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

z.B.
1
; r17:r16 = -(r17:r16)
2
com r17
3
neg r16
4
sbci r17,-1

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
Noch kein Account? Hier anmelden.