Jump to content
PCaseiro

Código máquina Assembly Mips

Recommended Posts

PCaseiro

Boas malta, alguém me consegue explicar como resolver este exercício?

Considere a codificação da instrução "beq $8, $9, salto" no pedaço de código abaixo indicado. sabendo que o "label" salto representa o endereço 0x2000 indique a codificação hexadecimal da instrução?

salto:

addu $8, $9, $0

beq $8, $9, salto

(a) 0x1109FFFE

(b) 0x11090002

© 0x04892000

(d) 0x11082000

Edited by Rui Carlos

Share this post


Link to post
Share on other sites
Rui Carlos

Olhando para a forma como a instrução é codificada descrita aqui:

beq $s, $t, offset

0001 00ss ssst tttt iiii iiii iiii iiii

e tendo em conta que o iiii iiii iiii iiii corresponde ao offset a aplicar ao program counter, parece-me que a única hipótese possível é a opção (a).

Isto porque salto implica andar com o program counter "para trás", logo penso que o offset deverá ser negativo (o que me parece que só acontece na opção (a)).

Share this post


Link to post
Share on other sites
PCaseiro

Sim é a (a). Acho que a forma mais correta de fazer é mesmo dividir tal como está nessa codificação em 6 bits para o offset e os restantes divido de 4 em 4. depois de ter tudo dividido faço uma nova divisao de 4 em 4 bits e penso que ai fica o resultado, que é a opção (a)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.