Hallo zusammen,

ich dachte nicht, dass ich jemals ein Problem haben werde zwei zahlen zu vergleichen. Allerdings wenn man zu signed integers schaut, dann habe ich festgestellt, das der vergleich zweier Zahlen keineswegs tivial ist.

Ich habe für zwei signed 1-Byte Werte die folgende Sequenz:
Code:
	movf		b,w	; if ( a < b )
	xorwf		a,w
	andlw		0x80
	btfsc		STATUS,Z	; Bit 7 set, if yes then skip next command.
	goto		$+3
	rlf		b,w
	goto		$+3
	movf		b,w
	subwf		a,w
	btfss		STATUS,C
	goto		do_else	; Condition false
do_true
	movf		a,w	; Condition true.
	movwf		b
do_else				; Condition false
	...
Hat jemand von euch ein eine bessere (=kürzere) Variante?

Grüße
Mario