MIPS 아키텍처를위한 매우 간단한 디 컴파일러에서 작업 중이며 코드 분석을위한 많은 규칙을 정의해야합니다. 예를 들어 "이 opcode가 인 경우 루프에게 나무를 구문 분석에 정의를 작성 "- 루이 및 다음 연산 코드는 다음 VAR를 반환 addiu = 값"또는 "이 연산 코드가 BNE이며 현재 전에 해결하기 위해 참조 않다면입니다. 문제 - 그러한 규칙
밉스 플랫폼 용 libSDL-1.2.14를 컴파일하려고했습니다. 그러나 성공하지 못했습니다. 수출 PATH =/옵션/MIPS-4.3/빈 : 이 내가 밖으로 시도 단계에 있었다 가 libSDL-1.2.14 소스 폴더 안에 갔다 $의 PATH. 가 준 "./configure를 --prefix =/USR// SDL_Lib --host = MIPS-리눅스 GNU
일부 MIPS 어셈블리 코드에서 작업 중이며 런타임 중에 메모리를 할당하는 방법을 잘 모르겠습니다. 지금까지 스택이나 데이터 세그먼트를 사용하여 필요한 것을 저장할 수 있었지만, 뭔가 더 영구적으로 원한다면 어떻게해야합니까? 구체적으로 할당 할 때 선택할 메모리 주소를 어떻게 알 수 있습니까? 스택에 겹쳐 쓰지 않는다는 것을 어떻게 알 수 있습니까 (예 :
LW 에 주소 MIPS 메모리에 설명이 필요하지만, 나는 다음과 같은 지침에 조금 혼란 스러워요 : 나의 이해에서 la $k1, off_9FC005A8
lw $k1, (off_9FC005D4 - 0x9FC005A8)($k1)
jr $k1
이 다음 의사에 달합니다 C 코드 : off_9FC005A8: .word 0x9FC01508
off_9FC
기본 RISC 아키텍처에 대해 배우고 싶습니다. 일부 R & D 후에 MIPS 아키텍처로 가고 싶습니다. 그러나 MIPS 프로세서가있는 임베디드 개발 보드에 관한 좋은 정보는 얻지 못했습니다. 좋은 보드를 제안 할 수 있다면 큰 도움이 될 것입니다. 감사 램지 당신이 정말로 MIPS에 설정하는 경우
이 문장이 유효한 문장입니까? lw $t0, 21($s0)
$s0는 소수 2022이 포함되어 있습니다. 제가 생각하기에, 오프셋 + 레지스터로 지정된 주소는 항상 multiple of 4이어야하기 때문에 이것은 잘못된 것입니다. 이게 맞습니까? 제공된 대답을 바탕으로이 질문에 대한 확장, 주소가 $s0 일 때 또는 주소가 21+$s0 인 경우 예외가 발
빈 메모리 요소를 레지스터에로드하는 명령어를 생성하는 것이 컴파일러 (예 : gcc)에서 일반적입니까? 마찬가지로 ... lw, 0 (sp) 여기서 memory [sp + 0] = 0. 기본적으로 0은 $ at ($ R1.)에 저장됩니다. 실행 파일의 16 진 덤프 (실행 파일 C++ 파일을 컴파일 한 결과입니다.) 수동으로 확인 중이며 objdump 상태
MIPS 어셈블리의 Project Euler 질문에 내 대답을 다시 쓰고 있는데 올바른 대답을 출력 할 수 없습니다. 지난 1 시간 동안 코드를 살펴 봤는데, 내 접근법에 무엇이 잘못되었는지를 알아낼 수 없습니다. (답은 멋진 200,00+ 이상일 때 33165를 얻음에 따라) 문제를 파악합니다. 그 문법에 어색해 져야합니다. 예약 된 레지스터를 사용하는