ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA VALLERUPAR MAYO 2017 1. Explicar mediante un grfico en que consiste las instrucciones tipo salto del Lenguaje Ensamblador (Direcciones corta, cercana y lejana, etiquetas, saltos incondicionales, saltos condicionales, instrucciones de testeo, decisiones y bucles) Ejemplo de salto condicional:
El ensamblador permite usar una variedad de MOV AX, 1111h
Corta instrucciones de salto condicional que transfieren el MOV BX, 1112h Una operacin de salto CMP AX, BX; AX es menor que BX SALTOS CONDICIONALES control dependiendo de las configuraciones en el JB tirapalante; Saltar alcanza una direccin registro de banderas. El formato general para el a tirapalante corta por medio de un salto condicional es: HLT; Esta orden bloquea el ordenador, desplazamiento de un halt byte, limitado a una | [etiqueta:] | Jnnn | direccin corta | Tirapalante: DEC BX; Ahora BX distancia de -128 a 127 valdr 1111h CMP compara si dos valores son bytes. CMP AX, BX; Ahora valen igual iguales o diferentes contenidos JNE Acaba; No en un registro. Su D Saltar, ya que son iguales funcionamiento es similar al de la I JE Continua; Esta vez si INSTRUCCIONES Continua: DEC BX; Ahora BX vale instruccin SUB (restar), slo que no R SALTOS INCONDICIONALES 1110h modifica el operando de destino, E CMP AX, BX DESICIONES TIPO SALTOS solamente modifica las banderas de Una operacin de salto Cercana C JE Acaba; No son iguales, por tanto, no signo (AF), (OF), (PF), (SF), (ZF) alcanza una direccin cercana Saltar C JB Acaba; No es menor, tampoco salta y(CF). Ejemplo: CMP BX, 00, compara por medio de un I SALTOS INCONDICIONALES JG Acaba; Es mayor, ahora SI saltar a BX con cero JZ B50; si es cero salta desplazamiento de una Un salto es incondicional, ya que la O Acaba: XOR AX, AX a B50...B50: ......destino del salto si BX palabra, limitado a una operacin transfiere el control bajo cualquier XOR BX, BX; AX N es cero distancia de -32, 768 a 32, circunstancia. Tambin JMP vaca el y BX valen ahora cero 767 bytes dentro del mismo E resultado de la instruccin previamente segmento S procesada; por lo que, un programa con ETIQUETAS muchas operaciones de salto puede perder velocidad de procesamiento. El formato TEST realiza la operacin AND general para JMP es: de los operados especificados sin Lejana que el resultado se almacene en | [etiqueta] | JMP | direccin corta, INSTRUCCIONES DE TESTEO cercana o lejana | algn registro, modificando Una direccin lejana La etiqueta es un nombre dado nicamente ciertas banderas. Su puede estar en otro por el programador, la cual aplicacin ms comn es la de probar segmento y es alcanzada define posiciones de memoria si algn bit es cero. Ejemplo: Test AL, por medio de una especficas o valores Saltos con base en datos y sin signo: 1Esta instruccin prueba si el bit direccin de segmento y constantes La etiqueta de una JE/JZ salta si es igual o salta si es igual a cero menos significativo de AL es 1 y Test un desplazamiento instruccin, tal como A90:, JNE/JNZ salta si no es igual o salta si no es igual a cero AL, 128Pruebasi el bit ms terminada con dos puntos (:) JA/JNBE bifurca si es mayor o salta si no es menor o igual significativo de AL es 1 para darle atributo de cercana - Registro de Banderas: 16 JAE/JNB salta si es mayor o igual o salta si no es menor esto es, la etiqueta est dentro bits, barias instrucciones JB/JNAE salta si es menor o salta si no es mayor o igual BUCLES de un procedimiento en el ponen a 1 para indicar el JBE/JNA salta si es menor o igual o salta si no es mayor mismo segmento de cdigo. estado de una operacin Saltos con base en datos con signo: 0C Acarreo JE/JZ salta si es igual o salta si es igual a cero 1 Cuidado: Un error comn es la 2P Paridad JNE/JNZ salta si no es igual o salta si no es igual a cero MOV AX, 01 omisin de los dos puntos. 3 JG/JNLE salta si es mayor o salta si no es menor o igual MOV BX, 01 Note que una etiqueta de 4A Acarreo auxiliar JGE/JNL salta si es mayor o igual o salta si no es menor MOV DX, 01 direccin en un operando de 5 JL/JNGE salta si es menor o salta si no es mayor o igual JLE/JNG salta si es menor o igual o 6Z Cero salta si no es mayor MOV CX, 10 instruccin (como JMP A90) no 7S Signo Saltos con base en condiciones especiales: A90: INC AX tiene un carcter de dos 8T Trampa puntos. JS salta si el signo es negativo ADD BX, AX 9I Interrupcin 10 D Direccin JNS salta si el signo es positivo SHL DX, 01 JC salta si hay acarreo (igual que JB) 11 O Desbordamiento LOOP A20 12 JNC salta si no hay acarreo Realiza el programa en solo 10 vueltas ya que 13 JO salta si hay desbordamiento el loop utiliza a CX decrementando y para 14 JNO salta si no hay desbordamiento cuando este es cero (0) 15 JP/JPE salta si hay paridad o salta si la paridad es par JNP/JPO salta si no hay paridad o salta si la paridad es impar