capitulo 13 juego de instrucciones

60
ESTRUCTURA DE COMPUTADORES I (Capítulo 13: JUEGO DE INSTRUCCIONES) 1/60 1º INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN-EUITI VITORIA Profesor: Fernando Oterino Echávarri 13-JUEGO DE INSTRUCCIONES DEL 8086 El microprocesador 8086 posee 92 instrucciones diferentes que las dividiremos en 7 grupos: ! Instrucciones de transferencia de datos.................... 14 ! Instrucciones aritméticas ........................................... 20 ! Instrucciones de manejo de bits ................................ 12 ! Instrucciones de transferencia de control .................. 23 ! Instrucciones de manejo de cadenas ........................ 8 ! Instrucciones de interrupción .................................... 3 ! Instrucciones de control del procesador .................... 12 " Algunas instrucciones poseen nombres alternativos, superando así las 92 instrucciones. 13.0 INSTRUCCIONES DE TRANSFERENCIA DE DATOS (14): Este tipo de instrucciones se usan para transferir datos entre registros, memoria y puertos de entrada y de salida. ! IN ------------------------- Entrada de byte o palabra. ! LAHF -------------------- Cargar AH con las banderas. ! LDS ---------------------- Cargar puntero usando DS ! LEA ---------------------- Cargar dirección efectiva. ! LES ---------------------- Cargar puntero usando ES. ! MOV --------------------- Mover. ! OUT---------------------- Salida de byte o palabra ! POP---------------------- Recuperar palabra de pila. ! POPF -------------------- Recuperar banderas de pila. ! PUSH-------------------- Depositar palabra en pila. ! PUSHF ------------------ Depositar banderas en pila. ! SAHF -------------------- Almacenar AH en banderas. ! XCHG ------------------- Intercambiar dos operandos ! XLAT--------------------- Traducir

Upload: betania-cruz

Post on 06-Nov-2015

10 views

Category:

Documents


4 download

DESCRIPTION

set de instrucciones de assemble 8086, adicionalmente se explica como se implementan. una ayuda simple,instrucciones dificiles de encontrar, banderas.

