SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
COMPARACIONES.


Instrucción genérica para comparar La instrucción es CMP, ésta permite comparar
2 operandos, la sintaxis es la siguiente: CMP <Operador 1>, <Operador 2> El
operador 1, se compara con el 2. Los operandos pueden ser cualquier
direccionamiento válido, cumpliendo las reglas de la instrucción MOV con respecto
a los operandos. Ésta instrucción compara 2 operandos y luego cambia el registro
de banderas en base al resultado de la comparación.


COMPARACION.

* LA INSTRUCCION CMP

La instrucción CMP pro lo común es utilizada para comparar dos campos de datos,
uno de los cuales están contenidos en un registro. El formato general para CMP
es:

| [etiqueta:] | CMP | {registro/memoria}, {registro/memoria/inmediato} |

El resultado de una operación CMP afecta la banderas AF, CF, OF, PF, SF y ZF,
aunque no tiene que probar estas banderas de forma individual. El código
siguiente prueba el registro BX por un valor cero:

  X CMP BX, 00 ;Compara Bx con cero
  JZ B50 ;Si es cero salta aB50
  . ;(Acción si es diferente de cero)
  .
  B50: ... ;Destino del salto, si BX es cero


Si el BX tiene cero, cmp establece ZF a 1 y puede o no cambiar la configuración
de otras banderas. La instrucción JZ (salta si es cero) solo prueba la bandera ZF.
Ya que ZF tiene 1 (que significa una condición cero), JZ transfiere el control (salta)
a la dirección indicada por el operando B50.

Observe que la operación compara el primer operando con el segundo; por
ejemplo, el valor del primer operando es mayor que, igual o menor que el valor del
segundo operando?


  * LA INSTRUCCION CMPS

CMPS compara el contenido de una localidad de memoria (direccionada por
DS:SI). Dependiendo de la bandera de dirección, CMPS incrementa o disminuye
también los registros SI y DI en 1 para bytes, en 2 para palabras y en 4 para
palabras dobles. La operación establece las banderas AF, CF, OF, PF, SF y ZF.

Cuando se combinan con un prefijo REP y una longitud en el CX, de manera
sucesiva CMPS puede comparar cadenas de cualquier longitud.
Pero observe que CMPS proporciona una comparación alfanumérica, esto es, una
comparación de acuerdo a con los valores ASCII. Considere la comparación de
dos cadenas que contienen JEAN y JOAN. Una comparación de izquierda a
derecha, tiene el resultado siguiente:


  J:J Iguales
  E:O Diferentes (E es menor)
  A:A Iguales
  N:N Iguales


Una comparación de los 4 bytes termina con una comparación de N con N
(iguales). Ahora ya que los dos nombres no son idénticos, la operación debe
terminar tan pronto como la comparación entre 2 caracteres sea diferente.

Algunas derivaciones de CMPS son las siguientes:

  * CMPSB. Compara bytes.
  * CMPSD. Compara palabras dobles.
  * CMPSW. Compara palabras.


A continuación se muestra la codificación del uso del CMPS y sus derivaciones:

TITLE        P12CMPST (COM) Uso de CMPS para operaciones en cadenas
             .MODEL SMALL
             .CODE
             ORG             100H
BEGIN: JMP                   SHORT MAIN
;-------------------------------------------------------------------------------------
NOM1 DB                      'Assemblers' ;Elementos de datos
NOM2 DB                      'Assemblers'
NOM3 DB                      10 DUP (' ')
;-------------------------------------------------------------------------------------
MAIN PROC                    NEAR                       ;Procedimiento principal
            CLD ;Izquierda a derecha
            MOV              CX, 10                     ;Iniciar para 10 bytes
            LEA              DI, NOM2
            LEA              SI, NOM1
            REPE            CMPSB                     ;Compare NOM1:NOM2
           JNE              G20                       ;No es igual, saltarlo
           MOV               BH,01                     ;Igual, fijar BH
G20:
        MOV          CX, 10               ;Iniciar para 10 bytes
        LEA          DI, NOM3
        LEA          SI, NOM2
        REPE         CMPSB               ;Compare NOM2:NOM3
       JE            G30                 ;Igual, salir
       MOV           BL, 02               ;No es igual, fijar BL
G30:
     MOV             AX, 4C00H            ;Salir a DOS
     INT             21H
MAIN ENDP
     END             BEGIN


