Вы находитесь на странице: 1из 3

2.

6 Ciclos condicionales
Las instrucciones para ciclos condicionales, revisan si ha ocurrido alguna situacin
para poder transferir el control del programa a otra seccin.
Sintaxis:
LOOP etiqueta
La instruccin loop decrementa CX en 1, y transfiere el flujo del programa a la
etiqueta dada como operando si CX es diferente a 1.
Instruccin LOOPE
Propsito: Generar un ciclo en el programa considerando el estado de ZF
Sintaxis:
LOOPE etiqueta
Esta instruccin decrementa CX en 1. Si CX es diferente a cero y ZF es igual a 1,
entonces el flujo del programa se transfiere a la etiqueta indicada como operando.
Instruccin LOOPNE
Propsito: Generar un ciclo en el programa, considerando el estado de ZF
Sintaxis: LOOPNE etiqueta
Esta instruccin decrementa en uno a CX y transfiere el flujo del programa solo si
ZF es diferente a 0.

2.11 Obtencin de cadena con representacin


decimal.
En las computadoras el formato natural para la aritmtica es el binario. La
representacin del nmero decimal 1527 en los tres formatos decimales:

ASCII 31 35 32 37 (cuatro bytes)


BCD desempaquetado 01 05 02 07 (cuatro bytes)
BCD empaquetado 15 27 (dos bytes)

El procesador realiza aritmtica en valores ASCII y BCD un dgito a la vez. Ya que


los datos son ingresados desde un teclado que estn en formato ASCII, la
representacin en memoria de un nmero decimal ingresado tal como 1234 es
31323334H. Pero realizar aritmtica sobre tal nmero implica un tratamiento

especial. Las instrucciones AAA y AAS realizan la aritmtica de manera directa


sobre nmeros ASCCI.

2.14 Obtencin de una cadena con la representacin


hexadecimal .
La conversin entre numeracin binaria y hexadecimal es sencilla. Lo primero que
se hace para una conversin de un nmero binario a hexadecimal es dividirlo en
grupos de 4 bits, empezando de derecha a izquierda. En caso de que el ltimo
grupo (el que quede ms a la izquierda) sea menor de 4 bits se rellenan los
faltantes con ceros.
Tomando como ejemplo el nmero binario 101011 lo dividimos en grupos de 4 bits
y nos queda:
10; 1011
Rellenando con ceros el ltimo grupo (el de la izquierda):
0010; 1011
Despus tomamos cada grupo como un nmero independiente y consideramos su
valor en decimal:
0010 = 2; 1011 = 11
Pero como no podemos representar este nmero hexadecimal como 211 porqu
sera un error, tenemos que sustituir todos los valores mayores a 9 por su
respectiva representacin en hexadecimal, con lo que obtenemos:
2BH (Donde la H representa la base hexadecimal)
Para convertir un nmero de hexadecimal a binario solo es necesario invertir estos
pasos: se toma el primer dgito hexadecimal y se convierte a binario, y luego el
segundo, y as sucesivamente hasta completar el nmero.

2.15 Captura y almacenamiento de datos numricos.


Esta representacin est basada en la notacin cientfica, esto es, representar un
nmero en dos partes: su mantisa y su exponente.
Poniendo como ejemplo el nmero 1234000, podemos representarlo como
1.123*10^6, en esta ltima notacin el exponente nos indica el nmero de

espacios que hay que mover el espacio hacia la derecha para obtener el resultado
original.
En caso de que el exponente fuera negativo nos estara indicando el nmero de
espacios que hay que recorrer el punto decimal hacia la izquierda para obtener el
original.
Proceso de creacin de un programa
Para la creacin de un programa es necesario seguir cinco pasos: diseo del
algoritmo, codificacin del mismo, su traduccin a lenguaje mquina, la prueba del
programa y la depuracin.

2.16 Operaciones bsicas sobre archivos de disco.


Servicios de la interrupcin 16h para manejo del teclado.
Funcin 00h. Lee un carcter. Esta funcin maneja las teclas del teclado de 83
teclas, pero no acepta entrada de las teclas adicionales en el teclado ampliado de
101 teclas. Retorna en al el carcter, ah el cdigo de rastreo si al=0 es una tecla
de funcin extendida.
Funcin 01h. Determina si un carcter est presente.
Funcin 02h. Regresa el estado actual de las teclas shift.
Funcin 10h. Lectura de un carcter del teclado.
Funcin 11h. Determina si est presente un carcter.
MOVS. Mueve un byte, palabra o palabra doble desde una localidad en memoria
direccionada por SI a otra localidad direccionada por DI.
LODS. Carga desde una localidad de memoria direccionada por SI un byte en AL,
una palabra en AX o una palabra doble en EAX.
STOS. Almacena el contenido de los registros AL, AX, o EAX en la memoria
direccionada por SI.
CMPS. Compara localidades de memoria de un byte, palabra o palabra doble
direccionadas por SI, DI.
SCAS. Compara el contenido de AL, AX o EAX con el contenido de una localidad
de memoria direccionada por SI.

Вам также может понравиться