Professional Documents
Culture Documents
TITLE P17ASCRD (EXE) Lee un archivo ASCII .MODEL SMALL ;DEFINE EL MODELO DE MEMORIA .STACK 64 ;DEFINE EL SEGMENTO DE PILA Y TAMAO
;------------------------------------------------------.DATA ;Define el segmento de datos ;area de despliegue ;Indicador del fin del proceso ;Manejador del archivo
;------------------------------------------------------.CODE BEGIN PROC FAR MOV MOV MOV MOV AX,@data DS,AX ES,AX AX,0600h ;inicio de codigo ;Procedimiento principal ;inicializa ;registros de ;segmento ;mueve el acumulador a esa direccion de memoria ;Limpia la pantalla ;coloca el cursor ;abre archivo ;Apertura valida?
CALL Q10SCR CALL Q20CURS CALL E10OPEN CMP JNE A20LOOP: CALL R10READ CMP ENDCDE,00 ENDCDE,00 A90
;no, salir ;si continuar ;Lee el primer sector del disco ;fin del archivo, no hay datos?
Pgina 1
CALL G10XFER
AH,3Eh BX,HANDLE
21h
AX,4C00h 21h
BEGIN ENDP ; ;
; comienza
Abre archivo en disco: ______________________ ;procedimiento principal ;peticion para abrir ;Solo lectura ;colocar el cursor en direccion
E10OPEN PROC NEAR MOV MOV LEA INT JNC AH,3Dh AL,00
;cierre de programa ;examinar bandera de acarreo ;si esta en uno error ;saltos, ciclos, procedimientos del ip HANDLE,AX ;guarda manejador
; ;
Pgina 2
DX,SECTOR+512 ;colocar el cursor en direccion al registro de datos SI,DX G40 ;fin del sector indice fuentecon el registro de datos ;no, pasar ;si, lee el siguiente ;fin del archivo
CALL R10READ CMP JE LEA G40: LEA CMP JB MOV ENDCDE,00 G80
SI,SECTOR
DX,DISAREA+80 ;colocar el cursor en direccion al registro de datos DI,DX ;fin del sector registro indice destino de registro de datos ;no , pasar ;si, colocar cr/lf ;fijar la linea anterior al video normal ;reinicializar ;[si] a AL, inc si ;almacena bytes y establece los indicadores de consecuencia de nivel mas
G50
[DI],0D0Ah
G50: LODSB STOSB bajo low CMP JE CMP JNE AL,1Ah G80 AL,0Ah G30
;fin del sector low.. fin de archivo ;si, salir ;avanza linea ;no repetir el ciclo ;fijar la linea anterior al video normal ;salto o bifurcacion a la direccion ;fijar la linea anterior al video normal
Pgina 3
H10DISP PROC NEAR MOV MOV LEA NEG ADD LEA INT CMP JAE INC JMP AH,40h BX,01 CX,DISAREA CX CX,DI DX,DISAREA 21h ROW,22 H20 ROW H90
;niega al registro contador ;modifica el registro contador porregistro indice destino ;coloca el cursor en el destino
;fin del programa ;compara el renglon ala parte inferior de la pantalla ;no salir ;inicia comparacion ; salta la direccion ;mueve el acumulador ala direccion para un recorrido ;limpia la pantalla (trasfiere el control del programa) ;coloca el cursor ;saltos, ciclos, procedimientos del ip ;DESPLEGAR Y CERRAR ENDP
H20: MOV
AX,0601h
Recorre la pantalla: ____________________ ;procedimiento principal ;mueve y asigna atributo ;mueve registro contador a direccion ;mueve el registro de datos
Q10SCR PROC NEAR MOV MOV MOV INT BH,1Eh CX,0000 DX,184Fh 10h
Q20CURS PROC NEAR MOV MOV MOV MOV INT RET Q20CURS ENDP ; ; AH,02h BH,00 DH,ROW DL,00 10h
Lee sector del disco: _____________________ ;procedimiento principal ;mueve el bite mas alto y `peticion de lectura ;mueve el cursos del dispositivo ;mueve el registro contador a una longitud ;buffer... memoria de almacenamiento temporal
R10READ PROC NEAR MOV MOV MOV LEA INT MOV RET R10READ ENDP ; ; AH,3Fh BX,HANDLE CX,512 DX,SECTOR 21h
ENDCDE,AX
;procedimiento principal
Pgina 5
DX,OPENMSG 21h
ENDCDE,01
Pgina 6