그래서 최근에 C 코드와 MIPS 코드에서 이진수 1을 계산하는 코드를 만들었습니다. 나는 C에서 나머지 값을 사용하고 count_one 변수를 증가시킨다. MIPS에서는 같은 프로그램을 만들었지 만 1의 모든 값을 계산할 때까지 숫자의 바이트를 이동했습니다. Howver, 포인터를 사용하는 법을 배우려하지만이 개념을 파악할 수는 없습니다. MIPS 코드를 조작하고 스택 포인터를 사용하는 방법은 무엇입니까?
.data
prompt: .asciiz "Enter a integer: "
.text
li $v0,4
la $a0, prompt
syscall
li $v0,5
syscall
move $s0,$v0
j count
count:
beq $s0,0, exit
andi $t0,$s0,1
add $t1,$t1,$t0
srl $s0,$s0,1
j count
exit:
move $a0,$t1
la $v0,1
syscall
li $v0,10
syscall
나는이 완벽한 MIPS 코드를 얻을하지만 포인터가 완전히 MIPS에서 작동하는 방법에 및 나는 아직도 이해가 안 읽은 후 확실치 다음과 같이 내 MIPS 코드입니다. 포인터를 구현하는 방법에 대한 조언?
감사합니다. 내 주요 혼란은 메모리 크기를 선언하고 8,4,0 ($ sp) 행을 기반으로 변수를 구현하는 방법을 알아내는 것입니다. – CodeFreak
도와 드리겠습니다. 행운을 빕니다. – oklas
전체 메모리 부분을 할당하는 전체 설명 할 수 있습니까? – CodeFreak