Hallo,
ich wollte gerade ausprobieren ob der COMF Befehl eines PIC 16F887 die
Bits in einem Byte nur umdreht, oder ob er das Zweierkomplement bildet,
also mit hinzuaddieren (oder Subtrahieren?) einer 1.
Folgender Code:
1 | movlw b'01101001'
|
2 | movwf tmp1
|
3 | comf tmp1,w
|
ergibt in W: b'10010101' also Zweierkomplement.
dagegen ergibt der Code:
1 | movlw b'01101001'
|
2 | movwf tmp1
|
3 | comf tmp1,f
|
in tmp1: b'10010110' also alle Bits vertauscht ohne eine 1 zu
subtrahieren.
Kann mir einer sagen warum das so ist? Oder spinnt hier der Simulator?
In der Doku steht nichts von dieser Eigenheit. Danach müsste bei beiden
Bsp. das selbe herauskommen. Sehr eigenartig das ist...
Sven