Problema 5 · Fonaments d'Informàtica UAB 2021

Tema: Traça d'execució, subrutines i gestió de la pila · Del examen Examen final de Fonaments d'Informàtica (Gener 2021) (2021)

Enunciado

Problema 5 (2 punts). Traça d'execució d'un programa en assemblador

Es considera un computador amb els modes d'adreçament següents:

n: Directe

#n: Immediat

n[X]: Indexat

(n): Indirecte

El punter SP apunta a la primera posició lliure de la pila i aquesta creix cap a adreces numèricament més altes.

Es disposa del fragment de codi següent:

Adreça

Instrucció

Adreça

Instrucció

1 · MOV X, #2 · 50 · PUSH R0

2 · MOV R0, 200[X] · 51 · INC R0

3 · MOV (301), R0 · 52 · INC X

4 · CALL 50 · 53 · PULL R0

5 · CMP X, #4 · 54 · RTN

6 · BNE 2 (o BOZ 2)

Representeu la taula de traça de l'execució indicant únicament els valors dels registres i de la memòria que canvien en cada pas, començant des de l'estat inicial on PC=1PC = 1 i SP=400SP = 400, amb els continguts de memòria inicials: posicions 100=200100=200, 101=201101=201, 102=202102=202, 200=10200=10, 201=11201=11, 202=12202=12, 203=100203=100, 301=101301=101, 302=102302=102.

Completeu les cel·les que canvien de valor en cada pas d'execució. Deixeu buides les cel·les dels registres o memòries que no modifiquen el seu valor respecte a l'estat anterior.

INSTRUCCIÓ

PC

SP

R0

X

@101

@400

@401

Estat inicial

1

400

-

-

201

-

-

MOV X, #2

MOV R0, 200[X]

MOV (301), R0

CALL 50

PUSH R0

INC R0

INC X

PULL R0

RTN

CMP X, #4

BNE 2

MOV R0, 200[X] (2a volta)

MOV (301), R0 (2a volta)

CALL 50 (2a volta)

PUSH R0 (2a volta)

INC R0 (2a volta)

INC X (2a volta)

PULL R0 (2a volta)

RTN (2a volta)

CMP X, #4 (2a volta)

BNE 2 (2a volta)

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

Solución

Según los criterios oficiales de corrección

PC després de MOV X, #2

Solución: 2

X després de MOV X, #2

Solución: 2

PC després de MOV R0, 200[X]

Solución: 3

R0 després de MOV R0, 200[X]

Solución: 12

PC després de MOV (301), R0

Solución: 4

Memòria modificada després de MOV (301), R0

Solución: 12

PC després de CALL 50

Solución: 50

SP després de CALL 50

Solución: 401

Posició 400 de memòria després de CALL 50

Solución: 5

PC després de PUSH R0

Solución: 51

SP després de PUSH R0

Solución: 402

Posició 401 de memòria després de PUSH R0

Solución: 12

PC després d'INC R0

Solución: 52

R0 després d'INC R0

Solución: 13

PC després d'INC X

Solución: 53

X després d'INC X

Solución: 3

PC després de PULL R0

Solución: 54

SP després de PULL R0

Solución: 401

R0 després de PULL R0

Solución: 12

PC després de RTN

Solución: 5

SP després de RTN

Solución: 400

PC després de CMP X, #4

Solución: 6

PC després de BNE 2

Solución: 2

PC després de MOV R0, 200[X] (2a volta)

Solución: 3

R0 després de MOV R0, 200[X] (2a volta)

Solución: 100

PC després de MOV (301), R0 (2a volta)

Solución: 4

Posició 101 de memòria després de MOV (301), R0 (2a volta)

Solución: 100

PC després de CALL 50 (2a volta)

Solución: 50

SP després de CALL 50 (2a volta)

Solución: 401

Posició 400 de memòria després de CALL 50 (2a volta)

Solución: 5

PC després de PUSH R0 (2a volta)

Solución: 51

SP després de PUSH R0 (2a volta)

Solución: 402

Posició 401 de memòria després de PUSH R0 (2a volta)

Solución: 100

PC després d'INC R0 (2a volta)

Solución: 52

R0 després d'INC R0 (2a volta)

Solución: 101

PC després d'INC X (2a volta)

Solución: 53

X després d'INC X (2a volta)

Solución: 4

PC després de PULL R0 (2a volta)

Solución: 54

SP després de PULL R0 (2a volta)

Solución: 401

R0 després de PULL R0 (2a volta)

Solución: 100

RTN (2a volta) - PC

Solución: 5

RTN (2a volta) - SP

Solución: 400

CMP X, #4 (2a volta) - PC

Solución: 6

BNE 2 (2a volta) - PC

Solución: 7

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.

‹ Ejercicio Teoria 2.b · 2021 · Ejercicio Teoria 2.b - Anàlisi de subrutina i pila · 2021 ›

Más ejercicios de Traça d'execució, subrutines i gestió de la pila