2012-02-02 1 views
0

범위 초과 오류 해결 : MIPS에MIPS : 나는이 C 코드를 설정하려고

if (op == '+') { 
     acc += val; 
    } 

을, 나는 범위 에러 밖으로 주소 원인을 알아낼 수 없습니다

#reads user input for the op 
li $v0, 12  # system call number for operator 
syscall   # reads the integer 
sw $v0, op  # stores the user input in op 


lw $t0, op  # stores op in $t0 
lbu $t1, '+'  # stores '+' in $t1 

# "if" statement 
bne $t0, $t1, Else # branches if op is not equal to + 
lw $t2, acc  # stores acc in $t2 
lw $t3, val  # stores val in $t3 

add $t2, $t2, $t3 # adds $t2 and $t3 and stores the sum in $t2 

도움을 주시면 감사하겠습니다.

답변

3
lbu $t1, '+' 

'+'은 유효한 주소가 아닙니다. 아마 의미가

li $t1, '+' 

어쨌든 괜찮은 C 컴파일러는 C를 MIPS로 변환한다는 것을 기억하십시오.

+0

감사합니다. 나는 그것이 그렇게 작은 것이되어야한다는 것을 알고있었습니다. 이것은 mips_gcc 컴파일러를 사용하여 목적을 달성 할 수 있도록 작업중인 프로젝트를위한 것입니다. –