부호 확장이 MIPS addi
명령의 즉시 값으로 발생한다는 것을 알게되었습니다. (http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/addi.html)MIPS의 addi 명령 정보
그러나 서명 할 때 언제 마이너스 값으로 연장할지는 확실하지 않습니다.
나는main:
addi $t0, $0, 0x8000
jr $31
이 코드를 시도하고 qtSpim 다음과 같은 오류를했다.
파일 ADDI의 $ t0의 라인 3 범위 (-32768 .. 32767), $ 0 아웃치값 (32768)은 0x8000을
마이너스 값을 부호 확장하기 위해, MSB는이어야 '1'이지만 범위를 벗어나 즉시 값이됩니다.
그래서, 내가 추측하는 바는 addi
은 '실제로'부호가 확장 된 것입니다. 맞습니까?
그렇지 않다면 내가 잘못 이끌었던 곳을 알려주실 수 있습니까? 또한 기호 확장의 예는 많은 도움이됩니다.
나는 어셈블러가 0x8000을 양수 상수로 취급한다고 생각한다. -0x8000 또는 -32768을 사용해야합니다. –
고마워요! 나는 -0x8000을 시도했으나 정상적으로 작동했다. – user3415167