19.04.2018 Views

Tutorial de ensamblador

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

En la primera línea mueve el arreglo SI al acumulador en la parte alta.<br />

La segunda línea sirve para <strong>de</strong>limitar el<br />

límite inferior, es <strong>de</strong>cir, la letra “A”. JG MINUS<br />

es un salto hacia la etiqueta MINUS si el valor<br />

en BL es mayor a 65 <strong>de</strong> la tabla ASCII o,<br />

dicho <strong>de</strong> otra manera, la letra “A”. Luego se<br />

compara AL con “Z”. Si es mayor, saltará a<br />

MINUS. El código anteriormente <strong>de</strong>scrito<br />

evalúa si lo ingresado se encuentra en el<br />

rango <strong>de</strong> la “A” a la “Z”. De no estarlo, no se le<br />

podrá aplicar la transformación a minúsculas<br />

ya que, o no se trata <strong>de</strong> una letra, o las letras<br />

ya están en minúsculas.<br />

ADD AL, 20H es otro modo <strong>de</strong> convertir<br />

ca<strong>de</strong>nas <strong>de</strong> mayúsculas a minúsculas. Se<br />

pue<strong>de</strong> también empleando un AND como en el<br />

ejemplo <strong>de</strong> código <strong>de</strong> transformar ca<strong>de</strong>na a<br />

mayúsculas. Lo que hace ADD AL, 20H es<br />

sumarle 20 hexa<strong>de</strong>cimal (que es 32 en<br />

<strong>de</strong>cimal) al valor ASCII <strong>de</strong> la letra,<br />

convirtiéndola en minúscula. Tomando el<br />

ejemplo <strong>de</strong> la letra “A”, su valor en la tabla<br />

ASCII es 65. Si se le suma 20H o 32 en<br />

<strong>de</strong>cimal, da 97, que es el valor <strong>de</strong> “a”,<br />

convirtiéndola en minúscula.<br />

Por último, la ca<strong>de</strong>na transformada se<br />

pasa a la ca<strong>de</strong>na en el índice o posición SI.<br />

MINUS:<br />

INC SI<br />

MOV CL, 0DH<br />

CMP[SI], CL<br />

JNE seguir<br />

La primera línea incrementa SI, la segunda hace un retorno <strong>de</strong> acarreo, y<br />

luego el retorno <strong>de</strong> acarreo lo compara con el carácter en el índice o posición SI.<br />

Si no son iguales, sigue con el ciclo ejecutando el código <strong>de</strong> la etiqueta SEGUIR,<br />

si sí, sale <strong>de</strong>l ciclo. Se usa SI para <strong>de</strong>terminar si el ciclo se ha acabado o no.<br />

50

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

Saved successfully!

Ooh no, something went wrong!