You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Cabe <strong>de</strong>stacar que los valores <strong>de</strong> los caracteres son manejados como<br />
números según su valor en la tabla ASCII. Si está por <strong>de</strong>bajo <strong>de</strong> “a” (cuyo valor es<br />
97) significa que si valor es menor, y si está por encima <strong>de</strong> ”z” (cuyo valor es 122)<br />
su valor en la tabla ASCII es mayor. Estas dos comparaciones validan si lo que se<br />
ingresó está <strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong> la “a” a la “z”. Si no está en dicho rango, salta a<br />
SIGA. Si lo está, se transforma en mayúsculas con la línea AND AL,11011111B<br />
.<br />
En la etiqueta SIGA, se tiene MOV [SI], AL va a tomar lo que hay en el<br />
carácter ya transformado. INC SI va a incrementar la posición <strong>de</strong> SI, es <strong>de</strong>cir, va a<br />
avanzar un lugar para almacenar la siguiente letra a teclear en el siguiente espacio<br />
<strong>de</strong> memoria <strong>de</strong> la variable. DEC CX, <strong>de</strong>crementa el contador en CX. Esto es<br />
similar al “i--” <strong>de</strong>l ciclo for en lenguajes <strong>de</strong> alto nivel. CMP CX,0 compara si el<br />
contador es igual a cero. JNE LEER significa que, si el contador no ha llegado al<br />
cero, regresará a ejecutar lo que hay en LEER, es <strong>de</strong>cir, continuará el ciclo. De<br />
otra manera, habrá terminado.<br />
Imprimir un salto <strong>de</strong> línea<br />
MOV DX,OFFSET CRLF<br />
MOV AH,09H<br />
INT 21H<br />
En CRLF, si bien no se asignó una ca<strong>de</strong>na como tal, tiene almacenado el<br />
interlineado. Mostrar esta línea es similar al “\n” <strong>de</strong> los lenguajes <strong>de</strong> alto nivel.<br />
40