Problema 1 · Fonaments d'Informàtica UAB 2021
Tema: Programació en llenguatge màquina i traducció des de C · Del examen Examen final de Fonaments d'Informàtica (Gener 2021) (2021)
Enunciado
Problema 1 (1 punt). Traducció de bucle d'alt nivell a assemblador
Traduïu a llenguatge màquina (assemblador) el fragment de codi en C següent. Podeu associar lliurement les adreces de memòria a cadascuna de les variables emprades:
#define N 1000
int i, min, V[N];
...
min = V[0];
for (i = 1; i < N; i++)
if (min > V[i]) min = V[i];

Solución
Según los criterios oficiales de corrección
Traduïu a llenguatge màquina (assemblador) el fragment de codi en C següent:
Solución: ``` MOV RPG0, 1000 ; min = V[0] MOV X, #1 ; i = 1 for: CMP X, #1000 ; Compara i amb N (1000) BOZ fifor ; Si i == 1000, surt del bucle (fi del for) CMP RPG0, 1000[X] ; Compara min amb V[i] BON fiif ; Si no és min > V[i], salta el if MOV RPG0, 1000[X] ; min = V[i] fiif: INC X ; i++ JMP for ; Següent iteració fifor: MOV 998, RPG0 ; Desa el resultat final a 'min' MOV 999, X ; Desa el valor de 'i' ```
La explicación paso a paso, hecha con IA, es Premium. Premium
Resuélvelo aquí mismo: corrección automática, pistas y solución paso a paso.