2011-09-21 3 views
0

변수를 초기화하는 다음 두 가지 방법의 차이점은 무엇입니까?MIPS에서 변수 초기화

addi $a0, $0, 7 

li $a0, 7 
+0

지침 부작용을 제외하고, addi 버전은 li에 비해 2 개의 즉각적인 값을 저장하는 데 더 많은 RAM이 필요합니다. –

+0

RAM이 아닌 레지스터 및 $ 0은 고정되어 있습니다. – brc

+1

@Marc B : 말도 안되며 명령어도 RAM을 포함하지 않으며 모든 MISP 명령어는 32 비트로 고정되어 있습니다 (여기 RISC 항목). ADDI는 LI가 의사 명령어이고 2 개의 실제 명령어로 확장되는 동안 하나의 명령어이기 때문에 선호됩니다. – m0skit0

답변

1

실제로, li은 일반적으로 하드웨어로 addi로 구현됩니다.

+0

어떻게 li로 초기화하려고하면 변수가 초기화되지 않았다고 불평합니까? 그리고 변수 앞에 li 값이 주어지면 어셈블러는 불평하지 않지만 원래 값에 숫자를 더하는 것으로 해석합니다. –

+0

어떤 에뮬레이터/어셈블러를 사용하고 있습니까? – brc

0

ADDI는 하나의 명령어이기 때문에 LI가 의사 명령어이고 2 개의 실제 명령어로 확장되므로 ADDI가 선호됩니다.