Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zahlenvergleich in PIC Assembler

293 views
Skip to first unread message

Markus Knauß

unread,
May 31, 2001, 7:01:24 AM5/31/01
to
Hallo,

ich habe mir jetzt seit einiger Zeit den Kopf darüber zerbrochen, wie
man in PIC Assembler
2 16-Bit Werte vergleichen kann (A>B? ja/nein). A und B sind 16 Bit
Ganzzahlen größer Null.

Ich stehe dabei gerade auf dem Schlauch.

Hoffentlich kann mir jemand mit Beispielcode helfen.

mfg Markus Knauß

Eckhard Neber

unread,
May 31, 2001, 7:44:51 AM5/31/01
to
Hallo,

Beispielcode ist mir gerade zu mühsam. Es müßte genügen, zwei
8-Bit-Subtraktionen (davon die zweite mit Carry) durchzuführen. Das
Carry zeigt Dir danach an, welche Zahl größer ist.

Eckhard

Georg Seegerer

unread,
May 31, 2001, 11:04:17 AM5/31/01
to
>
> ich habe mir jetzt seit einiger Zeit den Kopf darüber zerbrochen, wie
> man in PIC Assembler
> 2 16-Bit Werte vergleichen kann (A>B? ja/nein). A und B sind 16 Bit
> Ganzzahlen größer Null.

ist das so schwierig?
Ich habe mal einen paar Zeilen angefügt, die die zwei Zahlen Xrest und
Yrest
(jeweils ...-l das niederwertige und ...-h das höherwertige Byte der
16-Bit-Zahl)
vergleicht und je nach dem, ob Xrest>Yrest ist, zu einer Sprungmarke
(ms_3 oder
ms_4 springt, wobei zu beachten ist, das sich ms_3 direkt nach dem Code
befindet)

Ich hoffe, damit kannst du was anfangen.

Bis die Tage
Georg
-----------------------------------------------------


movf Yrest_h,w ; Xrest>Yrest ?
subwf Xrest_h,w ; (Achtung Xrest^=Srest !!!)
btfss STATUS,C
goto ms_4 ; Yrest_h ist größer als Xrest_h -> ms_4
btfss STATUS,Z
goto ms_3 ; Yrest_h ist kleiner als Xrest_h -> ms_3
; High Bytes gleich-> low Bytes vergleichen
movf Xrest_l,w
subwf Yrest_l,w
btfsc STATUS,C
goto ms_4 ; Yrest ist größer gleich als Xrest -> ms_4
;-------------------------------------------------------------M3
ms_3 ; hier: Xrest>Yrest -> Master und Slave vertauschen
... weiteres Programm


Markus Knauß

unread,
Jun 5, 2001, 2:33:09 AM6/5/01
to
Hallo Eckhard, hallo Georg,

vielen Dank für Eure Mühe!

Ich werde das gleich mal ausprobieren...

0 new messages