2009-04-06 6 views

Antwort

2

Der GNU-Assembler unterstützt symbolische Registernamen nicht direkt. Ein allgemeiner Ansatz, wenn gcc verwendet wird, um den Assembler zu betreiben, ist die Verwendung der Erweiterung ".S" für die Assembler-Quelldatei (die gcc die Quelle durch den C-Präprozessor vor dem Assembler übergibt) und # eine Header-Datei mit Definitionen enthält wie:

#define zero $0 
#define v0 $2 
#define v1 $3 

Dann kann der Assembler Aussagen haben wie

add v0, zero, zero 
+0

Kleinigkeit: 'v0' und' v1' sind '$ 2' und' $ 3' ('$ 1' ist' at')! –

+0

Sie haben Recht - das ist, was ich bekomme, um mein Gedächtnis zu vertrauen, wird korrigieren. –

+0

Beachten Sie, dass die Kopfzeile möglicherweise bereits Teil Ihres Systems ist. Suchen Sie nach einer Datei wie '/ usr/include/sys/reg.h' oder'/usr/include/mips-linux-gnu/sys/regdef.h'. –