2011-11-28 28 views
7

MIPS'de la yönergesi lui ve ori'a dönüştürülür. Ancak, MARS Simulator bunu hiç yapmak gibi görünmüyor. Aşağıdaki makine kodu dökümü Ne zaman:MIPS "la" sözdizimi

.text 
    la $a0, array 
    la $a1, array_size 
    lw $a1, 0($a1) 

.data 
    array: .word 0:10 
    array_size: .word 10 
    message: .asciiz "The sum of numbers in array is: " 

alıyorum: Açıkçası

00100000000001000010000000000000 
00100000000001010010000000101000 
10001100101001010000000000000000 

hangisi. Bir komut olarak la dökülüyor. MARS ne yapar? la'u lui ve ori olarak nasıl yorumlayabilirim?

sizin montajcı addi $<dest>, $0, <value> olarak bu la s derleme olduğunu

cevap

8

Burada oluyor, teşekkür ederiz. İki yönerge dizisi, yalnızca 16 bitlik bir anında temsil edilemeyen değerler için gereklidir; Burada kullandığınız değerler, 0x2000 ve 0x2028 gibi görünüyor, bu yüzden tek bir komutta yer alıyorlar.

Nasıl bu lui ve ori olarak la yorumlamak yapabilir?

Daha büyük sabitler yükleyin. :) Ekibiniz, gereksiz olsa bile tam dizinin kullanımını zorlama seçeneğine de sahip olabilir.