에서 변수를 저장 나는 기초의 가치를 계산의 내부에 저장합니까? 로드 및 저장에 대한 유일한 지침은 lw
및 sw
이며 프로토 타입은 레지스터 소스 -> 램 대상 또는 램 소스 -> 레지스터 대상에서만 사용됩니다.Mips에서 : MIPS에서</p> <pre><code>int base; int count; count = base; </code></pre> <p>, 방법은 것 : 나는이 같은 라인을 가지고 내 C 코드에서 MIPS 어셈블리 코드</p> <p>에 C 프로그램을 번역하려고 다른 변수
도움을 주시면 감사하겠습니다.
편집 나는이가
move base acc
처럼 단일 명령어에 뭔가를 수행하지만 분명히 그건 불가능하다 될 수 있다고 기대했다 (적어도 나는 그와 유사한 명령어의 예를 찾을 수 없습니다), 나는 이것을 선택했다 :
lw $t0, base //load base into $t0
sw $t0, count //store the value of $t0 in count
누군가가 알고있는 경우에 이것을하는 one-line 지시가있는 경우에.
'base'와 'counter'의 값은 레지스터에 없으므로 RAM에 저장됩니다. 그래서 이렇게하면 오류 메시지가 나타납니다. –
아, 레지스터가 아닌 경우에는 다릅니다. 업데이트 중. – duskwuff
lw/sw와 동등한 명령 행이 하나더라도 명령을 최적화 할 수 있다는 것이 좋을 것입니다. 좋은 1 시간 + 명령을 검색하는 데 보냈습니다. –