Las comparaciones en ensamblador se realizan con la instrucción "CMP destino,
fuente" cuya real función es restar del destino la fuente, y afectar las banderas,
pero eso por ahora no importa, como la programación en esamblador es
estructurada vamos a utilizar saltos para que nuestro programa no haga lo que no
queremos. El salto que se usa para una comparación donde el destino es mayor
que la fuente es "JA nombre_etiqueta", es decir, al juntar el código anterior para
pedir los números con la comparación y el salto, tendremos algo así:
PRIMERO: ;etiqueta a la que regresa el salto
MOV AH, 01
INT 21H
SUB AL, 48
CMP AL, 10 ;comparación
JA PRIMERO ; salto si DESTINO es mayor a FUENTE
MUL diez
MOV elnumero, AL
; ya se tiene el primer digito ahora el segundo
SEGUNDO:
MOV AH, 01
INT 21H
SUB AL, 48
CMP AL, 10
JA SEGUNDO
ADD elnumero, AL
Listo!! siempre se va introducir un número de dos dígitos.
Banderas


‘BANDERAS ‘ las banderas son espacios de memoria.
las banderas mas comunes son las siguientes:
OF (overflow, desbordamiento): Indica desbordamiento del bit de mayor orden
después de una operación aritmética de números signados (1=existe overflow;
0=no existe overflow). Para operaciones sin signo, no se toma en cuenta esta
bandera.
DF (dirección): Controla la selección de incremento o decremento de los registros
SI o DI en las operaciones con cadenas de caracteres (1=decremento automático;
0=incremento). La bandera
DF se controla con las instrucciones STD y CLD.
IF (interrupción): Indica que una interrupción externa sea procesada o ignorada
(1=habilita la interrupción; 0=deshabilita la interrupción). El estado de la bandera IF
se controla con las instrucciones STI y CLI.
TF (trampa): Permite la operación del procesador en modo de depuración (paso a
paso)
SF (signo): Contiene el signo resultante de una operación aritmética (0=positivo;
1=negativo).
ZF (cero): Indica el resultado de una operación aritmética o de comparación
(0=resultado diferente de cero; 1=resultado igual a cero).
AF (acarreo auxiliar): Contiene un acarreo externo del bit 3 en un dato de 8 bits,
para aritmética especializada. Esta bandera se prueba con las instrucciones DAA y
DAS para ajustar el valor de AL después de una suma o resta BCD.
PF (paridad): Indica paridad par o impar en una operación de datos de ocho bits
(0=paridad impar; 1=paridad par).
CF (acarreo): Contiene el acarreo de los bits de mayor orden después de una
operación aritmética; también almacena el contenido del último bit en una
operación de corrimiento o de rotación.


Registro de Banderas.

De los 16 bits del registro de banderas, nueve son comunes a toda la familia de
procesadores 8086, y sirven para indicar el estado actual de la maquina y el
resultado del procesamiento. Muchas instrucciones que piden comparaciones y
aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden
realizar pruebas para determinar la acción subsecuente. En resumen, los bits de
las banderas comunes son como sigue:

OF (Overflow, desbordamiento). Indica desbordamiento de un bit de orden alto
(mas a la izquierda) después de una operación aritmética.

DF (dirección). Designa la dirección hacia la izquierda o hacia la derecha para
mover o comparar cadenas de caracteres.

IF (interrupción). Indica que una interrupción externa, como la entrada desde el
teclado, sea procesada o ignorada.

TF (trampa). Permite la operación del procesador en modo de un paso. Los
programas depuradores, como el DEBUG, activan esta bandera de manera que
usted pueda avanzar en la ejecución de una sola instrucción a un tiempo, para
examinar el efecto de esa instrucción sobre los registros de memoria.

SF (signo). Contiene el signo resultante de una operación aritmética (0 = positivo
y 1 = negativo).

ZF (cero). Indica el resultado de una operación aritmética o de comparación (0 =
resultado diferente de cero y 1 = resultado igual a cero).

AF (acarreo auxiliar). Contiene un acarreo externo del bit 3 en un dato de 8 bits
para aritmética especializada.

PF (paridad). Indica paridad par o impar de una operación en datos de 8 bits de
bajo orden (mas a la derecha).

CF (acarreo). Contiene el acarreo de orden mas alto (mas a la izquierda) después
de una operación aritmética; también lleva el contenido del ultimo bit en una
operación de corrimiento o de rotación.

Las banderas están en el registro de banderas en las siguientes posiciones:




