2009-04-06 2 views

답변

2

GNU 어셈블러는 기호 레지스터 이름을 직접 지원하지 않습니다. gcc를 사용하여 어셈블러를 구동하는 일반적인 방법은 어셈블러 소스 파일에 ".S"확장자를 사용하는 것입니다 (gcc가 어셈블러 전에 C 전처리기를 통해 소스를 전달하도록 알려주고) # 정의를 포함하는 헤더 파일을 포함합니다 같은 :

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

그런 다음 어셈블러 소스는 심볼 레지스터 이름을 지원합니까 나중에

add v0, zero, zero 
+0

사소한 말 :'v0'과'v1'은'$ 2'와'$ 3' ('$ 1'은'at'입니다)입니다! –

+0

당신 말이 맞아요. 그게 내 기억을 신뢰하고 올바른 것입니다. –

+0

헤더가 이미 시스템에 포함되어있을 수 있습니다. '/ usr/include/sys/reg.h' 또는'/ usr/include/mips-linux-gnu/sys/regdef.h'와 같은 파일을 찾으십시오. –

관련 문제