18
Abril 16, Lunes

Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

Abril16,Lunes

Page 2: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

Agendaparaestaclase� RepasoAED:ImplementacionesdeStack� RepasoAED:OrganizacióndeMemoria� RepasoADC:RegistrosIP,BP,ySP�  Intervalo� RevisióndeTrabajo#1�  Sintaxis&Semánticadeforywhile

Prof. Esp. Ing. José María Sola 96

Page 3: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

ImplementacionesdeStack

Page 4: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

// Contigua struct Stack{ unsigned n{0}; std::array<int,MAX> a; }; // Enlazada struct Node{ int val; Node* next; }; struct Stack{ Node* top{nullptr}; };

RepresentacionesdeStack:Con5guayEnlazada

Prof. Esp. Ing. José María Sola 98

Page 5: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

OrganizacióndeMemoria

Page 6: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

OrganizacióndeMemoria

Prof. Esp. Ing. José María Sola 100

Texto (Código)

Sec

ción

din

ámic

a S

ecci

ón

está

tica

Bottom Stack

Top

Heap

Res

erva

di

nám

ica

Memoria vacía

Datos Estáticos

Res

erva

es

tátic

a

Dirección más alta

Dirección más baja: 0

Page 7: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

PiladeInvocaciones&RegistrosIP,BP,ySP

Page 8: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

�  Registros�  IP�  BP�  SP

�  Operaciones�  CALLf

�  PUSHIP�  JMPf

�  RET�  POPIP

�  Stack�  PUSHsrc

�  Mem[--SP]=src�  POPdst

�  dst=Mem[SP++]�  ADD�  SUB

�  CallStack�  StackFrame

�  BP-SP

CallStackyRegistros

Prof. Esp. Ing. José María Sola 102

Page 9: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

Prof. Esp. Ing. José María Sola 103

Page 10: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

Prof. Esp. Ing. José María Sola 104

Page 11: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo
Page 12: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

ForversusWhile/* Una sentencia for equivalente a una sentencia while*/ while ( expresión ) sentencia for ( ; expresión ; ) sentencia /* "Una" sentencia while equivalente a una for */ for ( expresión1; expresión2 ; expresión3) sentencia expresión1; while ( expresión2 ) { sentencia expresión3; }

Page 13: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

SintaxisySemán5caSimpledeWhileydeFor� While

�  Sintaxis�  SentenciaWhile→while(Expresión)Sentencia�  Sentencia→…�  Expresión→…

�  Semántica�  while(Expresión1)Sentencia1

�  LN

�  For(C90)�  Sintaxis

�  SentenciaFor→for(Expresiónopt;Expresiónopt;Expresiónopt)Sentencia�  Semántica

�  for(Expresión1opt;Expresión2opt;Expresión3opt)Sentencia1�  LN.

Prof. Esp. Ing. José María Sola 107

Page 14: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

SintaxisySemán5caSimpledeWhileydeFor�  For(C90)

�  Sintaxis�  SentenciaFor→for(Expresiónopt;Expresiónopt;Expresiónopt)Sentencia

�  Semántica�  for(Expresión1opt;Expresión2opt;Expresión3opt)Sentencia1

�  LN�  For(C99)

�  Sintaxis�  SentenciaFor→for(Expresiónopt;Expresiónopt;Expresiónopt)Sentencia�  SentenciaFor→for(Declaración1Expresiónopt;Expresiónopt)Sentencia

�  Semántica�  for(Expresión1opt;Expresión2opt;Expresión3opt)Sentencia1

�  LN.�  for(Declaración1Expresión1opt;Expresión2opt)Sentencia1

�  LN.

Prof. Esp. Ing. José María Sola 108

Page 15: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

Términosdelaclase#DefinircadatérminoconlabibliograJa�  RepasoAED:ImplementacionesdeStack

�  ImplmentaciónContiguadeStack�  ImplmentaciónEnlazadadeStack

�  RepasoAED:OrganizacióndeMemoria�  Reservaestática�  Texto�  Variablesestátcias�  Reservadinámica�  Stack�  Heap

�  RepasoADC:RegistrosIP,BP,ySP�  IP�  BP�  SP�  CALLf�  RET�  PUSHsrc�  POPdst�  ADD

�  SUB�  CallStack�  StackFrame

�  RevisióndeTrabajo#1�  Sintaxis&Semánticadeforywhile

�  Expresión�  ForgeneralizaaWhile�  WhileparticularizaaFor�  ForversusWhile�  EspecificacióndeSintaxis�  Gramática�  EspecificacióndeSemántica�  SintaxisySemánticadeSentenciafor�  SintaxisySemánticadeSentenciawhile�  Declaración�  ForC99

04

Prof. Esp. Ing. José María Sola 109

Page 16: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo

Tareasparalapróximaclase1.  CorregirTrabajo#11.  Releerde[K&R1988]desde1.2Variablesy

ExpresionesAritméticashasta1.4ConstantesSimbólicasinclusive.

1.  RepasarsobreAssemblerdesdehttps://josemariasola.wordpress.com/ssl/reference#assembler

Prof. Esp. Ing. José María Sola 110

Page 17: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo
Page 18: Abril 16, Lunes 2018... · 2020-05-21 · Agenda para esta clase Repaso AED: Implementaciones de Stack Repaso AED: Organización de Memoria Repaso ADC: Registros IP, BP, y SP Intervalo