Las banderas mas importantes para la programación en ensamblador son O, S, Z
y C, para operaciones de comparación y aritméticas, y D para operaciones de
cadenas de caracteres. Los procesadores 80286 y posteriores tienen algunas
banderas usadas para propósitos internos, en especial las que afectan al modo
protegido. Los procesadores 80286 y posteriores tienen un registro extendido de
banderas conocido como Eflags.

Mais conteúdo relacionado

Mais procurados

Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.pptEliezer Cordova
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Yaskelly Yedra
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareJosé Antonio Sandoval Acosta
 

Mais procurados (20)

Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Modelo evolutivo
Modelo evolutivoModelo evolutivo
Modelo evolutivo
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Vistas en SQL
Vistas en SQLVistas en SQL
Vistas en SQL
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Ingenieria De Software
Ingenieria De SoftwareIngenieria De Software
Ingenieria De Software
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 

Destaque

Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086Nazue Rap
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assemblerANDREA
 
Ciclos y Condicionales - Iterate
Ciclos y Condicionales - IterateCiclos y Condicionales - Iterate
Ciclos y Condicionales - IterateLincoln School
 
Comparar registros de 16 bits
Comparar registros de 16 bitsComparar registros de 16 bits
Comparar registros de 16 bitsLuis Zurita
 

Destaque (8)

Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550
 
ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 
Ciclos y Condicionales - Iterate
Ciclos y Condicionales - IterateCiclos y Condicionales - Iterate
Ciclos y Condicionales - Iterate
 
Div, idiv, Neg ensamblador
Div, idiv, Neg ensambladorDiv, idiv, Neg ensamblador
Div, idiv, Neg ensamblador
 
Comparar registros de 16 bits
Comparar registros de 16 bitsComparar registros de 16 bits
Comparar registros de 16 bits
 

Semelhante a Equipo 6 comparaciones

Instruccion de comparacion Microprocesadores
Instruccion de comparacion Microprocesadores Instruccion de comparacion Microprocesadores
Instruccion de comparacion Microprocesadores Felix Sequeira Balladares
 
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMAMODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMAgbermeo
 
Organizacion-de-la-unidad-central-de-procesamiento
Organizacion-de-la-unidad-central-de-procesamientoOrganizacion-de-la-unidad-central-de-procesamiento
Organizacion-de-la-unidad-central-de-procesamientoJosé Luis Olivares
 
Organizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoOrganizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoHarold Torres
 
Intrucciones 16 bits.pdf
Intrucciones 16 bits.pdfIntrucciones 16 bits.pdf
Intrucciones 16 bits.pdfDaginni78
 
Ejercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfEjercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfMelidaCedeo1
 
Curso MPLAB pic 3 empezando con el programa 9p
Curso MPLAB pic 3 empezando con el programa  9pCurso MPLAB pic 3 empezando con el programa  9p
Curso MPLAB pic 3 empezando con el programa 9pRuderocker Billy
 
Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador Cristian Izquierdo
 

Semelhante a Equipo 6 comparaciones (20)

Instruccion de comparacion Microprocesadores
Instruccion de comparacion Microprocesadores Instruccion de comparacion Microprocesadores
Instruccion de comparacion Microprocesadores
 
Atmel
AtmelAtmel
Atmel
 
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMAMODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
MODOS DE DIRECIONAMIENTO DE LA MEMORIA DE PROGRAMA
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Organizacion-de-la-unidad-central-de-procesamiento
Organizacion-de-la-unidad-central-de-procesamientoOrganizacion-de-la-unidad-central-de-procesamiento
Organizacion-de-la-unidad-central-de-procesamiento
 
Organizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoOrganizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamiento
 
5.quinto ejercicio emu8086
5.quinto ejercicio emu80865.quinto ejercicio emu8086
5.quinto ejercicio emu8086
 
18613352 assembler
18613352 assembler18613352 assembler
18613352 assembler
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Intrucciones 16 bits.pdf
Intrucciones 16 bits.pdfIntrucciones 16 bits.pdf
Intrucciones 16 bits.pdf
 
Ejercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfEjercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdf
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
Esamblador8086
Esamblador8086Esamblador8086
Esamblador8086
 
Estructura .COM
Estructura .COMEstructura .COM
Estructura .COM
 
Curso MPLAB pic 3 empezando con el programa 9p
Curso MPLAB pic 3 empezando con el programa  9pCurso MPLAB pic 3 empezando con el programa  9p
Curso MPLAB pic 3 empezando con el programa 9p
 
Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador Sintaxis de un módulo fuente ensamblador
Sintaxis de un módulo fuente ensamblador
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Diego alexis 8
Diego alexis 8Diego alexis 8
Diego alexis 8
 

