19.04.2018 Views

Tutorial de ensamblador

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

nivel mandando a llamar la función <strong>de</strong> mostrar y asignándole directamente el<br />

mensaje a mostrar. Debe <strong>de</strong> manejarse por una variable.<br />

En el segmento <strong>de</strong> datos se <strong>de</strong>claran e inicializan las variables a utilizar. El<br />

registro <strong>de</strong> datos DS almacena el comienzo <strong>de</strong>l segmento <strong>de</strong> datos. Si se quiere<br />

acce<strong>de</strong>r a una variable en especial, <strong>de</strong>berá hacer referencia este segmento (el<br />

cual dice “aquí empieza”) y también cuánto <strong>de</strong>berá moverse para llegar a dicha<br />

variable. Eso es similar a cuando una persona busca una palabra en el diccionario:<br />

Primero se posiciona al principio <strong>de</strong> la página, luego recorre la hoja hasta llegar a<br />

la palabra que está buscando.<br />

Segmento y registro <strong>de</strong> código<br />

Por supuesto, es necesario tener un área don<strong>de</strong> se van a escribir las<br />

líneas <strong>de</strong> instrucción. Para la ejecución <strong>de</strong> código, se emplea el registro <strong>de</strong> código<br />

CS y, más el apuntador <strong>de</strong> instrucción IP, se mueve por todo el registro,<br />

ejecutando las instrucciones que correspondan.<br />

Segmento y registro <strong>de</strong> pila<br />

La pila es una estructura que consiste en datos<br />

apilados. Es un modo <strong>de</strong> almacenar información <strong>de</strong> manera<br />

temporal. Por ejemplo, si se quiere clasificar libros, estos se<br />

apilan según un criterio. El primero en colocarse queda<br />

<strong>de</strong>bajo <strong>de</strong> la pila, y el último en colocarse se encuentra<br />

arriba. Si se quisiera retirar el libro <strong>de</strong>l fondo <strong>de</strong> la pila,<br />

habría que remover primero todos los que se encuentran<br />

arriba <strong>de</strong> éste. Lo mismo suce<strong>de</strong> con la pila <strong>de</strong> datos en<br />

<strong>ensamblador</strong>. Un programa pue<strong>de</strong> no necesitar segmento<br />

<strong>de</strong> pila, pero es útil para ciertas operaciones, en especial<br />

aquellas que manejan ca<strong>de</strong>nas <strong>de</strong> caracteres. El registro SS permite la colocación<br />

en memoria <strong>de</strong> una pila. La dirección <strong>de</strong> inicio <strong>de</strong>l segmento <strong>de</strong> pila se almacena<br />

en SS. Esta, más un valor <strong>de</strong> <strong>de</strong>splazamiento <strong>de</strong>l apuntador <strong>de</strong> la pila SP indican<br />

el dato actual que se encuentra disponible en la pila.<br />

Segmento y registro extra<br />

Por cuestiones <strong>de</strong> memoria, habrá ocasiones en las que será necesario<br />

utilizar un segmento extra. Su registro correspondiente es el ES. Por otra parte, en<br />

los procesadores 80386 existen registros extra como los FS y GS.<br />

Registros <strong>de</strong> propósito general<br />

Para el manejo <strong>de</strong> datos se emplean otros segmentos <strong>de</strong> memoria. Es<br />

similar a cuando una persona está or<strong>de</strong>nando su armario: La ropa son sus datos y,<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!