ich habe ein kleines Prog geschrieben, und der soll 2 Reg vergleichen, wenn reg 1>reg2 dann zeigt das richtiges Ergebnis aber andersrum(reg2>reg1) tut er nicht: zum Beispiel:
Code:reg1 = 0x0501 reg2 = 0xA2BB main: mov temp1, V1 ; V1=low (reg1) in temp1 speichern mov temp2,V2 ; V2=high(reg1) in temp2 speichern sub temp1,V3 ; V3=low(reg2) ;(V1-V3) in temp1 speichern sbc temp2,V4 ; V4=high(reg2) ; (V2-V4) in temp2 speichern cp temp1, low(65531) cp tem2, high(65531) brsh led2_aus cp temp1, low(5) cp tem2, high(5) brsl led2_aus Cp V1,V3 Breq led1_on Brlo led2_on Brsh led2_aus Led1_on: Sbi portb,0 Rjmp main Led2_on: Sbi portb, 2 Rjmp main Led2_aus: Cbi portb2 Rjmp main
Das Ergebnis ist: temp1 = 0x63 ( das richtige Ergeb= 0xFFFFFFFFFFFFFF63)
: temp2 = 0x46 (Erg= FFFFFFFFFFFFFF46).
Wie macht man das um den richtigen Wert zu zeigen, gibt es irgend einen Befehl für den absolut Wert.
Oder wie macht man das?
danke







Zitieren
Lesezeichen