Mais de gabo

Proyecto Sound Search
Proyecto Sound SearchProyecto Sound Search
Proyecto Sound Searchgabo
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativagabo
 
Resultados encuesta
Resultados encuestaResultados encuesta
Resultados encuestagabo
 
Encuesta sound search
Encuesta sound searchEncuesta sound search
Encuesta sound searchgabo
 
Sound search
Sound searchSound search
Sound searchgabo
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibridagabo
 
Equipo 6 codigo segment
Equipo 6 codigo segmentEquipo 6 codigo segment
Equipo 6 codigo segmentgabo
 
Equipo 6 buses
Equipo 6 busesEquipo 6 buses
Equipo 6 busesgabo
 
Emulador emu8086
Emulador emu8086Emulador emu8086
Emulador emu8086gabo
 
Condicional
CondicionalCondicional
Condicionalgabo
 
Condicional
CondicionalCondicional
Condicionalgabo
 
Condicional
CondicionalCondicional
Condicionalgabo
 
Equipo 1
Equipo 1Equipo 1
Equipo 1gabo
 
Equipo 1
Equipo 1Equipo 1
Equipo 1gabo
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamientogabo
 
Equipo 5
Equipo 5Equipo 5
Equipo 5gabo
 
3.2.2 Externos
3.2.2 Externos3.2.2 Externos
3.2.2 Externosgabo
 
3.2.2 Externos
3.2.2 Externos3.2.2 Externos
3.2.2 Externosgabo
 
2.5.2 Circular
2.5.2 Circular2.5.2 Circular
2.5.2 Circulargabo
 
2.1.4 ajustes
2.1.4 ajustes2.1.4 ajustes
2.1.4 ajustesgabo
 

Mais de gabo (20)

Proyecto Sound Search
Proyecto Sound SearchProyecto Sound Search
Proyecto Sound Search
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativa
 
Resultados encuesta
Resultados encuestaResultados encuesta
Resultados encuesta
 
Encuesta sound search
Encuesta sound searchEncuesta sound search
Encuesta sound search
 
Sound search
Sound searchSound search
Sound search
 
Equipo 6 programacion hibrida
Equipo 6 programacion hibridaEquipo 6 programacion hibrida
Equipo 6 programacion hibrida
 
Equipo 6 codigo segment
Equipo 6 codigo segmentEquipo 6 codigo segment
Equipo 6 codigo segment
 
Equipo 6 buses
Equipo 6 busesEquipo 6 buses
Equipo 6 buses
 
Emulador emu8086
Emulador emu8086Emulador emu8086
Emulador emu8086
 
Condicional
CondicionalCondicional
Condicional
 
Condicional
CondicionalCondicional
Condicional
 
Condicional
CondicionalCondicional
Condicional
 
Equipo 1
Equipo 1Equipo 1
Equipo 1
 
Equipo 1
Equipo 1Equipo 1
Equipo 1
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamiento
 
Equipo 5
Equipo 5Equipo 5
Equipo 5
 
3.2.2 Externos
3.2.2 Externos3.2.2 Externos
3.2.2 Externos
 
3.2.2 Externos
3.2.2 Externos3.2.2 Externos
3.2.2 Externos
 
2.5.2 Circular
2.5.2 Circular2.5.2 Circular
2.5.2 Circular
 
2.1.4 ajustes
2.1.4 ajustes2.1.4 ajustes
2.1.4 ajustes
 

Último

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptxfotofamilia008
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfHannyDenissePinedaOr
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................ScarletMedina4
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docxMagalyDacostaPea
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaFarid Abud
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Bergarako Udala
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaMarco Camacho
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Edith Liccioni
 

Último (20)

CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
4° SEM23 ANEXOS DEL DOCENTE 2023-2024.pptx
 
Programa sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdfPrograma sintetico fase 2 - Preescolar.pdf
Programa sintetico fase 2 - Preescolar.pdf
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................
 
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE     9-4-24 (1).docx
4° SES MATE DESCOMP. ADIT. DE NUMEROS SOBRE CASOS DE DENGUE 9-4-24 (1).docx
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024Campaña Verano 2024 en Bergara - Colonias 2024
Campaña Verano 2024 en Bergara - Colonias 2024
 
Buenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria FarmaceuticaBuenas Practicas de Manufactura para Industria Farmaceutica
Buenas Practicas de Manufactura para Industria Farmaceutica
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.
 

