0% encontró este documento útil (0 votos)
133 vistas7 páginas

Instrucciones para Cadenas

Este documento describe las instrucciones para manipular cadenas en ensamblador, incluyendo LODS, STOS, MOVS, CMPS, SCAS, INS y OUTS. Explica que LODS carga un carácter de la cadena apuntada por SI al acumulador, STOS almacena un carácter del acumulador en la cadena apuntada por DI, y MOVS copia una cadena de la ubicación apuntada por SI a la ubicada por DI. También describe el uso de REP para repetir operaciones sobre cadenas usando el contador CX.

Cargado por

Inocencio Aguayo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
133 vistas7 páginas

Instrucciones para Cadenas

Este documento describe las instrucciones para manipular cadenas en ensamblador, incluyendo LODS, STOS, MOVS, CMPS, SCAS, INS y OUTS. Explica que LODS carga un carácter de la cadena apuntada por SI al acumulador, STOS almacena un carácter del acumulador en la cadena apuntada por DI, y MOVS copia una cadena de la ubicación apuntada por SI a la ubicada por DI. También describe el uso de REP para repetir operaciones sobre cadenas usando el contador CX.

Cargado por

Inocencio Aguayo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

Instrucciones para cadenas

Operaciones para cadenas: LODS,


STOS, MOVS, CMPS, SCAS, INS, OUTS.

LODS: : LOaD String lee un carcter a la


vez en el acumulador
Operacin auxiliar: CLD (auto-incrementa SI y/o DI) STD (autodecrementa SI y/o DI)
Registros implicados: registros que debe inicializar antes de usar la instruccin
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.
VARIANTES DE LODSB
Operacin

Equivalente

LODSB

MOV AL, DS:[SI]


INC SI

LODSW

MOV AX, DS:[SI]


ADD SI,2

STOS: STOre String. Graba un carcter de una


cadena a la vez
Registros implicados: registros que debe inicializar antes de usar la instruccin
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
VARIANTES DE STOSB
Operacin

Equivalente

STOSB

MOV ES:[DI], AL
INC DI

STOSW

MOV ES:[DI], AX
ADD DI,2

SCAS: SCAn String. Busca valor del acumulador en la cadena


Registros implicados: registros que debe inicializar antes de usar la
instruccin
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: ndice para la cadena donde se busca el dato.
VARIANTES DE SCAS
Operacin

Equivalente

SCASB

CMP AL, ES:[DI]


INC DI

SCASW

CMP AX, ES:[DI]


ADD DI,2

REP SCAS: REPite bsqueda de un dato mientras sea diferente


(REPNE) o igual (REPE) en una cadena. Termina bsqueda si el dato
es igual, diferente (REPE), o el contador CX es cero
Registros implicados: registros que debe inicializar antes de usar la instruccin
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 ndice para la cadena que buscara el dato
CX: mximo numero de comparaciones = tamao de la cadena
VARIANTES DE REP SCAS
Operacin
REPE SCASB

Equivalente
CYCLE: CMP AL, ES:[DI]
JE END
INC DI
LOOP CYCLE
CYCLE: CMP AL, ES:[DI]
JNE END

REPNE SCASB
INC DI
LOOP CYCLE

MOVS: MOVe String. Transfiere una cadena de (SI) a (DI). Nota: existe MOVBS,
MOVSW y MOVSD. Adems, no se modifica el registro AX.
Registros implicados: registros que debe inicializar antes de usar la instruccin
Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de SI/DI
DS: SI ndice para la cadena origen
ES: DI ndice para la cadena origen
VARIANTES DE MOVSB
Operacin

Equivalente

MOVSB

MOV ES:[DI], DS:[SI]


INC SI
INC DI

MOVSW

MOV ES:[DI], DS:[SI]


ADD SI,2
ADD DI,2

REP MOVS: copia una cadena en una sola instruccin. El nmero de caracteres
a copiar se especifica en el registro CX

Registros implicados: registros que debe inicializar antes de usar la


instruccin
Bit-D: Auto-decremento (STD) o auto-incremento (CLD) de SI/DI
DS: SI: ndice para la cadena origen
ES: DI: ndice para la cadena origen
CX: tamao de la cadena
VARIANTES DE REP MOVSB
Operacin

Equivalente

REP MOVSB

CICLO: MOV ES:[DI], DS:[SI]


INC SI
INC DI
LOOP CICLO

También podría gustarte