.model small.stack.data manejador dw 0 ruta db "c:\materias\prueba.asm",0 cadena db 0 renglon db 0 columna db 0 pagina db 0 FINAL db 200 DUP(" ");**************AREA DE MACROS***************ABRIR_ARCHIVO MACRO RUTA,MODO MOV AH, 3DH LEA DX, RUTA MOV AL, MODO INT 21H ENDMLEER_ARCHIVO MACRO BYTES,MANEJADR,BUFFER MOV AH,3FH MOV CX,BYTES MOV BX,MANEJADOR LEA DX,BUFFER INT 21HENDM IMPRIME_SINCOLOR MACRO CADENA MOV AH,9 LEA DX,CADENA INT 21HENDM TECLA MACRO mov ah,0 int 16h endm CREA_ARCHIVO MACRO archivo_crear MOV AH,3ch LEA DX,archivo_crear mov cx,32 int 21h ENDM ESCRIBIR_ARCHIVO MACRO MANEJADOR,CUANTOS_CARACTERES,QUE_ESCRIBIR MOV AH, 40H MOV BX, MANEJADOR MOV CX, CUANTOS_CARACTERES LEA DX, QUE_ESCRIBIR INT 21H ENDMmacro cursor renglon,columna,pagina mov ah,2 mov dh,renglon mov dl,columna mov bh,pagina int 10hendm imprime macro pagina,numero,caracter,color mov ah,9 mov bh,pagina mov cx,numero mov al,caracter mov bl,color int 10h endm;*******************************************.codeInicializa: mov ax,@data mov ds,ax mov es,ax CICLO: call tec cmp ah,4bh je manda mov cx,10 rep lodsb mov final,al imprime 0,1,cadena,0fh inc columna cursor renglon,columna,pagina jmp ciclo manda: ABRIR_ARCHIVO ruta,2 MOV MANEJADOR, AX; ESCRIBIR_ARCHIVO MANEJADOR,1,final Salir: mov ax,4c00h int 21h tec proc mov ah,0 int 16h mov cadena,al ret tec endp