Está en la página 1de 3

MOVS [Inicio] [Final] Atrs Sig << [1] [2] [3] [4] [5] [6] [7] [8] [9]

>> [CSS] MOVS: MOVe String. Transfiere una cadena de [SI] a [DI]. Nota: Existe MOVSB, MOV SW 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: Indice para la cadena origen ES:DI: Indice para la cadena origen Tabla 5. 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 (7/9) Repblica del Saber Ensamblador: "Manejo de Cadenas" REP MOVS [Inicio] [Final] Atrs Sig << [1] [2] [3] [4] [5] [6] [7] [8] [9] >> [CSS] REP MOVS: Copia una cadena en una sla instruccin. El nmero de caracteres a copiar s e 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: Indice para la cadena origen ES:DI: Indice para la cadena origen CX: Tamao de la cadena Tabla 6. Variantes de MOVSB Operacin Equivalente REP MOVSB CICLO: MOV ES:[DI], DS:[SI] INC SI INC DI LOOP CICLO (8/9) Repblica del Saber Ensamblador: "Manejo de Cadenas" strcpy/strlen [Inicio] [Final] Atrs Sig << [1] [2] [3] [4] [5] [6] [7] [8] [9] >> [CSS] ; MOVS.ASM: Manejo de Cadenas BITS 16 ORG 0x0100 SECTION .text %DEFINE MAX %DEFINE NL 48 10,13 ; PRINT STRING$

%MACRO PRINT 1 MOV AH, 9 MOV DX, %1 INT 21H %ENDMACRO

%MACRO SIDI 2 MOV SI, %1 MOV DI, %2 CLD %ENDMACRO MAIN: CALL CALL CALL CALL INT

; LOAD SI, DI ; INCREMENTO

MOV1 MOV2 MOV3 MOV4 20H

MOV1: SIDI S1, S9 C1: MOVSB CMP BYTE [SI-1], '$' JNE C1 PRINT S9 RET MOV2: MOV SI, 0 C2: MOV AL, [S2+SI] MOV [S9+SI], AL INC SI CMP AL, '$' JNE C2 PRINT S9 RET MOV3: SIDI S3, S9 C3: LODSB STOSB CMP AL, '$' JNE C3 PRINT S9 RET MOV4: MOV DI, S4 CALL STRLEN SIDI S4, S9 REPE MOVSB PRINT S9 RET STRLEN: MOV AL, '$' MOV CX, MAX CLD REPNE SCASB SUB CX, MAX ; IN:DI OUT:AX

NEG CX RET SECTION .data S1 DB 'ITESM Campus Chihuahua',NL,'$' S2 DB 'Lenguaje Ensamblador',NL,'$' S3 DB 'Manejo de Cadenas',NL,'$' S4 DB 'LODS, STOS, MOVS, SCAS',NL,'$' S9 TIMES MAX DB 0 (9/9) Repblica del Saber Ensamblador: "Manejo de Cadenas" Ejercicio [Inicio] [Final] Atrs Sig << [1] [2] [3] [4] [5] [6] [7] [8] [9] >> [CSS] Actividad: Obtenga el cdigo de alguna de las sig. funciones de lenguaje C: strlen (), strcmp(), strcpy().. Cdigo: Incluya nombre de la funcin y si lo obtuv de Internet anote la referencia

También podría gustarte