Equipo 6 comparaciones

  • 1. COMPARACIONES. Instrucción genérica para comparar La instrucción es CMP, ésta permite comparar 2 operandos, la sintaxis es la siguiente: CMP <Operador 1>, <Operador 2> El operador 1, se compara con el 2. Los operandos pueden ser cualquier direccionamiento válido, cumpliendo las reglas de la instrucción MOV con respecto a los operandos. Ésta instrucción compara 2 operandos y luego cambia el registro de banderas en base al resultado de la comparación. COMPARACION. * LA INSTRUCCION CMP La instrucción CMP pro lo común es utilizada para comparar dos campos de datos, uno de los cuales están contenidos en un registro. El formato general para CMP es: | [etiqueta:] | CMP | {registro/memoria}, {registro/memoria/inmediato} | El resultado de una operación CMP afecta la banderas AF, CF, OF, PF, SF y ZF, aunque no tiene que probar estas banderas de forma individual. El código siguiente prueba el registro BX por un valor cero: X CMP BX, 00 ;Compara Bx con cero JZ B50 ;Si es cero salta aB50 . ;(Acción si es diferente de cero) . B50: ... ;Destino del salto, si BX es cero Si el BX tiene cero, cmp establece ZF a 1 y puede o no cambiar la configuración de otras banderas. La instrucción JZ (salta si es cero) solo prueba la bandera ZF. Ya que ZF tiene 1 (que significa una condición cero), JZ transfiere el control (salta) a la dirección indicada por el operando B50. Observe que la operación compara el primer operando con el segundo; por ejemplo, el valor del primer operando es mayor que, igual o menor que el valor del segundo operando? * LA INSTRUCCION CMPS CMPS compara el contenido de una localidad de memoria (direccionada por DS:SI). Dependiendo de la bandera de dirección, CMPS incrementa o disminuye también los registros SI y DI en 1 para bytes, en 2 para palabras y en 4 para
  • 2. palabras dobles. La operación establece las banderas AF, CF, OF, PF, SF y ZF. Cuando se combinan con un prefijo REP y una longitud en el CX, de manera sucesiva CMPS puede comparar cadenas de cualquier longitud. Pero observe que CMPS proporciona una comparación alfanumérica, esto es, una comparación de acuerdo a con los valores ASCII. Considere la comparación de dos cadenas que contienen JEAN y JOAN. Una comparación de izquierda a derecha, tiene el resultado siguiente: J:J Iguales E:O Diferentes (E es menor) A:A Iguales N:N Iguales Una comparación de los 4 bytes termina con una comparación de N con N (iguales). Ahora ya que los dos nombres no son idénticos, la operación debe terminar tan pronto como la comparación entre 2 caracteres sea diferente. Algunas derivaciones de CMPS son las siguientes: * CMPSB. Compara bytes. * CMPSD. Compara palabras dobles. * CMPSW. Compara palabras. A continuación se muestra la codificación del uso del CMPS y sus derivaciones: TITLE P12CMPST (COM) Uso de CMPS para operaciones en cadenas .MODEL SMALL .CODE ORG 100H BEGIN: JMP SHORT MAIN ;------------------------------------------------------------------------------------- NOM1 DB 'Assemblers' ;Elementos de datos NOM2 DB 'Assemblers' NOM3 DB 10 DUP (' ') ;------------------------------------------------------------------------------------- MAIN PROC NEAR ;Procedimiento principal CLD ;Izquierda a derecha MOV CX, 10 ;Iniciar para 10 bytes LEA DI, NOM2 LEA SI, NOM1 REPE CMPSB ;Compare NOM1:NOM2 JNE G20 ;No es igual, saltarlo MOV BH,01 ;Igual, fijar BH
  • 3. G20: MOV CX, 10 ;Iniciar para 10 bytes LEA DI, NOM3 LEA SI, NOM2 REPE CMPSB ;Compare NOM2:NOM3 JE G30 ;Igual, salir MOV BL, 02 ;No es igual, fijar BL G30: MOV AX, 4C00H ;Salir a DOS INT 21H MAIN ENDP END BEGIN Las comparaciones en ensamblador se realizan con la instrucción "CMP destino, fuente" cuya real función es restar del destino la fuente, y afectar las banderas, pero eso por ahora no importa, como la programación en esamblador es estructurada vamos a utilizar saltos para que nuestro programa no haga lo que no queremos. El salto que se usa para una comparación donde el destino es mayor que la fuente es "JA nombre_etiqueta", es decir, al juntar el código anterior para pedir los números con la comparación y el salto, tendremos algo así: PRIMERO: ;etiqueta a la que regresa el salto MOV AH, 01 INT 21H SUB AL, 48 CMP AL, 10 ;comparación JA PRIMERO ; salto si DESTINO es mayor a FUENTE MUL diez MOV elnumero, AL ; ya se tiene el primer digito ahora el segundo SEGUNDO: MOV AH, 01 INT 21H SUB AL, 48 CMP AL, 10 JA SEGUNDO ADD elnumero, AL Listo!! siempre se va introducir un número de dos dígitos.
  • 4. Banderas ‘BANDERAS ‘ las banderas son espacios de memoria. las banderas mas comunes son las siguientes: OF (overflow, desbordamiento): Indica desbordamiento del bit de mayor orden después de una operación aritmética de números signados (1=existe overflow; 0=no existe overflow). Para operaciones sin signo, no se toma en cuenta esta bandera. DF (dirección): Controla la selección de incremento o decremento de los registros SI o DI en las operaciones con cadenas de caracteres (1=decremento automático; 0=incremento). La bandera DF se controla con las instrucciones STD y CLD. IF (interrupción): Indica que una interrupción externa sea procesada o ignorada (1=habilita la interrupción; 0=deshabilita la interrupción). El estado de la bandera IF se controla con las instrucciones STI y CLI. TF (trampa): Permite la operación del procesador en modo de depuración (paso a paso) SF (signo): Contiene el signo resultante de una operación aritmética (0=positivo; 1=negativo). ZF (cero): Indica el resultado de una operación aritmética o de comparación (0=resultado diferente de cero; 1=resultado igual a cero). AF (acarreo auxiliar): Contiene un acarreo externo del bit 3 en un dato de 8 bits, para aritmética especializada. Esta bandera se prueba con las instrucciones DAA y DAS para ajustar el valor de AL después de una suma o resta BCD. PF (paridad): Indica paridad par o impar en una operación de datos de ocho bits (0=paridad impar; 1=paridad par). CF (acarreo): Contiene el acarreo de los bits de mayor orden después de una operación aritmética; también almacena el contenido del último bit en una operación de corrimiento o de rotación. Registro de Banderas. De los 16 bits del registro de banderas, nueve son comunes a toda la familia de procesadores 8086, y sirven para indicar el estado actual de la maquina y el resultado del procesamiento. Muchas instrucciones que piden comparaciones y aritmética cambian el estado de las banderas, algunas cuyas instrucciones pueden realizar pruebas para determinar la acción subsecuente. En resumen, los bits de las banderas comunes son como sigue: OF (Overflow, desbordamiento). Indica desbordamiento de un bit de orden alto
  • 5. (mas a la izquierda) después de una operación aritmética. DF (dirección). Designa la dirección hacia la izquierda o hacia la derecha para mover o comparar cadenas de caracteres. IF (interrupción). Indica que una interrupción externa, como la entrada desde el teclado, sea procesada o ignorada. TF (trampa). Permite la operación del procesador en modo de un paso. Los programas depuradores, como el DEBUG, activan esta bandera de manera que usted pueda avanzar en la ejecución de una sola instrucción a un tiempo, para examinar el efecto de esa instrucción sobre los registros de memoria. SF (signo). Contiene el signo resultante de una operación aritmética (0 = positivo y 1 = negativo). ZF (cero). Indica el resultado de una operación aritmética o de comparación (0 = resultado diferente de cero y 1 = resultado igual a cero). AF (acarreo auxiliar). Contiene un acarreo externo del bit 3 en un dato de 8 bits para aritmética especializada. PF (paridad). Indica paridad par o impar de una operación en datos de 8 bits de bajo orden (mas a la derecha). CF (acarreo). Contiene el acarreo de orden mas alto (mas a la izquierda) después de una operación aritmética; también lleva el contenido del ultimo bit en una operación de corrimiento o de rotación. Las banderas están en el registro de banderas en las siguientes posiciones: Las banderas mas importantes para la programación en ensamblador son O, S, Z y C, para operaciones de comparación y aritméticas, y D para operaciones de cadenas de caracteres. Los procesadores 80286 y posteriores tienen algunas banderas usadas para propósitos internos, en especial las que afectan al modo protegido. Los procesadores 80286 y posteriores tienen un registro extendido de banderas conocido como Eflags.