PRÁCTICA 1
PRÁCTICA 1
PRÁCTICA 1
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
LENGUAJE ENSAMBLADOR 80386 <strong>PRÁCTICA</strong> 1<br />
regresa a @@10 hasta que el contador CX sea cero.<br />
Con el procedimiento NuevaLinea se exhibe en pantalla un retorno de carro con una<br />
nueva línea. Esto se logra mediante la interrupción 21H, servicio 2.<br />
3.2 Capturar el módulo anterior con el nombre CADENAS.ASM y crear el programa objeto<br />
mediante el siguiente comando.<br />
C>TASM /zi CADENAS<br />
3.3 Crear la biblioteca REM con el programa anterior mediante los comandos siguientes:<br />
C>TLIB /E REM -+CADENAS<br />
3.4 Procedimiento para contar caracteres no nulos en una cadena.<br />
%TITLE "RUTINAS PARA MANIPULAR CADENAS”<br />
IDEAL<br />
DOSSEG<br />
MODEL small<br />
CODESEG<br />
PUBLIC LargoCad<br />
; Hacer ES = DS antes de llamar a estas rutinas.<br />
ASCnulo EQU 0 ;ASCII para terminador<br />
;LargoCad CUENTA CARACTERES NO NULOS EN UNA CADENA<br />
;<br />
;Entrada: DI = dirección de la cadena<br />
;Salida: CX = número de caracteres no nulos en la cadena<br />
;Registros: CX<br />
PROC LargoCad<br />
ENDP LargoCad<br />
AUTOR: PROFESOR SALVADOR SAUCEDO FLORES<br />
EDICIÓN: PROFESOR PABLO FUENTES RAMOS<br />
push ax di ;Salva registros que usa<br />
xor al,a ;Carácter a buscar (nulo)<br />
mov cx,0ffffh ;Máximo 65,535 caracteres<br />
cld ;Auto incrementa DI<br />
repnz scasb ;Barre mientras [DI] 0 y CX0<br />
not cx ;Complemento a 1 de CX<br />
dec cx ;Menos 1, igual a largo de cadena<br />
pop di ax ;Repone registros<br />
ret<br />
END ;Fin de módulo MANCADE.ASM<br />
1-5