2.3 Captura Basica de Cadenas

6
Captura básica de cadenas

description

Instrucciones que se deben utilizar al capturar una cadena básica en el lenguaje ensamblador

Transcript of 2.3 Captura Basica de Cadenas

Page 1: 2.3 Captura Basica de Cadenas

Captura básica de cadenas

Page 2: 2.3 Captura Basica de Cadenas

Captura básica de cadenas

• En el lenguaje ensamblador el tipo de dato cadena (string) no está definido, pero para fines de programación, una cadena es definida como un conjunto de localidades de memoria consecutivas que se reservan bajo el nombre de una variable.

Page 3: 2.3 Captura Basica de Cadenas

Instrucciones para el manejo de strings Instrucciones para el manejo de strings El lenguaje ensamblador cuenta con cinco instrucciones para el manejo de cadenas: • LODS (cargar un byte o palabra): carga el registro acumulador (AX o

AL) con el valor de la localidad de memoria determinada por DS:SI se incrementa tras la transferencia.

Operación Equivalente LODSB MOV AL, DS:[SI] INC SI LODSW MOV AX, DS:[SI] ADD SI,2

Page 4: 2.3 Captura Basica de Cadenas

• STOS (grabar cadena): Graba un carácter de una cadena a la vez, registros que debe inicializar antes de usar la instrucción.

Operación Equivalente STOSB MOV ES:[DI], AL INC DI STOSW MOV ES:[DI], AX ADD DI,2

Page 5: 2.3 Captura Basica de Cadenas

• MOVS (mover cadena): mueve cadenas entre localidades de memoria, el primer operado es apuntado por ES:DI (destino) y el segundo operando por DS:SI (fuente). Normalmente se utiliza el prefijo REP que hace que la operación se ejecute CX veces (se le resta uno a CX tras cada operación), de forma que según DF sea uno o cero, tras cada trasferencia (byte o palabra) DI y SI disminuyen o aumentan.

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

Page 6: 2.3 Captura Basica de Cadenas

• SCAS: Busca valor del acumulador en una cadena, los registros que debe inicializar antes de usar la instrucción.

Operación Equivalente SCASB CMP AL, ES:[DI] INC DI SCASW CMP AX, ES:[DI] ADD DI,2

• Las instrucciones para cadenas trabajan en conjunto con la instrucción CLD, la cual permite establecer que el sentido en el que las cadenas serán procesadas será de izquierda a derecha. • Otra instrucción importante es el prefijo de repetición REP, el cual

permite que una instrucción para manejo de cadenas pueda ser repetida un número determinado de veces.