Problema 2 · Fonaments d'Informàtica UAB 2018
Tema: Programació en llenguatge màquina i traducció des de C · Del examen Examen de recuperació. Fonaments d'Informàtica (Febrer 2018) (2018)
Enunciado
Problema 2 (1,5 punts). Traducció de C a llenguatge màquina
Donat el següent fragment de codi en C, escriviu el codi equivalent en llenguatge assemblador. Assumiu les assignacions d'adreces indicades:
#define N 1000
int i, min, V[N];
...
min = V[0];
for (i = 1; i < N; i++) {
if (min > V[i]) min = V[i];
}
Adreces assignades:
i a l'adreça 998
min a l'adreça 999
El vector V comença a partir de l'adreça 1000

Solución
Según los criterios oficiales de corrección
Traducció de C a llenguatge màquina/assemblador
Solución: ```assembly mov AX, 1000 ; AX = V[0] mov SI, #1 ; i = 1 for: cmp SI, #1000 ; comparem i amb N jnl fifor ; si no és menor (i >= N), surt del bucle cmp AX, 1000[SI] ; comparem min amb V[i] jng fiif ; si min <= V[i], saltem mov AX, 1000[SI] ; min = V[i] fiif: inc SI ; i++ jmp for fifor: mov 998, SI ; guardem la variable i a memòria mov 999, AX ; guardem min a memòria ```
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 · 2018 · Problema 1 · 2018 ›