• Nenhum resultado encontrado

Introdu¸c˜ao aos Computadores - CC1002 (DCC/FCUP) Folha 7: Representa¸c˜ao de Instru¸c˜oes MIPS R2000

N/A
N/A
Protected

Academic year: 2023

Share "Introdu¸c˜ao aos Computadores - CC1002 (DCC/FCUP) Folha 7: Representa¸c˜ao de Instru¸c˜oes MIPS R2000"

Copied!
5
0
0

Texto

(1)

Introdu¸c˜ ao aos Computadores - CC1002 (DCC/FCUP)

Folha 7: Representa¸ c˜ ao de Instru¸ c˜ oes MIPS R2000

Figura 1: Formato das instru¸c˜oes do MIPS R2000.

Figura 2: Registos dispon´ıveis.

(2)

Figura 3: Subconjunto do assembly do MIPS R2000 - semˆantica.

Figura 4: Subconjunto do assembly do MIPS R2000 - formato bin´ario.

(3)

1. Quais as instru¸c˜oes R2000 representadas pelas seguintes sequˆencias de 32 bits?

(a) 00000010010100111000100000100000 (b) 10001110010100010000000001100100 (c) 00010010001100100000000000011001 (d) 00000011111000000000000000001000 (e) 00001100000000000000100111000100

2. Quais as instru¸c˜oes R2000 representadas pelas seguintes sequˆencias descritas em hexa- decimal?

(a) 0x02538820 (b) 0x12320019 (c) 0x03E00008

3. Utilize as tabelas dadas para traduzir para sequˆencias de instru¸c˜oes R2000 os seguintes fragmentos de c´odigo:

(a) 8616 add $t0, $s1, $s2 8620 add $t1, $s3, $s4 8624 sub $s0, $t0, $t1 (b) 8616 lw $t0, 32($s3)

8620 add $t0, $s2, $t0 8624 sw $t0, 48($s3) (c) 8616 bne $s3, $s4, else

8620 add $s0, $s1, $s2

8624 j exit

8628 else: sub $s0, $s1, $s2 8632 exit: ...

(d) 3664 loop: add $t1, $s3, $s3 3668 add $t1, $t1, $t1 3672 add $t1, $t1, $s6

3676 lw $t0, 0($t1)

3680 bne $t0, $s5, exit 3684 add $s3, $s3, $s4

3688 j loop

3692 exit:

(4)

(e) 3664 proc: addiu $sp, $sp, -12

3668 sw $t1, 8($sp)

3672 sw $t0, 4($sp)

3676 sw $s0, 0($sp)

3680 add $t0, $a0, $a1

3684 add $t1, $a2, $a3

3688 sub $s0, $t0, $t1

3692 add $v0, $s0, $zero

3696 lw $s0, 0($sp)

3700 lw $t0, 4($sp)

3704 lw $t1, 8($sp)

3708 addiu $sp, $sp, 12

3712 jr $ra

4. Assumindo que os valores guardados nos registos $s1 e $s2 s˜ao 1 e 2, respectiva- mente, indique qual ser´a o valor do registo $t0 ap´os a execu¸c˜ao das seguintes sequˆencias de instru¸c˜oes R2000.

(a) 8616 add $t0, $s1, $s1 8620 add $t0, $t0, $s1 8624 sub $t0, $t0, $s2 (b) 8616 bne $s1, $s1, else

8620 add $t0, $s1, $s1

8624 j exit

8628 else: sub $t0, $s2, $s2 8632 exit:

(c) 8616 bne $s1, $s2, else 8620 add $t0, $s1, $s1

8624 j exit

8628 else: sub $t0, $s2, $s2 8632 exit:

(d) 3676 loop: addi $t0, $s1, 1 3680 beq $s1, $s2, exit 3684 add $s1, $s1, $s1

3688 j loop

3692 exit:

5. Visite o s´ıtio da Internet “Compiler Explorer” no endere¸co: https://godbolt.org/.

Neste s´ıtio pode escrever programas, fun¸c˜oes ou fragmentos de c´odigo em C e ver a sua tradu¸c˜ao em c´odigo assembly para diferentes arquitecturas de microprocessador. Escreva

(5)

fun¸c˜oes em C que recebem um inteironcomo argumento e que realizam as opera¸c˜oes abaixo descritas. Use a p´agina para ver as suas tradu¸c˜oes em MIPS R2000 e tente relacionar o c´odigo gerado com o seu c´odigo fonte em C.

ˆ verificar se n ´e 2, 3, 5 ou 7 (retorna 1) ou n˜ao (retorna 0);

ˆ retornar a soma dos inteiros de 0 at´en;

ˆ retornar a soma das potˆencias de 2 at´e 2n;

ˆ retornar o n-´esimo n´umero de Fibonacci.

Referências

Documentos relacionados

Freq¨ uentemente conhecemos uma fam´ılia de polinˆ omios ortogonais (por exemplo, usando uma tabela), ou mesmo a fam´ılia de fun¸c˜ oes trigonom´etricas acima mencionada, mas

Exemplos de fun¸ c˜ oes em m´ odulos pr´ e-definidas em Lua I io : m´ odulo de fun¸ c˜ oes de entrada e sa´ıda (input & output). I io.read: fun¸ c˜ ao para capturar

Cada posi¸ c˜ ao da RAM pode armazenar uma instru¸ c˜ ao ou um dado (n´ umero): (i) se for uma instru¸ c˜ ao, o byte mais significativo conter´ a o c´ odigo de uma instru¸ c˜ ao

Este trabalho visa estudar o efeito da aplica¸ c˜ ao de inseticidas e/ou larvicidas durante o ver˜ ao, considerando um modelo de otimiza¸ c˜ ao multiobjetivo que leva em conta a

Mostre que todo conjunto bem-ordenado segundo uma rela¸c˜ ao parcial de ordem ´e tamb´em totalmente ordenado.. segundo a mesma

Teorema 23.3 Toda representa¸c˜ ao unit´ aria fortemente cont´ınua Π de um grupo compacto G em um espa¸co de Hilbert separ´ avel H ´e uma soma direta cont´ avel de

Teorema 23.3 Toda representa¸c˜ ao unit´ aria fortemente cont´ınua Π de um grupo compacto G em um espa¸co de Hilbert separ´ avel H ´e uma soma direta cont´ avel de

Em um primeiro momento, o c´odigo de todos os indiv´ıduos da popula¸c˜ao, em instru¸c˜oes da linguagem PTX, ´e agrupado em um ´ unico kernel e compilado para c´odigo de m´aquina