2011-02-24 4 views
1

저는 MIPS를 처음 접해서 한 배열에서 다른 배열로 요소를 복사하려고 시도하고 있습니다. 나는 이것에 대해 어떻게 가야하는지 확신 할 수 없다. 배열이 어떤 크기인지는 중요하지 않지만, 크기를 10으로 지정하면됩니다. MIPS 루프에는 약하며 처리 방법에 대해 혼란스러워합니다.MIPS 어셈블리의 한 배열에서 다른 배열로 요소 복사

add $s0, $zero, $zero 
add $t0, $zero, $zero 
lui $s0, 0x1001 
ori $s0,$s0,0 
lui $t0, 0x1001 
ori $t0, $t0, 0x0040 

$ s0은 첫 번째 배열의 첫 번째 요소이고 $ t0은 두 번째 요소의 첫 번째 요소입니다.

답변

0

나는 당신이 제공 한 코드가 정확하지만 그것이 가정, 당신은 같은 것을 할 것이라고 생각하지 않는다 :

xor $t1, $t1, $t1   ; Zero out $t1 
lw $t2, array_length  ; Load the length of the array in $t2 
loop_start: 

    lb $t3, $s0    ; Load the next byte from $s0 into $t3 
    sb $t3, $t0    ; Store the by in $t3 into $t0 

    addi $s0, $s0, 1   ; Move to the next byte in the source 
    addi $t0, $t0, 1   ; Move to the next byte in the destination 
    addi $t1, $t1, 1   ; increment the counter 

blt $t1, $t2, loop_start ; Jump to the start of the loop of there are more bytes 

면책 조항 : 나는 대학 그래서이 코드는하지 않을 수 있기 때문에 MIPS에서 프로그래밍하지 않은 100 % 정확할 수는 있지만, 시작하기 좋은 곳이 될 것입니다.

관련 문제