Beruflich Dokumente
Kultur Dokumente
Repertorio de Instrucciones
Tutor:
Estudiante:
Bogota Dc.
Mayo
2017
2
Introduccin
Objetivos
Contenido
Desarrollo de la actividad.
Para el inicio del desarrollo de esta actividad se realiza una representacin grfica
donde se explica en que consiste las instrucciones tipo salto del Lenguaje Ensamblador
Ejemplo de salto condicional: Saltos con base en datos y sin signo: Registro de Banderas: 16 bits, barias
JE/JZ salta si es igual o salta si es igual a cero JNE/JNZ salta si instrucciones ponen a 1 para indicar el
Una Operacin de salto alcanza una MOV AX, 1111h no es igual o salta si no es igual a cero
La instruccin de salto condicional transfiere el control dependiendo de las estado de una operacin
direccin cercana por medio de un MOV BX, 1112h JA/JNBE bifurca si es mayor o salta si no es menor o igual
configuraciones en el registro de banderas:
desplazamiento de una palabra, CMP AX, BX; AX es menor que BX JAE/JNB salta si es mayor o igual o salta si no es menor JB/JNAE
limitado a una distancia de -32768 a 0C Acarreo
Etiqueta: Jnnn (direccin corta) JB tirapalante; Saltar a tirapalante salta si es menor o salta si no es mayor o igual JBE/JNA salta si es
32767 bytes. 1
Compara los valores de 2 banderas y luego salta dependiendo de estos HLT; Esta orden bloquea el ordenador, halt menor o igual o salta si no es mayor
2P Paridad
tirapalante: DEC BX; Ahora BX valdr 3
1111h Saltos con base en datos con signo:
JE/JZ salta si es igual o salta si es igual a cero JNE/JNZ 4A Acarreo auxiliar
CMP AX, BX; Ahora valen igual 5
JNE Acaba; No saltar, ya que son iguales salta si no es igual o salta si no es igual a cero JG/JNLE
6 Z Cero
Una Operacin de salto alcanza salta si es mayor o salta si no es menor o igual
Ejemplo: NEAR y JE Continua; Esta vez si 7 S Signo
una direccin corta por medio de JGE/JNL salta si es mayor o igual o salta si no es menor
FAR: Continua: DEC BX; Ahora BX vale 1110h 8T Trampa
un desplazamiento de un Byte, JL/JNGE salta si es menor o salta si no es mayor o igual
Corta y BEGIN PROC CMP AX, BX 9 I Interrupcin
Lejana
JLE/JNG salta si es menor o igual o salta si no es mayor
Cercana
limitado a una distancia de - 128 cercana FAR JE Acaba; No son iguales, por tanto no 10 D Direccin
a 127 bytes. posterior a CALL B10 saltar 11 O Desbordamiento
80386 JB Acaba; No es menor, tampoco salta 12
Saltos con base en condiciones especiales:
La instruccin MOV AX, 4C00H JG Acaba; Es mayor, ahora SI saltar 13
JS salta si el signo es negativo
CALL es un salto INT 21H Acaba: XOR AX, AX 14
JNS salta si el signo es positivo
condicional que MOVBEGIN
AX, 01ENDP XOR BX, BX; AX y BX valen ahora cero. 15
Una direccin lejana puede estar en Corta JC salta si hay acarreo (igual que JB)
va acompaado ;********
otro segmento y es alcanzada por Corta, JNC salta si no hay acarreo
de RET el cual B10 PROC NEAR
medio de una direccin de segmento cercana y JO salta si hay desbordamiento JNO
regresa al CALL C10
Corta
y un desplazamiento lejana salta si no hay desbordamiento
procedimiento de
JP/JPE salta si hay paridad o salta si la paridad es par JNP/JPO
donde fue RET
salta si no hay paridad o salta si la paridad es impar
llamado, es una B10 ENDP
instruccin ;*******
cercana y lejana, C10 PROC NEAR
de esto depender Reglas de etiquetas:
al Cadena de caracteres donde los 15 primeros son significativos. CMP compara si dos valores son iguales o
cdigo objeto Puede ser cualquier cdigo ASCII mayor de 32 (espacio), salvo diferentes contenidos en un registro. Su
que se genere. caracteres especiales. funcionamiento es similar al de la instruccin
JMP A90
Direcciones El primer carcter no puede ser nmero o smbolo. Mayscula y SUB (restar), slo que no modifica el operando
minscula se consideran diferentes. Tiene que estar en la primer de destino, solamente modifica las banderas de
columna de texto, salvo que termine :
A90: MOV AH, 00 . signo (AF), (OF), (PF), (SF), (ZF) y (CF).
Corta, Corta Ejemplo: etiquetas validas: Ejemplo:
Realiza el programa en un
cercana Salto, inicio, regresa.Bucle_1, LAZO3 Ejemplo: CMP BX, 00, compara a BX con
bucle infinito. Los dos (:)
etiquetas no validas: cero JZ B50; si es cero salta a B50
Es para darle el atributo de lejana 1salto, inicio/, 1const_&3.
cercana, dentro de un
Etiquetas de
instrucciones MOV BX, 01 B50: destino del salto si BX es cero
procedimiento en el mismo MOV DX, 01
segmento de cdigo MOV CX, 10
A90: INC AX TEST realiza la operacin AND de los
Etiqueta de LOOP ADD BX, AX operandos especificados sin que el
JMP (salto (Bucle) SHL DX, 01
incondicional)
instrucciones LOOP A20 Realiza
resultado se almacene en algn registro,
Ejemplo modificando nicamente ciertas banderas.
Ejemplo el programa en solo 10 La etiqueta es un nombre dado por el Su aplicacin ms comn es la de probar si
vueltas ya que programador, la cual define posiciones algn bit es cero.
el loop utiliza a CX de memoria especficas o valores Ejemplo:
decrementando y para constantes Test AL, 1
cuando este es cero (0) Esta instruccin prueba si el bit menos
significativo de AL es 1 y
Test AL, 128
Prueba si el bit ms significativo de AL es
1.
Utilizando un lenguaje ensamblador en este caso el Turbo Assembler, se
Conclusiones
Se debe tener en cuenta que dentro de las instrucciones tipo salto existen una
quiera realizar
12
Referencias bibliogrficas