EC - PEC1 de 2022-s2 PREGUNTA 2º
En el código de alto nivel M es una variable de tipo vector de 10 elementos. Cada elemento del vector es un entero de 32 bits. En el programa ensamblador el vector se encuentra almacenado a partir de la dirección simbólica M, en posiciones consecutivas (M[0], en la dirección simbólica M, el siguiente, M[1], en la dirección M+4, etc.).
El programa recorre el vector M, actulizándolo según la condición del código (posiciones M[I] i M[I+1]), al doble del valor de M[i]
I= 0;
DO {
IF ((M[I]>0) OR (M[I+1]<9)) M[I]= M[I]*2;
I:= I+1;
} WHILE (I<=8)
Rellena los espacios de la propuesta de programa ensamblador que se muestra a continuación para conseguir el resultado deseado.
| Solución:
MOV R1, 0 MOV R3, M DO: CMP [R3], 0 JG OK CMP [R3+4], 9 JGE WHI OK: SAL [R3] ,1 WHI: ADD R3, 4 ADD R1, 1 CMP R1, 8 JGE DO
|
¿En qué puedo ayudarte?

Deja una respuesta