Hallo,
ich bin gerade dabei ein Stück Assembler-Code für einen AT90S8515 zu debuggen. Dabei gibt es folgenden Programmteil, von dem ich nicht sicher weiss, ob er auch das tut, was ich will:
cp ACT_PAN_POS_L,TEMP_L cpc ACT_PAN_POS_H,TEMP_H breq PC_EQU cp ACT_PAN_POS_L,TEMP_L cpc ACT_PAN_POS_H,TEMP_H brlo PC_INC cp ACT_PAN_POS_L,TEMP_L cpc ACT_PAN_POS_H,TEMP_H brsh PC_DEC
In ACT_PAN_POS und TEMP liegt jeweils ein 16 Bit word. Diese beiden möchte ich nun vergleichen und abhänig vom Ergebniss (gleich, kleiner, grösser) an 3 verschiedene Stellen springen. Nun bin ich mir nicht sicher, ob die Variante mit erst Compare (cp) Low-byte und dann Compare with Carry (cpc) High-byte auch mit allen drei verwendeten Sprungbefehlen (breq, brlo und brsh) richtig funktioniert. Vielleicht weiss da einer Bescheid und kann mir das kurz beantworten.
Michael