Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porConchita Varona Modificado hace 11 años
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.