SlideShare a Scribd company logo
1 of 5
Download to read 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.

More Related Content

What's hot

Conmutacion decircuitos, paquetes y mensajes
Conmutacion decircuitos, paquetes y mensajesConmutacion decircuitos, paquetes y mensajes
Conmutacion decircuitos, paquetes y mensajesjericored
 
4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempoEdison Coimbra G.
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Tipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolosTipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolosLucre Castillo Lorenzo
 
Protocolos hdlc expo
Protocolos hdlc expoProtocolos hdlc expo
Protocolos hdlc expoFacebook
 
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosHugo Alberto Rivera Diaz
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de erroresArnold Alfonso
 
Trab. Multiplexacion
Trab. MultiplexacionTrab. Multiplexacion
Trab. MultiplexacionDiego Lucero
 

What's hot (20)

Registro de banderas y alu
Registro de banderas y aluRegistro de banderas y alu
Registro de banderas y alu
 
Conmutacion decircuitos, paquetes y mensajes
Conmutacion decircuitos, paquetes y mensajesConmutacion decircuitos, paquetes y mensajes
Conmutacion decircuitos, paquetes y mensajes
 
Banda base
Banda baseBanda base
Banda base
 
4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Tipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolosTipos de módems, estandares y protocolos
Tipos de módems, estandares y protocolos
 
Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Protocolos hdlc expo
Protocolos hdlc expoProtocolos hdlc expo
Protocolos hdlc expo
 
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Direccionamiento ip
Direccionamiento  ipDireccionamiento  ip
Direccionamiento ip
 
Modulación
ModulaciónModulación
Modulación
 
Frame Relay & X25
Frame Relay & X25Frame Relay & X25
Frame Relay & X25
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Modelo de referencia
Modelo de referenciaModelo de referencia
Modelo de referencia
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de errores
 
Trab. Multiplexacion
Trab. MultiplexacionTrab. Multiplexacion
Trab. Multiplexacion
 

Viewers also liked

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
 

Viewers also liked (7)

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
 

Similar to 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
 

Similar to 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
 

More from 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
 

More from 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
 

Recently uploaded

Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfluisantoniocruzcorte1
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfEDILIAGAMBOA
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 

Recently uploaded (20)

Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdfÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
ÉTICA, NATURALEZA Y SOCIEDADES_3RO_3ER TRIMESTRE.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 
PPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdfPPT_Formación integral y educación CRESE (1).pdf
PPT_Formación integral y educación CRESE (1).pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 

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.