Beruflich Dokumente
Kultur Dokumente
a. A + B
0 1 1 1 1 1 0 0
+ 0 1 1 0 1 1 0 0
1 1 1 0 1 0 0 0
b. A * B
0 1 1 1 1 1 0 0
* 0 1 1 0 1 1 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
1 1 1 1 1 0 0
1 1 1 1 1 0 0
0 0 0 0 0 0 0 0
1 1 1 1 1 0 0
1 1 1 1 1 0 0
0 0 0 0 0 0 0 0
1 1 0 1 0 0 0 1 0 1 0 0 0 0
c. A - B
0 1 1 1 1 1 0 0
- 0 1 1 0 1 1 0 0
0 1 1 1 1 1 0 0
cA2 1 0 0 1 0 0 1 1
Se realiza la suma
0 1 1 1 1 1 0 0
+ 1 0 0 1 0 0 1 1
1 0 0 0 0 1 1 1
d. A / B
0 1 1 1 1 1 0 0
/ 0 1 1 0 1 1 0 0
3.
A = 0x9141
B = 0xFA3D
a. A AND B
A
1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1
B
1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1
Resultado guardado en C
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1
b. A OR B
A
1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1
B
1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1
Resultado guardado en C
1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1
c. A XOR B
A
1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1
B
1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1
Resultado guardado en C
1 1 0 1 0 1 1 0 1 1 1 1 1 0 0
d. A NOR B
A
1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1
B
1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1
Resultado guardado en C
0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0
4.
par:
sub ax,4 #si el número es par le restamos 4
mov dx,4 #al registro dx le asignamos 4 (el multiplicando)
mul dx #al número almacenado en el registro ax lo multiplicamos por 4
impar:
sub ax,1 #si el número es impar le restamos 1
miniMips
mov $res,0 #Se asigna 0 al registro $res que es donde se almacena el residuo
mov $num1,num #al registro $num1 se le asigna la variable num
mov $num2,d # al registro $num2 se le asigna la variable d
div $s1,$s2 # se divide $s1 entre $s2 y el residuo se almacena en $s4
beq $res,0,par #la instrucción beq compara si el registro $res es igual a 0, si esto
se
#cumple salta a la etiqueta par
par:
sub $num1,$num1,1 #si el número es par al registro $num se le resta 4
mov $res,8 #al registro $res se le asigna el valor 4
mult $num1,$num1,$res #el registro $num1 se multiplica por 4
impar:
sub $num1,$num1,1 #si el número es impar, al registro $num1 se le resta 1
5.
add $s0, $zero, $zero # $s0 = $zero + $zero
loop:
beq $t9, $zero, endloop #si ( a = b ) el ciclo termina
add $s0, $s0, $t8 # $s0 = $s0 + a
sub $t9, $t9, 1 #b=b-1
j loop # permanece en el ciclo
endloop: # sale del ciclo
add $s0, $s0, 50 # $s0 = $s0 + 50
add $t10, $s0, $zero # $t10 = $s0 + $zero
Para $zero = 1, a = 4, b = 7
$s0 = 1 + 1
1 iteración
2 iteración
$s0 = 14 + 50 = 64
$t10 = 14 + 1 = 1