TRANSCRIPT

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 1/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13-JUEGO DE INSTRUCCIONES DEL 8086

    El microprocesador 8086 posee 92 instrucciones diferentes que las

    dividiremos en 7 grupos:

    ! Instrucciones de transferencia de datos.................... 14

    ! Instrucciones aritmticas........................................... 20

    ! Instrucciones de manejo de bits................................ 12

    ! Instrucciones de transferencia de control.................. 23

    ! Instrucciones de manejo de cadenas........................ 8

    ! Instrucciones de interrupcin .................................... 3

    ! Instrucciones de control del procesador.................... 12" Algunas instrucciones poseen nombres alternativos, superando as las 92

    instrucciones.

    13.0 INSTRUCCIONES DE TRANSFERENCIA DE DATOS (14):Este tipo de instrucciones se usan para transferir datos entre

    registros, memoria y puertos de entrada y de salida.

    ! IN ------------------------- Entrada de byte o palabra.

    ! LAHF -------------------- Cargar AH con las banderas.

    ! LDS ---------------------- Cargar puntero usando DS

    ! LEA ---------------------- Cargar direccin efectiva.

    ! LES ---------------------- Cargar puntero usando ES.

    ! MOV --------------------- Mover.

    ! OUT---------------------- Salida de byte o palabra

    ! POP---------------------- Recuperar palabra de pila.

    ! POPF-------------------- Recuperar banderas de pila.

    ! PUSH-------------------- Depositar palabra en pila.

    ! PUSHF------------------ Depositar banderas en pila.

    ! SAHF -------------------- Almacenar AH en banderas.

    ! XCHG ------------------- Intercambiar dos operandos

    ! XLAT--------------------- Traducir

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 2/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.1 INSTRUCCIONES ARITMTICAS (20):Este tipo de instrucciones se usan para realizar operaciones aritmticas

    entre nmeros binarios o en BCD.

    ! AAA ---------------------- Ajuste ASCII de suma.

    ! AAD---------------------- Ajuste ASCII de divisin.

    ! AAM---------------------- Ajuste ASCII de multiplicacin.

    ! AAS ---------------------- Ajuste ASCII de resta.

    ! ADC---------------------- Sumar con acarreo.

    ! ADD---------------------- Sumar sin acarreo.

    ! CBW --------------------- Convertir byte en palabra.

    ! CMP --------------------- Comparar operandos.

    ! CWD--------------------- Convertir palabra a doble palabra.

    ! DAA ---------------------- Ajuste decimal en suma.

    ! DAS ---------------------- Ajuste decimal en resta.

    ! DEC---------------------- Decrementar destino en uno.

    ! DIV ----------------------- Dividir sin signo.

    ! IDIV ---------------------- Dividir con signo.

    ! IMUL --------------------- Multiplicar con signo.

    ! INC ----------------------- Incrementar destino en uno.

    ! MUL---------------------- Multiplicar con signo.

    ! NEG---------------------- Negar/Formar complemento A2.

    ! SBB ---------------------- Restar con acarreo.

    ! SUB ---------------------- Restar sin acarreo.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 3/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.2 INSTRUCCIONES DE MANEJO DE BITS (12):Este tipo de instrucciones se usan para realizar operaciones de

    desplazamiento, rotacin y lgicas sobre registros o posiciones de memoria.

    ! AND---------------------- Y lgico.

    ! NOT---------------------- No lgico.

    ! OR------------------------ O lgico.

    ! RCL ---------------------- Rotar a la izquierda a travs de acarreo.

    ! RCR---------------------- Rotar a la derecha a travs de acarreo.

    ! ROL ---------------------- Rotar a la izquierda.

    ! ROR --------------------- Rotar a la derecha.

    ! SAL ---------------------- Desplazamiento aritmtico a la izquierda.

    ! SAR---------------------- Desplazamiento aritmtico a la derecha.

    ! SHL ---------------------- Desplazamiento lgico a la izquierda (igual a

    SAL).

    ! SHR---------------------- Desplazamiento lgico a la derecha.

    ! TEST -------------------- Test/comparacin lgica de dos operandos

    ! XOR---------------------- O lgico exclusivo

    13.3 INSTRUCCIONES DE TRANSFERENCIA DE CONTROL (23):Este tipo de instrucciones se usan para controlar la secuencia en la que

    se ejecutan las sentencias de un programa.

    ! CALL--------------------- Llamar a un procedimiento.

    ! JA------------------------- Bifurcar si superior.

    ! JAE----------------------- Bifurcar si superior o igual.

    ! JB------------------------- Bifurcar si inferior.

    ! JBE----------------------- Bifurcar si inferior o igual.

    ! JC ------------------------ Bifurcar si acarreo (igual a JB).

    ! JCXZ--------------------- Bifurcar si CX es cero.

    ! JE------------------------- Bifurcar si igual.

    ! JG ------------------------ Bifurcar si mayor.

    ! JGE ---------------------- Bifurcar si mayor o igual.

    ! JL ------------------------- Bifurcar si menor.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 4/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    ! JLE ----------------------- Bifurcar si menor o igual.

    " JNA------------------ Bifurcar si no superior (igual a JBE).

    " JNAE---------------- Bifurcar si no superior ni igual (igual a JB).

    " JNB------------------ Bifurcar si no inferior (igual a JAE).

    " JNBE---------------- Bifurcar si no inferior ni igual (igual a JA).

    " JNC------------------ Bifurcar si no acarreo (igual a JAE)

    ! JNE ---------------------- Bifurcar si no igual.

    " JNG------------------ Bifurcar si no mayor (igual a JLE)

    " JNGE---------------- Bifurcar si no mayor ni igual (igual a JL)

    " JNL ------------------ Bifurcar si no menor (igual a JGE)

    " JNLE ---------------- Bifurcar si no menor ni igual (igual a JG)

    ! JNO ---------------------- Bifurcar si no desbordamiento (overflow)

    ! JNP ---------------------- Bifurcar si no paridad.

    ! JNS ---------------------- Bifurcar si no signo/si positivo.

    " JNZ ------------------ Bifurcar si no cero (igual a JNE).

    ! JMP ---------------------- Bifurcar incondicionalmente

    ! JO ------------------------ Bifurcar si desbordamiento (overflow)

    ! JP------------------------- Bifurcar si paridad.

    " JPE ------------------ Bifurcar si paridad par (igual a JP)

    " JPO------------------ Bifurcar si paridad impar(igual a JNP)

    ! JS------------------------- Bifurcar si signo

    " JZ -------------------- Bifurcar si igual a cero (igual a JE)

    ! LOOP-------------------- Bucle hasta que se acabe el contador.

    ! LOOPE------------------ Bucle mientras igual

    ! LOOPNE---------------- Bucle mientras no igual.

    " LOOPNZ ----------- Bucle mientras no cero (igual a LOOPNE)

    " LOOPZ ------------- Bucle mientras cero (igual a LOOPE)

    ! RET ---------------------- Retornar de un procedimiento

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 5/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.4 INSTRUCCIONES DE MANEJO DE CADENAS (8):Este tipo de instrucciones se usan para realizar operaciones sobre series

    de bytes o de palabras.

    ! CMPS ------------------- Comparar cadenas de bytes o palabras.

    " CMPSB------------- Comparar cadenas de bytes

    " CMPSW ------------ Comparar cadenas de palabras

    ! LODS-------------------- Cargar cadenas de bytes o palabras

    " LODSB ------------- Cargar cadenas de bytes

    " LODSW ------------ Cargar cadenas de palabras

    ! MOVS ------------------- Mover cadenas de bytes o de palabras

    " MOVSB------------- Mover cadenas de bytes

    " MOVSW------------ Mover cadenas de palabras

    ! REP ---------------------- Repetir operacin de cadena

    ! REPE-------------------- Repetir operacin de cadena mientras igual

    ! REPNE------------------ Repetir operacin de cadena mientras no

    igual

    " REPNZ ------------- Repetir operacin de cadena mientras no

    cero

    " REPZ---------------- Repetir operacin de cadena mientras cero

    ! SCAS-------------------- Explorar cadena de bytes o palabras

    " SCASB ------------- Explorar cadena de bytes

    " SCASW ------------ Explorar cadena de palabras

    ! STOS-------------------- Almacenar cadena de bytes o palabras

    " STOSB ------------- Almacenar cadena de bytes

    " STOSW ------------ Almacenar cadena de palabras.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 6/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.5 INSTRUCCIONES DE INTERRUPCIN (3):Este tipo de instrucciones se usan para ordenar al microprocesador la

    realizacin de un servicio determinado

    ! INT ----------------------- Interrupcin

    ! INTO--------------------- Interrupcin si desbordamiento (overflow).

    ! IRET --------------------- Retorno de interrupcin.

    13.6 INSTRUCCIONES DE CONTROL DELMICROPROCESADOR (12):

    Este tipo de instrucciones se usan para cambiar el estado de las

    banderas y el estado de ejecucin del microprocesador

    ! CLC ---------------------- Borrar bandera de acarreo.

    ! CLD ---------------------- Borrar bandera de direccin.

    ! CLI ----------------------- Borrar bandera de interrupcin.

    ! CMC --------------------- Complementar bandera de acarreo.

    ! ESC---------------------- Escape(transmitir informacin a un

    coprocesador)

    ! HLT ---------------------- Parar el procesador.

    ! LOCK-------------------- Bloquear el bus.

    ! NOP---------------------- No operacin.

    ! STC ---------------------- Poner bandera de acarreo

    ! STD ---------------------- Poner bandera de direccin.

    ! STI ----------------------- Poner bandera de permitir interrupciones.

    ! WAIT--------------------- Esperar que acabe un coprocesador.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 7/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7 DESCRIPCIN DE INSTRUCCIONES:13.7.1 INTRUCCIONES DE TRANSFERENCIA DE DATOS (14):

    Mueven informacin entre registros y elementos de memoria o puertos

    de E/S. Se dividen en 4 categoras:

    " De propsito general (5)

    " MOV

    " PUSH

    " POP

    " XCHG

    " XLAT

    " De entrada/Salida (2)

    " IN

    " OUT

    " De transferencia de direcciones(3)

    " LEA

    " LDS

    " LES

    " De transferencia de banderas (4)

    " LAHF

    " POPF

    " PUSHF

    " SAHF

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 8/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.1 Instruccin MOV:A-. Formato: MOV destino,FuenteB-. Descripcin: Transfiere un byte o una palabra desde el operando fuente aldestino, quedando el operando fuente inalterado, tanto la fuente como el

    destino deben de tener el mismo tamao (byte o palabra)

    " El destino puede ser un registro o un elemento de memoria.

    " La fuente puede ser un registro, elemento de memoria o valor inmediato.

    " Ambos tipos deben ser byte o palabra.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" No se pueden mover datos entre dos elementos de memoria, hay

    que emplear un registro intermedio.

    " No se puede mover una valor inmediato a un registro de segmento.

    " No se puede usar CS como destino

    E-. Ejemplo:" MOV AX, BXTransfiere el contenido de BX a AX

    " MOV AL,CH--- Transfiere el contenido de CH a AL

    " MOV CX,1024h--- Carga el registro CX con el valor inmediato 1024h

    " MOV DS,BX --- Mover registro BX al registro de segmento DS

    " MOV AX,DS:[0001h] --- Mover dato del segmento de datos con offset

    1 al acumulador

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 9/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    F-. Observaciones:Los movimientos permitidos son las siguientes:

    " De registro a registro.

    " De registro a memoria.

    " De registro a segmento

    " De memoria a registro.

    " De memoria a segmento

    " De segmento a memoria

    " De segmento a registro.

    " Valor inmediato a registro

    " Valor inmediato a memoria

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 10/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.2 Instruccin PUSH:A-. Formato: PUSH FuenteB-. Descripcin: Decrementa SP en 2 y almacena el registro, segmento oposicin de memoria de 16 bits indicado en la fuente

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" No se puede especificar CS como fuente.

    " Ver instruccin POP (Apartado 13.7.1.3)

    E-. Ejemplo:" PUSH AX---Almacena el contenido de AX en la pila

    " PUSH DS--- Almacena el contenido de DS en la pila

    " PUSH DS:[0064h]---Almacena el contenido de DS:0064 en la pila

    " PUSH DATO1--- Almacena el DATO1 definido como DW en DS en la

    pila.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 11/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.3 Instruccin POP:A-. Formato: POP DestinoB-. Descripcin: Transfiere la palabra de la pila a la que apunta SP aloperando destino y decrementa SP en 2 unidades

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" No se puede especificar CS como destino.

    " Ver instruccin PUSH (Apartado 13.7.1.2)

    E-. Ejemplo:" PUSH AX---Mueve dato de la pila a AX

    " PUSH DS--- Mueve dato de la pila a DS

    " PUSH DS:[0064h]--- Mueve dato de la pila a DS:[0064h]

    " PUSH DATO1--- Mueve dato de la pila a la posicin de DS donde

    tena DATO1.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 12/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.4 Instruccin XCHG:A-. Formato: XCHG Destino,FuenteB-. Descripcin: Intercambia el contenido entre dos operandos (byte opalabra)

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" No se puede utilizarse registros de segmento.

    E-. Ejemplo:" XCHG AX,BX-----------Intercambia el contenido de los registros AX y

    BX

    " XCHG BL,CL--- Intercambia el contenido de los registros AL y BL

    " XCHG AL,DS:[0064h]--- Intercambia el contenido del registro AL con

    el contenido de la posicin de memoria DS:0064h

    " XCHG DS:[0064h],AX--- Intercambia el contenido del registro AX con

    el contenido de la posicin de memoria DS:0064h y DS:0065.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 13/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.5 Instruccin XLAT:A-. Formato: XLAT Tabla_fuenteB-. Descripcin:Recoge de una tabla de bytes el correspondiente a un ndiceque se le indica en el parmetro

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" El valor de AL se usa como ndice (offset)sobre la tabla

    " El valor correspondiente se carga sobre AL.

    " El registro BX apunta al comienzo de la tabla

    " La longitud mxima de la tabla es de 256 bytes.

    " El primer byte de la tabla tiene desplazamiento 0

    " La tabla debe de ser de tipo Byte.

    E-. Ejemplo:

    Tabla db 12h,13h,14h,15h,16h

    Mov BX, offset tabla

    Mov AL, 4

    Xlat Tabla

    Con esta secuencia de instrucciones cargaremos en AL el byte que ocupa la

    cuarta posicin en la tabla es decir el 16H, ya que empezamos a numerar por

    el cero

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 14/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.6 Instruccin IN:A-. Formato: IN byte o palabraB-. Descripcin:Recoge de un byte de un puerto de entrada y lo deposita enAL, o recoge una palabra de un puerto de entrada y lo deposita en AX

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" El puerto de entrada se especifica mediante su nmero de acceso,

    esta especificacin se puede hacer de dos formas:

    " Un valor fijo entre 0h y 255h.

    " Valor entre 0 y 65535 contenido en DX

    E-. Ejemplo:

    " IN AX,12h

    " IN AL,12h

    " IN AX,DX

    " IN AL,DX

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 15/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.7 Instruccin OUT:A-. Formato: OUT Puerto,AcumuladorB-. Descripcin: Deposita un byte en un puerto de salida recogido de AL, odeposita una palabra en un puerto de salida recogido de AX

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" El puerto de salida se especifica mediante su nmero de acceso,

    esta especificacin se puede hacer de dos formas:

    " Un valor fijo entre 0h y 255h.

    " Valor entre 0 y 65535 contenido en DX

    E-. Ejemplo:

    " OUT 12h,AX

    " OUT 12h,AL

    " OUT DX,AX

    " OUT DX,AL

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 16/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.8 Instruccin LEA:A-. Formato: LEA destino, fuenteB-. Descripcin:Transfiere el desplazamiento del operando fuente al operandodestino

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" El operando fuente debe de ser una posicin de memoria (byte o

    palabra)

    " El operando destino debe ser un registro de 16 bits pero nunca un

    registro de segmento.

    E-. Ejemplo:" LEA AX,DATO ---Es anlogo a hacer MOV AX, offset DATO

    13.7.1.9 Instruccin LAHF:A-. Formato: LAHFB-. Descripcin:Copia las banderas SF, ZF, AF, PF, CF en los bits 7, 6, 4, 2, 0del registro AH, el resto de bits queda indefinido

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Ejemplo:" LAHF

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 17/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.10 Instruccin SAHF:A-. Formato: SAHFB-. Descripcin:Transfiere bits desde AH al registro de flags:

    " SF = Bit 7

    " ZF = Bit 6

    " AF = Bit 4

    " PF = Bit 2

    " CF = Bit 0

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Ejemplo:" SAHF

    13.7.1.11 Instruccin PUSHF:A-. Formato: PUSHFB-. Descripcin:Transfiere el registro de banderas a la pila y decrementa SPen 2 unidades:

    " OF = Bit 11

    " DF = Bit 10

    " IF = Bit 9

    " TF = Bit 8

    " SG = Bit 7

    " ZF = Bit 6

    " AF = Bit 4

    " PF = Bit 2

    " CF = Bit 0

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Ejemplo:" PUSHF

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 18/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.1.12 Instruccin POPF:A-. Formato: POPFB-. Descripcin:Transfiere el registro de banderas de la pila al registro debanderas y incrementa SP en 2 unidades:

    " OF = Bit 11

    " DF = Bit 10

    " IF = Bit 9

    " TF = Bit 8

    " SG = Bit 7

    " ZF = Bit 6

    " AF = Bit 4

    " PF = Bit 2

    " CF = Bit 0

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Ejemplo:" POPF

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 19/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2 INTRUCCIONES ARITMTICAS (20):Este tipo de operaciones se usan para realizar operaciones aritmticas

    entre nmeros binarios (con o sin signo) o en BCD (empaquetados o no).

    13.7.2.1 Instruccin ADD (Sumar):A-. Formato: ADD destino,fuenteB-. Descripcin:Suma el operando fuente mas el operando destino yalmacena el resultado en el operando destino. Los operando fuente y destino

    deben de ser del mismo tamao, (byte o palabra)

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X X

    D-. Observaciones:" Los operandos pueden ser valores inmediatos (no el destino), posiciones de

    memoria, registros...

    13.7.2.2 Instruccin ADC (Sumar con acarreo):A-. Formato: ADC destino,fuenteB-. Descripcin:Suma el operando fuente mas el operando destino yalmacena el resultado en el operando destino, al resultado le suma una unidad

    en el caso de que estuviera activada la bandera CF

    Los operando fuente y destino deben de ser del mismo tamao, (byte o

    palabra)

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X X

    D-. Observaciones:" Los operandos pueden ser valores inmediatos (no el destino), posiciones de

    memoria, registros...

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 20/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.3 Instruccin SUB (Restar sin acarreo):A-. Formato: SUB destino,fuenteB-. Descripcin:Resta el operando fuente del operando destino y almacena elresultado en el operando destino.

    Los operando fuente y destino deben de ser del mismo tamao, (byte o

    palabra)

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X X

    D-. Observaciones:Los operandos pueden ser valores inmediatos (no el destino), posiciones de

    memoria, registros...

    13.7.2.4 Instruccin SBB (Restar con acarreo):A-. Formato: SBB destino,fuenteB-. Descripcin:Resta el operando fuente del operando destino y almacena elresultado en el operando destino, al resultado le resta una unidad en el caso de

    que estuviera activada la bandera CF

    Los operando fuente y destino deben de ser del mismo tamao, (byte o

    palabra)

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X X

    D-. Observaciones:" Los operandos pueden ser valores inmediatos (no el destino), posiciones de

    memoria, registros...

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 21/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.5 Instruccin MUL (Multiplicar sin signo):

    A-. Formato: MUL fuenteB-. Descripcin:Podemos trabajar con byte o con palabra en el operandofuente:

    " Si trabajamos con byte: Esta instruccin multiplicar sin considerar el signo

    el contenido de AL por el operando fuente, el resultado de la operacin se

    almacenar en AX

    " Si trabajamos con palabra: Esta instruccin multiplicar sin considerar el

    signo el contenido de AX por el operando fuente, el resultado de la

    operacin se almacenar en AX y DX

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- ? ? ? ? X

    D-. Observaciones:" Si la mitad superior del resultado (AH en el caso de byte DX en el caso de

    palabra) no es cero, se activan las banderas CF y OF.

    " El operando fuente puede ser un registro o una posicin de memoria.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 22/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.6 Instruccin IMUL (Multiplicar con signo):

    A-. Formato: IMUL fuenteB-. Descripcin:Multiplica teniendo en cuenta el signo AL * fuente AX *fuente dependiendo de si estamos trabajando con bytes o con palabras.

    Si el operando fuente es de tipo palabra el resultado se almacena en DX

    AX

    Si el operando fuente es de tipo byte el resultado se almacena en AX

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- ? ? ? ? X

    D-. Observaciones:" Si la mitad superior del resultado (AH para el caso de byte DX para el

    caso de palabra no es la expansin del signo del resultado, se activan las

    banderas CF y OF indicando que esta mitad superior contiene dgitos

    significativos del resultado.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 23/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.7 Instruccin DIV (Dividir sin signo):

    A-. Formato: DIV fuenteB-. Descripcin:Podemos trabajar con byte o con palabra en el operandofuente:

    " Si trabajamos con byte: Esta instruccin dividir sin considerar el signo el

    contenido de AX entre el operando fuente, el resultado de la operacin se

    almacenar en AL y el resto se almacenar en AH

    " Si trabajamos con palabra: Esta instruccin dividir sin considerar el signo

    el contenido de DX AX entre el operando fuente, el resultado de la

    operacin se almacenar en AX y el resto se almacenar en DX

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF? ---- ---- ---- ? ? ? ? ?

    D-. Observaciones:" Si el cociente es mayor que el valor mximo que puede almacenarse (FFh o

    FFFFh), entonces el cociente y el resto quedan indefinidos generndose

    una interrupcin de tipo 0.

    " Si la mitad superior del resultado (AH en el caso de byte DX en el caso de

    palabra) no es cero, se activan las banderas CF y OF.

    E-. Ejemplo:" mov AX,0049h

    " mov BL,3h

    " div BL

    " Con este ejemplo estamos dividiendo 2 bytes, el resultado de 49h/3h es

    18h que queda en AL y el resto es 1h que queda en AH.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 24/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.8 Instruccin IDIV (Dividir con signo):

    A-. Formato: IDIV fuenteB-. Descripcin:Podemos trabajar con byte o con palabra en el operandofuente:

    " Si trabajamos con byte: Esta instruccin dividir sin considerar el signo el

    contenido de AX entre el operando fuente, el resultado de la operacin se

    almacenar en AL y el resto se almacenar en AH

    " Si trabajamos con palabra: Esta instruccin dividir sin considerar el signo

    el contenido de DX AX entre el operando fuente, el resultado de la

    operacin se almacenar en AX y el resto se almacenar en DX

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF? ---- ---- ---- ? ? ? ? ?

    D-. Observaciones:" Si el cociente es positivo y superior al valor mximo que puede almacenarse

    (7Fh 7FFFh) o si el cociente es negativo e inferior al valor mnimo que

    puede almacenarse (81h 8001h) entonces el cociente y el resto quedan

    indefinidos generndose una interrupcin de tipo 0.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 25/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.9 Instruccin AAA:A-. Formato: AAAB-. Descripcin:Corrige el resultado en AL de la suma de dos nmerosdecimales desempaquetados, convirtindolo en un valor decimal

    desempaquetado.

    Es decir, si el valor decimal desempaquetado de AL es mayor que 9, o si

    se activa el flag AF indicando que existe acarreo entre los bits 3 y 4 de AL, se

    le sumar 6 a AL y se aumentar AH en una unidad, el bit de la bandera AF se

    pone a 1, CF=AF, y AL coloca sus 4 bits ms significativos a 0.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF? ---- ---- ---- ? ? X ? X

    D-. Ejemplo:" ADD AL,CL

    " AAA

    13.7.2.10 Instruccin AAS:A-. Formato: AASB-. Descripcin:Corrige el resultado en AL de una resta de dos nmerosdecimales desempaquetados, convirtindolo en un valor decimal

    desempaquetado.

    Es decir, si el valor decimal desempaquetado de AL es mayor que 9, o si

    se activa el flag AF indicando que existe acarreo entre los bits 3 y 4 de AL, se

    le restar 6 a AL y se decrementa AH en una unidad, el bit de la bandera AF se

    pone a 1, CF=AF, y AL coloca sus 4 bits ms significativos a 0.

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CF? ---- ---- ---- ? ? X ? X

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 26/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.11 Instruccin AAM:A-. Formato: AAMB-. Descripcin:Corrige el resultado en AX del producto de dos nmerosdecimales desempaquetados, convirtindolo en un valor decimal

    desempaquetado.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF? ---- ---- ---- X X ? X ?

    E-. Ejemplo:" AAM

    13.7.2.12 Instruccin AAD:A-. Formato: AADB-. Descripcin:Realiza un ajuste del dividendo AL antes de dividir dosnmeros decimales desempaquetados para que el cociente sea un nmero

    decimal desempaquetado.

    C-. Observaciones:" Esta instruccin es necesaria antes de realizar divisiones.

    " Ver la instruccin DIV.

    D-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF? ---- ---- ---- X X ? X ?

    E-. Ejemplo:" AAD

    " DIV BL

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 27/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.13 Instruccin DAA (Ajuste decimal en suma):A-. Formato: DAAB-. Descripcin:Corrige el resultado en AL de la suma de dos nmerosdecimales empaquetados, convirtindolo en un valor decimal empaquetado.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF? ---- ---- ---- X X X X X

    D-. Ejemplo:" ADD AL,CL

    " DAA

    13.7.2.14 Instruccin DAS (Ajuste decimal en resta):A-. Formato: DASB-. Descripcin:Corrige el resultado en AL de la resta de dos nmerosdecimales empaquetados, convirtindolo en un valor decimal empaquetado.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF? ---- ---- ---- X X X X X

    D-. Ejemplo:" SUB AL,CL

    " DAS

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 28/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.15 Instruccin CBW (Convertir byte en palabra):A-. Formato: CBW

    B-. Descripcin:Copia el bit 7 del registro AL en todos los bits del registro AH

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

    D-. Observaciones:" Lo que hace esta instruccin, tambin se puede entender como la extensin

    del bit de signo de AL a AX, para el paso de operaciones de 8 a 16 bits.

    13.7.2.16 Instruccin CBD (Convertir palabra en doble palabra):A-. Formato: CBDB-. Descripcin:Expande el bit de signo del registro AX (bit 15) sobre elregistro DX

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF---- ---- ---- ---- ---- ---- ---- ---- ----

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 29/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.17 Instruccin CMP (Comparar dos operandos):A-. Formato: CMP destino,fuenteB-. Descripcin:Resta el operando fuente del operando destino pero nodevuelve el resultado, los operando no se modifican pero si las banderas.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X X

    D-. Observaciones:" Los operandos pueden ser del tipo byte o palabra, pero ambos del mismo

    tipo.

    " Se pueden comparar registros entre si, registros con valores inmediatos,

    registros con posiciones de memoria y posiciones de memoria con datos

    inmediatos.

    13.7.2.18 Instruccin INC (Incrementar destino en uno):

    A-. Formato: INC destinoB-. Descripcin:Suma una unidad al operando destino, este operando destinopuede ser un byte o una palabra especificado bien como registro o como

    posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X ---

    D-. Ejemplo:INC AX

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 30/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.2.19 Instruccin DEC (Decrementar destino en uno):

    A-. Formato: DEC destinoB-. Descripcin:Resta una unidad al operando destino, este operando destinopuede ser un byte o una palabra especificado bien como registro o como

    posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X ?

    D-. Ejemplo:" DEC AX

    13.7.2.20 Instruccin NEG (Negar/complemento A2):

    A-. Formato: NEG destinoB-. Descripcin:Calcula el complemento A2 del operando fuente que puedeser byte o palabra de registros o posiciones de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X X X X

    D-. Ejemplo:" NEG AX

    " NEG BL

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 31/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.3 INTRUCCIONES DE MANEJO DE BITS (12): Este tipo deinstrucciones se utilizan para realizar operaciones de desplazamiento, rotaciny lgicas.

    13.7.3.1 Instruccin AND (Y lgico):A-. Formato: AND destino,fuenteB-. Descripcin:Realiza la operacin Y lgica entre el operando fuente y eloperando destino, el resultado de dicha operacin queda en el operando

    destino

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF0 ---- ---- ---- X X ? X 0

    13.7.3.2 Instruccin OR (O lgico):A-. Formato: OR destino,fuenteB-. Descripcin:Realiza la operacin O lgica entre el operando fuente y eloperando destino, el resultado de dicha operacin queda en el operando

    destino

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF0 ---- ---- ---- X X ? X 0

    13.7.3.3 Instruccin NOT (NO lgico):A-. Formato: NOT destinoB-. Descripcin:Cambia los unos por ceros y los ceros por unos del operandodestino, deja en el operando destino el resultado de dicha operacin.

    C-. Banderas implicadas:

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 32/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.3.4 Instruccin XOR (O lgico exclusivo):A-. Formato: XOR destino,fuenteB-. Descripcin:Realiza la operacin O lgica exclusiva entre el operandofuente y el operando destino, el resultado de dicha operacin queda en el

    operando destino

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF0 ---- ---- ---- X X ? X 0

    13.7.3.5 Instruccin TEST (Test/comparacin lgica):A-. Formato: TEST destino,fuenteB-. Descripcin:Esta operacin es igual a la Y lgica pero sin guardar elresultado en el operando destino, pero afecta al estado de las banderas como

    la funcin Y lgica

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF0 ---- ---- ---- X X ? X 0

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 33/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.3.6 Instrucciones SAL/SHL (Desplazamiento aritmtico a laIzda (SAL)/ Desplazamiento lgico a la izda (SHL)):A-. Formato: SAL destino,contador

    SHL destino,contador

    B-. Descripcin:Ambas instrucciones realizan la misma operacin, desplazana la izquierda los bits del operando destino el nmero de bits especificado por

    el segundo operando. Si queremos desplazar una sola posicin podemos usar

    directamente el valor inmediato 1 como segundo operando, para valores

    mayores de 1, deberemos colocar como segundo operando el registro CL

    previamente cargado con el valor deseado.

    Los bits de la derecha se rellenan con 0.

    El operando fuente puede ser un registro o una posicin de memoria.

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X ? X X

    13.7.3.7 Instrucciones SAR (Desplazamiento aritmtico a ladcha.):A-. Formato: SAR destino,contadorB-. Descripcin:Desplazan a la izquierda los bits del operando destino elnmero de bits especificado por el segundo operando. Si queremos desplazar

    una sola posicin podemos usar directamente el valor inmediato 1 como

    segundo operando, para valores mayores de 1, deberemos colocar como

    segundo operando el registro CL previamente cargado con el valor deseado.

    Los bits de la derecha se rellenan con el bit de signo del primer operando. El

    operando fuente puede ser un registro o una posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X ? X X

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 34/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.3.8 Instrucciones SHR (Desplazamiento lgico a la dcha.):A-. Formato: SHR destino,contadorB-. Descripcin:Desplazan a la izquierda los bits del operando destino elnmero de bits especificado por el segundo operando. Si queremos desplazar

    una sola posicin podemos usar directamente el valor inmediato 1 como

    segundo operando, para valores mayores de 1, deberemos colocar como

    segundo operando el registro CL previamente cargado con el valor deseado.

    Los bits de la derecha se rellenan con 0.

    El operando fuente puede ser un registro o una posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- X X ? X X

    13.7.3.9 Instrucciones RCL (Rotar a la Izda a travs de acarreo):A-. Formato: RCL destino,contadorB-. Descripcin:Rotar a la Izda los bits del operando destino junto con labandera CF el nmero de bits especificado en el segundo operando. Si

    queremos desplazar una sola posicin podemos usar directamente el valor

    inmediato 1 como segundo operando, para valores mayores de 1, deberemos

    colocar como segundo operando el registro CL previamente cargado con el

    valor deseado.

    Los bits de la derecha se rellenan con el bit CF

    El operando fuente puede ser un registro o una posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- --- --- --- --- X

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 35/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.3.10 Instrucciones RCR (Rotar a la dcha. a travs deacarreo):A-. Formato: RCR destino,contadorB-. Descripcin:Rotar a la dcha. los bits del operando destino junto con labandera CF el nmero de bits especificado en el segundo operando. Si

    queremos desplazar una sola posicin podemos usar directamente el valor

    inmediato 1 como segundo operando, para valores mayores de 1, deberemos

    colocar como segundo operando el registro CL previamente cargado con el

    valor deseado.

    Los bits de la izquierda se rellenan con el bit CF

    El operando fuente puede ser un registro o una posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- --- --- --- --- X

    13.7.3.11 Instrucciones ROL (Rotar a la Izda):A-. Formato: ROL destino,contadorB-. Descripcin:Rotar a la Izda los bits del operando destino el nmero de bitsespecificado en el segundo operando. Si queremos desplazar una sola posicin

    podemos usar directamente el valor inmediato 1 como segundo operando, para

    valores mayores de 1, deberemos colocar como segundo operando el registro

    CL previamente cargado con el valor deseado.

    Los bits de la derecha se rellenan con el valor previo del bit 15 del

    operando destino

    El operando fuente puede ser un registro o una posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- --- --- --- --- X

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 36/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.3.12 Instrucciones ROR (Rotar a la dcha.):A-. Formato: ROR destino,contadorB-. Descripcin:Rotar a la dcha. los bits del operando destino el nmero debits especificado en el segundo operando. Si queremos desplazar una sola

    posicin podemos usar directamente el valor inmediato 1 como segundo

    operando, para valores mayores de 1, deberemos colocar como segundo

    operando el registro CL previamente cargado con el valor deseado.

    Los bits de la izquierda se rellenan con el valor previo del bit 15 del

    operando destino

    El operando fuente puede ser un registro o una posicin de memoria.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CFX ---- ---- ---- --- --- --- --- X

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 37/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.3.13 Resumen de rotaciones y desplazamientos: Desplazamientos

    Rotacin

    Rotacin a travs de acarreo

    CF

    CF

    CF

    SAL/SHL

    SAR

    SHR

    0

    0

    Desplazamiento lgico oaritmtico a la izquierda

    Desplazamiento aritmtico a la derecha

    Desplazamiento aritmtico a la iIzquierda

    CF

    CF

    ROL

    ROR

    Rotacin a la Izquierda

    Rotacin a la derecha

    CF

    CF

    RCL

    RCR

    Rotacin a la Izquierdaa travs del acarreo

    Rotacin a la derechaa travs del acarreo

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 38/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4 INTRUCCIONES DE TRANSFERENCIA DE CONTROL(23): Este tipo de instrucciones se utilizan para controlar la secuencia en laque se ejecutan las instrucciones del programa.

    13.7.4.1 Instrucciones JMP (Salto incondicional):A-. Formato: JMP direccinB-. Descripcin:Transfiere la ejecucin del programa incondicionalmente a ladireccin indicada en el operando

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    D-. Observaciones:

    La bifurcacin puede ser:

    Dentro del mismo segmento

    A diferente segmento

    La bifurcacin puede ser:

    Directa, especificando la etiqueta

    Indirecta, especificando una direccin

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 39/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    E-. Ejemplos

    Ejemplo 1

    CODIGO SEGMENT PARA

    ASSUME CS:CODIGO,DS:DATOS,SS:PILA

    ejemplo PROC FAR

    mov AX,0049h

    pepe 1 add ax,0001h

    jmp pepe1NEG BL

    ejemplo ENDP

    CODIGO ENDS

    En este ejemplo cargaremos AX con el valor 0049h (mov ax,0049h), le

    sumaremos una unidad (add AX,0001h) y en la siguiente instruccin (jmp

    pepe1) realizamos un salto incondicional a la etiqueta pepe1, por lo que

    volveramos a la instruccin (add AX,0001h). Este salto sera dentro del

    mismo segmento.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 40/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    Ejemplo 2

    CODIGO SEGMENT PARA

    ASSUME CS:CODIGO,DS:DATOS,SS:PILA

    ejemplo PROC FAR

    mov BX,0006h

    mov AX,0049h

    eti1: add ax,0001h

    jmp eti2

    NEG BL

    ejemplo ENDP

    ejem3 proc far

    eti2: add AX,0001h

    jmp eti1

    ejem3 endp

    CODIGO ENDS

    Este ejemplo es anlogo al anterior, la nica diferencia es que los saltos se

    hacen entre procedimientos diferentes pero dentro del mismo segmento

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 41/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    Ejemplo3

    CODIGO SEGMENT PARA

    ASSUME CS:CODIGO,DS:DATOS,SS:PILA

    ejemplo PROC FAR

    mov BX,0006h

    mov AX,0049h

    eti1: add ax,0001h

    jmp far ptr eti2

    NEG BL

    CODIGO ENDS

    COD2 SEGMENT PARA

    ASSUME CS:COD2,DS:DATOS,SS:PILA

    ejemplo ENDP

    ejem3 proc far

    eti2: add AX,0001h

    jmp far ptr eti1

    ejem3 endp

    COD2 ENDS

    En este ejemplo los saltos se hacen entre diferentes segmentos, por ello

    colocamos far ptr

    Los saltos pueden ir dirigidos a etiquetas como son los ejemplos vistos, o a

    valores de variables o registros:

    MOV BX,0006h

    JMP BX

    Pepe1 DW 0006h

    JMP Pepe1

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 42/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.2 Instruccin CALL (Llamada a un procedimiento):A-. Formato: CALL destinoB-. Descripcin:Bifurca la ejecucin del programa a otro procedimiento,salvando previamente la direccin de la instruccin siguiente al Call en la pila

    para poder volver a dicha instruccin una vez finalizada la ejecucin del

    procedimiento al que me ha llevado call.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    D-. Observaciones:

    La instruccin call puede referirse a procedimientos dentro del mismo

    segmento, en este caso dichos procedimientos deben estar definidos

    como NEAR. En este caso en la pila se almacenar el

    desplazamiento de la siguiente instruccin.

    La instruccin call puede referirse a procedimientos dentro del otro

    segmento, en este caso dichos procedimientos deben estar definidos

    como FAR. En este caso en la pila se almacenar el segmento y el

    desplazamiento de la siguiente instruccin en este orden. En este

    caso el segmento donde est el procedimiento destino se debe de

    definir antes del segmento donde tengo la llamada call

    El parmetro destino puede ser tambin variables de tipo word para

    bifurcaciones dentro del mismo segmento o DWORD para

    bifurcaciones a otros segmentos. Tambin puede estar definido en un

    registro de 16 bits.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 43/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    E-. Ejemplo

    COD2 SEGMENT PARA

    ASSUME CS:COD2,DS:DATOS,SS:PILA

    ejem4 proc far

    add AX,0001h

    ret

    ejem4 endp

    COD2 ENDS

    CODIGO SEGMENT PARA

    ASSUME CS:CODIGO,DS:DATOS,SS:PILA

    ejemplo PROC FAR

    mov BX,0006h

    mov AX,0049h

    add ax,0001h

    call ejem3

    call ejem4

    NEG BL

    ejemplo ENDP

    ejem3 proc far

    add AX,0001h

    ret

    ejem3 endp

    CODIGO ENDS

    En el procedimiento ejemplo tenemos dos instrucciones call una a un

    procedimiento near y otro a un procedimiento far.

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 44/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.3 Instruccin RET (Retorno de un procedimiento):A-. Formato: RET [valor]B-. Descripcin:Retorna de un procedimiento, previamente invocado medianteCALL, utilizando como direccin de retorno la direccin salvada en la pila por

    CALL.

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    A partir de ahora y hasta el punto 13.7.4.21 se vern los saltoscondicionales, ver nota vlida para todos ellos en el punto 13.7.4.22.

    13.7.4.4 Instruccin JA/JNBE (JA=Salto si superiorJNBE=Salto si no inferior ni igual):A-. Formato: JA Desplazamiento

    JNBE DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que CF=0 y ZF=0

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.5 Instruccin JAE/JNB (JAE=Salto si superior o igualJNB=Salto si no inferior):A-. Formato: JAE Desplazamiento

    JNB DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que CF=0.

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 45/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.6 Instruccin JB/JNAE/JC (JB=Salto si inferiorJNAE=Salto si no superior ni igual JC=Salto si acarreo):A-. Formato: JAE Desplazamiento

    JNB DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que CF=1.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.7 Instruccin JBE/JNA (JBE=Salto si inferior o igualJNA=Salto si no superior):A-. Formato: JBE Desplazamiento

    JNA DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que CF=1 o ZF=1.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.8 Instruccin JCXZ (JCXZ=Salto si CX es cero):A-. Formato: JCXZ DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que CX=0.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 46/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.9 Instruccin JE/JZ (JE=Salto si igual JZ=Salto si cero):A-. Formato: JE Desplazamiento

    JZ DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que ZF=1.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.10 Instruccin JG/JNLE (JE=Salto si mayor JNLE=Saltosi no menor ni igual):A-. Formato: JG Desplazamiento

    JNLE DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que ZF=0 y SF=OF.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.11 Instruccin JGE/JNL (JGE=Salto si mayor o igualJNL=Salto si no menor):A-. Formato: JGE Desplazamiento

    JNL DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que SF=OF.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 47/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.12 Instruccin JL/JNGE (JL=Salto si menor JNGE=Saltosi no mayor ni igual):A-. Formato: JL Desplazamiento

    JNGE DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que SFOF.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.13 Instruccin JLE/JNG (JLE=Salto si menor o igualJNG=Salto si no mayor):A-. Formato: JLE Desplazamiento

    JNG DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que ZF=1 o SFOF.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.14 Instruccin JNC (JNC=Salto si no acarreo):A-. Formato: JNC Desplazamiento

    B-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que CF=0.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 48/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.15 Instruccin JNE/JNZ (JNE=Salto si no igual JNZ =Salto si no cero):A-. Formato: JNE Desplazamiento

    JNZ DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que ZF=0.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.16 Instruccin JNO (JNO=Salto si no desbordamiento):A-. Formato: JNO DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que OF=0.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.17 Instruccin JNP/JPO (JNP=Salto si no paridadJPO=Salto si paridad impar):A-. Formato: JNP Desplazamiento

    JPO DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que PF=0.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 49/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.18 Instruccin JNS (JNS=Salto si no signo/no positivo):A-. Formato: JNS DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que SF=0.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.19 Instruccin JO (JO=Salto si desbordamiento):A-. Formato: JO DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que OF = 1.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.20 Instruccin JP/JPE (JP=Salto si paridad JPE=Saltosi paridad par):A-. Formato: JP Desplazamiento

    JPE DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que PF = 1.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 50/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.21 Instruccin JS (JS=Salto signo):A-. Formato: JS DesplazamientoB-. Descripcin:Transfiere el control a la direccin indicada en eldesplazamiento cuando se cumple que SF = 1.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.22 Observacin sobre los saltos condicionalesexplicados en los puntos (13.7.4.4 a 13.7.4.21)

    El desplazamiento debe de estar comprendido entre 128 y +127

    bytes de esta instruccin.

    El grupo de instrucciones (JA, JNBE, JAE, JNB, JB, JNAE, JC, JBE,

    JNA) puede parecer anlogo al grupo (JG, JNLE, JGE, JNL, JL,

    JNGE, JLE, JNG, JNEJNZ) con las siguientes observaciones:

    Above (por encima de) y Below (por debajo de) se refieren a

    relaciones entre dos valores sin signo

    Greater (mayor que) y Less (menor que)se refieren a relaciones entre

    dos valores con signo.

    13.7.4.23 Instruccin LOOP (Bucle):A-. Formato: LOOP DesplazamientoB-. Descripcin:Decrementa el registro CX, se ejecutar las instruccionescontenidas en el bucle mientras CX0, cuando CX = 0, se ejecutar la

    instruccin posterior a CX. Es posible meter bucles dentro de bucles.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 51/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.4.24 Instruccin LOOPE/LOOPZ (LOOPE=Bucle si igual,LOOPZ=Bucle si cero):A-. Formato: LOOPE Desplazamiento

    LOOPZ DesplazamientoB-. Descripcin:Decrementa el registro CX, se ejecutar las instruccionescontenidas en el bucle mientras CX0 y ZF=1, cuando CX = 0 ZF=0, se

    ejecutar la instruccin posterior a CX. Es posible meter bucles dentro de

    bucles.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    13.7.4.25 Instruccin LOOPNE/LOOPNZ (LOOPNE=Bucle si noigual, LOOPNZ=Bucle si no cero):A-. Formato: LOOPNE Desplazamiento

    LOOPNZ DesplazamientoB-. Descripcin:Decrementa el registro CX, se ejecutar las instruccionescontenidas en el bucle mientras CX0 y ZF=0, cuando CX = 0 ZF=1, se

    ejecutar la instruccin posterior a CX. Es posible meter bucles dentro de

    bucles.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 52/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.5 INTRUCCIONES DE INTERRUPCIN (3): Este tipo deinstrucciones se utilizan para ordenar al microprocesador la realizacin de un

    servicio determinado.

    13.7.5.1 Instruccin INT:A-. Formato: INT InterrupcinB-. Descripcin:Activa el procedimiento de atencin a la interrupcin indicadaen el operando, salvando previamente el estado de las banderas.

    Para retornar de una interrupcin se usa la instruccin IRET.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    D-. Ejemplo:

    INT 23

    13.7.5.2 Instruccin INTO:A-. Formato: INTOB-. Descripcin:Genera una interrupcin de tipo 4 si existe desbordamiento,es decir si OF=1, en caso contrario se contina la ejecucin con la instruccin

    siguiente sin ejecutar el procedimiento de interrupcin.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    D-. Ejemplo:INTO

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 53/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.5.3 Instruccin IRET:A-. Formato: IRETB-. Descripcin:Retorna del procedimiento de atencin a una interrupcin yrestaura las banderas.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- ---

    D-. Ejemplo:

    IRET

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 54/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.6 INTRUCCIONES DE CONTROL DELMICROPROCESADOR (12): Este tipo de instrucciones se utilizan paracambiar el estado del microprocesador y el estado de las banderas

    13.7.6.1 Instruccin CLC:A-. Formato: CLCB-. Descripcin:Borra la bandera de acarreo (CF=0) sin afectar al resto debanderas

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- ---- ---- ---- --- --- --- --- 0

    D-. Ejemplo:

    CLC

    13.7.6.2 Instruccin CLD:A-. Formato: CLDB-. Descripcin:Borra la bandera de direccin (DF=0) por lo que en lasinstrucciones de manejo de cadenas los registros ndice SI,DI se

    autoincrementan automticamente

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- 0 ---- ---- --- --- --- --- ---

    D-. Ejemplo:

    CLD

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 55/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.6.3 Instruccin CLI:A-. Formato: CLIB-. Descripcin:Borra la bandera de activacin de interrupcin (IF=0) ydesactiva las interrupciones enmascarables

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- 0 ---- ---- --- --- --- --- ---

    D-. Ejemplo:

    CLI

    13.7.6.4 Instruccin CMC:A-. Formato: CMCB-. Descripcin:Complementa la bandera de acarreo CF, es decir, si estaba a1 lo pone a 0 y si estaba a 0 lo pone a 1.

    C-. Banderas implicadas:OF DF IF TF SF ZF AF PF CF--- --- ---- ---- --- --- --- --- X

    D-. Ejemplo:

    CMC

    13.7.6.5 Instruccin STC:A-. Formato: STCB-. Descripcin:Pone a 1 la bandera de acarreo CF.C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- --- ---- ---- --- --- --- --- 1

    D-. Ejemplo:

    STC

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 56/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.6.6 Instruccin STD:A-. Formato: STDB-. Descripcin:Pone a 1 la bandera de direccin DF.C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- 1 ---- ---- --- --- --- --- ---

    D-. Ejemplo:

    STD

    13.7.6.7 Instruccin STI:A-. Formato: STIB-. Descripcin:Pone a 1 la bandera de activacin de interrupciones (IF) yactiva las interrupciones enmascarables

    Una interrupcin pendiente no ser atendida hasta que no se ejecute

    la instruccin siguiente a STI.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- --- 1 ---- --- --- --- --- ---

    D-. Ejemplo:

    STI

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 57/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.6.8 Instruccin HLT (Alto):A-. Formato: HLTB-. Descripcin:Se para el procesador. El procesador saldr de esta parada sise cumple cualquiera de las siguiente instrucciones

    Se restaura el sistema

    Se recibe una interrupcin no enmascarable

    Se recibe una interrupcin enmascarable, si dichas interrupciones

    estn permitidas

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- --- --- ---- --- --- --- --- ---

    D-. Ejemplo:

    HLT

    13.7.6.9 Instruccin WAIT (Esperar):A-. Formato: WAITB-. Descripcin:Esta instruccin junto con ESC, permite la comunicacin conotros procesadores. La instruccin WAIT sirve para poner al procesador en

    estado de espera que abandonar cuando algn perifrico le enve una seal

    por la lnea TEST, esta lnea, habitualmente la activa el coprocesador cuando

    est libre o preparado para ejecucin

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- --- --- ---- --- --- --- --- ---

    D-. Ejemplo:

    WAIT

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 58/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.6.10 Instruccin ESC (Escape):A-. Formato: ESC cdigo de operacin externo, fuenteB-. Descripcin:ESC se usa para indicar a un coprocesador que comience arealizar alguna tarea mientras el procesador contina ejecutando la siguiente

    instruccin. El primer operando sirve para indicar el procesador que queremos

    activar y el tipo de operacin que deseamos que realice, el segundo operando

    que es de tipo registro o memoria especifica el dato a pasar al

    microprocesador.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- --- --- ---- --- --- --- --- ---

    13.7.6.11 Instruccin LOCK (Bloquear):A-. Formato: LOCKB-. Descripcin:Impide la utilizacin del BUS por otros procesadores. Estainstruccin se usa junto con otra, y el acceso quedar prohibido mientras esa

    otra instruccin se est ejecutando.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- --- --- ---- --- --- --- --- ---

    D-. Ejemplo

    LOCK XCHG BL,AL

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 59/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri

    13.7.6.12 Instruccin NOP (no-operacin):A-. Formato: NOPB-. Descripcin:El procesador no hace nada, pasa a ejecutar la siguienteinstruccin.

    C-. Banderas implicadas:

    OF DF IF TF SF ZF AF PF CF--- --- --- ---- --- --- --- --- ---

    D-. Ejemplo

    NOP

  • ESTRUCTURA DE COMPUTADORES I (Captulo 13: JUEGO DE INSTRUCCIONES) 60/60

    1 INGENIERA TCNICA EN INFORMTICA DE GESTIN-EUITI VITORIAProfesor: Fernando Oterino Echvarri