Manual de bolsillo de ensamblador

Solo disponible en BuenasTareas
  • Páginas : 5 (1065 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de septiembre de 2010
Leer documento completo
Vista previa del texto
Arquitectura II de Computadores -- Diseño de Sistemas II

LÓGICA Y CONTROL DE PROGRAMAS
(INSTRUCCIONES DE CONTROL Y ETIQUETAS)

3

Introducción En función de que los programas o problemas a resolver usualmente no son lineales, dentro del programa se requiere realizar transferencias del control a rutinas o procedimientos que no están inmediatamente después de la que se está ejecutando en unmomento dado. Esto implica que el control se deba transferir a instrucciones que no se han ejecutado o a repetir la ejecución de otras instrucciones ejecutadas anteriormente. Un elemento importante en este proceso o representa el uso de etiquetas para identificar rutinas o secciones de operaciones en el código a las cuales se deba hacer referencia. A continuación se listan las categorías en lasque se agrupan las instrucciones que permiten realizar transferencias del control del programa: INSTRUCCIONES DE COMPARACIÓN CMP, comparación TEST, testeo de bits Jnn, salto condicional LOOP, ciclos 1. INSTRUCCIÓN CMP Es usada para comparar dos campos de datos que pueden estar contenidos en un registro. SINTAXIS: CMP operando1, operando1 ;el operando puede ser una variable o una etiqueta Ejemplo:CMP BX, 00 ;compara BX con cero JZ otro ;si es cero salta a “otro” 2. INSTRUCCIÓN TEST Es usada para comparar dos campos de datos bit por bit (de igual manera a como se compara con AND), pero no cambia los bits en los operandos, sino solamente establece valores en el registro de banderas. SINTAXIS: TEST operando1, operando1 ;el operando2 usualmente es un valor definido (máscara) Ejemplo: TEST BL,1111 0000B ;¿alguno de los bits de más a la izquierda en BL no es cero? JZ otro ;si es cero salta a “otro” 3. INSTRUCCIÓN DE SALTO JMP (NO CONDICIONAL) Este tipo de salto se realiza sin importar las condiciones que se han dado o los resultados de las operaciones anteriores. Se utiliza para establecer bifurcaciones en la ejecución del programa. SINTAXIS: JMP destino el destino refiere a una etiquetaEjemplo: JMP otro ; salta si verificar alguna condición INSTRUCCIONES DE TRANSFERENCIA JMP, salto no condicional Jnn, salto condicional CALL, llamada a procedimientos

1

Arquitectura II de Computadores -- Diseño de Sistemas II

4. INSTRUCCIONES DE SALTO CONDICIONAL Los lenguajes ensambladores permiten una variedad de instrucciones de saltó condicional que transfieren el controldependiendo de las configuraciones en el registro de banderas. SINTAXIS GENERAL: Jnnn destino Ejemplo: CMP BX, 00 JZ otro ; compara BX con cero ; si es cero salta a “otro” ; “nnn” refiere a los tipos de salto condicional, el destino ; refiere a una etiqueta

También es importante tomar en cuenta si se está trabajando con datos sin signos (sin negativos) o con datos con signos (positivos y negativos) encuyo caso el bit más a la izquierda indica el signo del número, en donde 0 es positivo y 1 es negativo. Por ejemplo, si se tiene AX = 11000110 y BX = 00010110, la instrucción: CMP AX,BX compara el contenido de ambos registros y con los siguientes posibles resultados: • Para datos sin signo, el valor de AX es mayor • Para datos con signo, el valor de BX es mayor a causa del signo negativo SALTOS CONBASE EN DATOS SIN SIGNO INSTRUCCION JE o JZ JNE o JNZ JA o JNBE JAE o JNB JB o JNAE JBE o JNA DESCRIPCIÓN Salta si es igual o salta si resultado es cero Salta si no es igual o salta si resultado no es cero Salto si es mayor o salta si no es menor o igual Salto si es mayor o igual o salta si no es menor Salto si es menor o salta si no es mayor o igual Salto si es menor o igual o salta si no esmayor BANDERA EXAMINADA ZF ZF CF, ZF CF CF CF, AF

SAL TOS CON BASE EN DATOS CON SIGNO INSTRUCCION JE o JZ JNE o JNZ JG o JNLE JGE o JNL JL o JNGE JLE o JNG DESCRIPCIÓN Salta si es igual o salta si resultado es cero Salta si no es igual o salta si resultado no es cero Salto si es mayor o salta si no es menor o igual Salto si es mayor o igual o salta si no es menor Salto si es menor o salta si no...
tracking img