2
디버깅 목적으로 내 assert 함수에 $ra
(반송 주소) 레지스터를 인쇄하고 싶습니다. 나는 MIPS CPU에서 일하고있다. 나는 다음 코드를 시도했지만 컴파일러는 그것을 좋아하지 않는다 : 나는 인라인/확장 어셈블리에 관한 GCC 문서를 발견했습니다asm 명령을 사용하여 MIPS CPU 레지스터 읽기
unsigned int RA;
unsigned int* pRA = &RA;
asm volatile("sw $ra, %0" : "=r" (pRA));
또는
static volatile unsigned int RA;
asm ("mov $ra, %0" : "=m"(RA));
를하지만 나에게 불분명 보인다 . 다음의
[공식 gcc 문서 인라인 asm] (https://gcc.gnu.org/onlinedocs/gcc/Using-Assembly-Language-with-C.html)에 링크 할 가치가 있습니다. 이 메뉴에는 gcc의 확장 된 asm 지원에 대한 세부 사항은 물론 제약 조건에 대한 링크가 포함되어 있습니다. 나는 OP가 그가 "GCC 문서를 찾았습니다."라고 말했지만 정확히 무엇을 발견했는지, 어디에서 발견했는지 정확히 모릅니다. –