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];

Enunciado: Problema 1 · Fonaments d'Informàtica UAB 2021

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.

Problema 1 · 2021 ›

Más ejercicios de Programació en llenguatge màquina i traducció des de C