unbekannter Assembler Befehl

Gast #1020170
Lesenswert?

Hallo

in einem Power PC Projekt im Startup Code befindet sich diese Zeile:
1
  cmpw     r1, r2

Mein Compiler meint dazu:
error: not part of selected instruction set architecture


Kann jemand sagen welche Logik hinter der Zeile steckt? Evtl kann ich es 
abändern und es reicht ein
1
  cmp     r1, r2
was der Compiler akzeptiert.

Nachfolgende Zeile ist
1
  e_blt    init_table
Gast #1020587
Lesenswert?

cmpw heist Compare Word , blöd nur, dass r1 und r2 jeweils Bytes sind. 
Wenn der compiler täte was Du willst sehe es etwa so aus :

Vergleiche Inhalt von R2R1 mit R3R2 (dann wären es Words), erkennst Du 
die Unsinnigkeit deines Befehls !!!

Weiterhin solltest Du prüfen, ob Wordbefehle nicht nur auf die letzten 
Register anwendbar sind.

Problem liegt zwischen den Ohren und nicht im compiler.
#1020609
Lesenswert?

gast wrote:

> blöd nur, dass r1 und r2 jeweils Bytes sind.

Erst lesen, dann spotten. Wenn das mit dem PowerPC oben kein Witz war, 
dann ist hier kein AVR am Werk und R1 und R2 sind mindestens 32 Bit 
breit.

Könnte allerdings sein, dass die explizite Grössenangabe "cmpd" (64bit) 
und "cmpw" (32bit) nur zulässig ist, wenn ein 64bit Instruction Set 
ausgewählt wurde. Und sonst nur "cmp" geht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren