Vous êtes sur la page 1sur 10

Assembly do MIPS

Instrues de acesso a memria

A Memria Principal
Clulas de 8 bits (1 byte) A Word da CPU determina o nmero de clulas acessadas No MIPS cada acesso busca ou escreve em 4 clulas da memria Dessa forma, qualquer dado ou instruo, sempre sero representados por 32 bits
0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1

A cadeia de bits: 01010000100010010010001010010101 pode estar representando o valor de uma varivel, um nmero, um caracter, uma instruo, enfim, qualquer informao

LOAD WORD (lw): pega uma word da memria e carrega em um registrador STORE WORD (sw): pega uma word de um registrador e carrega na memria

Armazenando Vetores
Vetores so estruturas de dados geralmente grandes, ou seja, ocuparo muitas clulas de memria O compilador no vincula um registrador para cada posio do vetor (IMPOSSVEL!) Como resolver? endereo base + offset

Tomemos como exemplo um vetor X[ ] de 200 posies O compilador usar o registrador $s4 para marcar a base desse vetor $s4 portanto guardar o endereo da memria onde este vetor inicia, por exemplo o endereo 23125 (0000000000000000010110 1001010101) Como acessar X[7]? Somando 28 base indicada por $s4
28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Posio nmero 7 ou 8 posio (23153)

Todas essas posies esto reservadas para vetor X[ ]

$s4 = 23125

Exemplos

Registrador que receber o dado da memria

Registrador que guarda o endereo base do vetor

offset

Exemplos

Registrador que contm o dado a ser escrito na memria

Registrador que guarda o endereo base do vetor

offset

Portanto, a posio que est 500 bytes acima do endereo apontado por $s4 receber o contedo de $t7

Mais exemplos
Considere o seguinte trecho em C:
x[2] = k; x[11]= w; z = x[15];
Sabe-se que: $s4 o endereo base de x[ ], $s3 esta ligado a k, $s5 est ligado a w e $s6 est ligado a z

Em Assembly do MIPS teramos:


sw $s3,8($s4) sw $s5,44($s4) sw $s6,60($s4)

UNIDADE DE CONTROLE

...

$s4 $s3 $s2 $s1

$t2 $t1

/ +

Assembly do MIPS
Instrues de desvio condicional

Vous aimerez peut-être aussi