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.

Invertir la ca<strong>de</strong>na<br />

invertir:<br />

<strong>de</strong>c si<br />

mov al,[si]<br />

mov [di],al<br />

inc di<br />

loop invertir<br />

mov [di],byte ptr"$"<br />

Primero <strong>de</strong>crementa el contador SI puesto que el ENTER se capturó, pero<br />

no tiene nada que ver con la ca<strong>de</strong>na. Hacer esto evita basura o elementos no<br />

<strong>de</strong>seados en la ca<strong>de</strong>na.<br />

En la segunda línea toma lo que estaba en el índice o posición y se manda<br />

al acumulador en la parte baja. Luego, con la siguiente línea, se pasa lo que hay<br />

en AL al otro arreglo (al arreglo <strong>de</strong> DI). Nótese que en esta parte <strong>de</strong>l código se ha<br />

hecho un puenteo, es <strong>de</strong>cir, se empleó una variable intermedia, en este caso AL,<br />

para pasar un carácter <strong>de</strong>l arreglo SI al arreglo DI.<br />

Después se incrementa el valor <strong>de</strong> DI y se proce<strong>de</strong> a ejecutar el ciclo o<br />

LOOP <strong>de</strong> la etiqueta invertir.<br />

Finalmente, fuera <strong>de</strong> la etiqueta y, por lo tanto, fuera <strong>de</strong>l ciclo, se agrega<br />

un “$” al arreglo <strong>de</strong> DI para terminar la ca<strong>de</strong>na invertida.<br />

47

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

Saved successfully!

Ooh no, something went wrong!