La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

MANEJO DE CADENAS Equipo 7 Villanueva Martínez Yesenia Nallely

Presentaciones similares


Presentación del tema: "MANEJO DE CADENAS Equipo 7 Villanueva Martínez Yesenia Nallely"— Transcripción de la presentación:

1 MANEJO DE CADENAS Equipo 7 Villanueva Martínez Yesenia Nallely
Olvera Hernández Maribel Acevedo Chávez José Ernesto Ávila Puente Tomas Eduardo Ortiz Alvarado Francisco Javier Romero Álvarez Antonio

2 Operaciones para Cadenas: LODS, STOS, MOVS, CMPS, SCAS, INS, OUTS
Operación Auxiliar: CLD (Auto-incrementa SI y/o DI), STD (Auto-decrementa SI y/o DI) ; INICIALIZACION CLD ; AUTO-INCREMENTO MOV SI, STR ; INICIO-CADENA LODSB ; OPERACION: AL=MEM[SI++]

3 LODS LODS: LOaD String. Lee un caracter a la vez en el acumulador Registros Implicados: Registros que debe inicializar antes de usar la instrucción Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de SI AL/AX/EAX: Dato consultado. LODSB usa AL, LODSW usa AX, LODSW usa EAX DS:SI: Apunta al elemento actual de la cadena consultada

4 Tabla 1. Variantes de LODSB Operación Equivalente LODSB MOV AL, DS:[SI] INC SI LODSW MOV AX, DS:[SI] ADD SI,2

5 STOS STOS: STOre String. Graba un caracter de una cadena a la vez Registros Implicados: Registros que debe inicializar antes de usar la instrucción Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de DI AL/AX/EAX: Dato consultado. STOSB usa AL, STOSW usa AX, STOSW usa EAX ES:DI: Apunta al elemento actual del bloque de memoria a grabar

6 Tabla 2. Variantes de STOSB Operación Equivalente STOSB MOV ES:[DI], AL INC DI STOSW MOV ES:[DI], AX ADD DI,2

7 SCAS SCAS: SCAn String. Busca valor del acumulador en una cadena Registros Implicados: Registros que debe inicializar antes de usar la instrucción Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de DI AL/AX/EAX: Dato a comparar. SCASB usa AL, SCASW usa AX, SCASW usa EAX ES:DI: Indice para la cadena donde se buscará el dato

8 Tabla 3. Variantes de SCAS Operación Equivalente SCASB CMP AL, ES:[DI] INC DI SCASW CMP AX, ES:[DI] ADD DI,2

9 REP SCAS REP SCAS: REPite búsqueda de un dato mientras sea diferente (REPNE) o igual (REPE) en una cadena. Termina búsqueda si el dato es igual (REPNE), diferente (REPE) o el contador CX es cero Registros Implicados: Registros que debe inicializar antes de usar la instrucción Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de DI AL/AX/EAX: Dato a comparar. SCASB usa AL, SCASW usa AX, SCASW usa EAX ES:DI: Indice para la cadena donde se buscará el dato CX: Máximo no. comparaciones = Tamaño de la cadena

10 Tabla 4. Variantes de REP SCAS Operación Equivalente REPE SCASB CYCLE: CMP AL, ES:[DI] JE END INC DI LOOP CYCLE REPNE SCASB CYCLE: CMP AL, ES:[DI] JNE END INC DI LOOP CYCLE

11 MOVS MOVe String. Transfiere una cadena de [SI] a [DI]
MOVS MOVe String. Transfiere una cadena de [SI] a [DI]. Nota: Existe MOVSB, MOVSW y MOVSD. Además, no se modifica el registro AX Registros Implicados: Registros que debe inicializar antes de usar la instrucción Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de SI/DI DS:SI: Indice para la cadena origen ES:DI: Indice para la cadena origen

12 Tabla 5. Variantes de MOVSB Operación Equivalente MOVSB MOV ES:[DI], DS:[SI] INC SI INC DI MOVSW MOV ES:[DI], DS:[SI] ADD SI,2 ADD DI,2

13 REP MOVS REP MOVS: Copia una cadena en una sóla instrucción
REP MOVS REP MOVS: Copia una cadena en una sóla instrucción. El número de caracteres a copiar se especifica en el registro CX. Registros Implicados: Registros que debe inicializar antes de usar la instrucción Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de SI/DI DS:SI: Indice para la cadena origen ES:DI: Indice para la cadena origen CX: Tamaño de la cadena

14 Tabla 6. Variantes de MOVSB Operación Equivalente REP MOVSB CICLO: MOV ES:[DI], DS:[SI] INC SI INC DI LOOP CICLO


Descargar ppt "MANEJO DE CADENAS Equipo 7 Villanueva Martínez Yesenia Nallely"

Presentaciones similares


Anuncios Google