Este programa lee el contenido del Archivo Maestro.dat y va leyendo los registros del mismo, se chequea el sueldo de la persona si es mayor a un numero se clasifica como empleado o como obrero, y se generan dos archivos (Empleado.dat y Obrero.dat) con los resultado de la clasificación
1: .MODEL SMALL 2: .STACK 64H 3: .DATA4: NOMBRE1 DB "MAESTRO.DAT",0,0,0
5: NOMBRE2 DB "OBRERO.DAT",0,0,0
6: NOMBRE3 DB "EMPLEADO.DAT",0,0,0
7: DATOS1 DB 1000 DUP (?) 8: DATOS2 DB 1000 DUP (?) 9: DATOS3 DB 1000 DUP (?) 10: MANE DW ?11: LISTO DB "!!! ARCHIVOS CREADOS!!!"
12: ATRIBUTO DB 70H 13: 14: 15: .CODE 16: MOV AX,@DATA 17: MOV ES,AX 18: MOV DS,AX 19: ; SE CARGARA EL CONTENIDO DEL ARCHIVO MAESTRO.DAT A LA MEMORIA 20: ; PARA LUEGO PROCESAR LOS DATOS. PARA ELLOS SE ABRE EL ARCHIVO: 21: 22: MOV AH,3DH 23: MOV AL,0 24: LEA DX,NOMBRE1 25: INT 21H 26: MOV MANE,AX 27: 28: ; SE LEE EL ARCHIVO 29: MOV AH,3FH 30: MOV BX,MANE 31: MOV CX,1000 32: LEA DX,DATOS1 33: INT 21H 34: ; Y SE CIERRA EL ARCHIVO 35: MOV AH,3EH 36: MOV BX,MANE 37: INT 21H 38: ; AHORA SE CLASIFICARAN LOS DATOS DEPENDIENDO DEL SUELDO, PARA ELLOS LEEREMOS39: ; EL BYTE 31 DE CADA REGISTRO Y SI ES MAYOR QUE 35H Y ASI SABER SI ES MAYOR O IGUAL
40: ; A 5000 41: 42: LEA SI,DATOS1 43: LEA BX,DATOS2 ; LOS MENORES A 5000 44: LEA DI,DATOS3 ; LOS MAYORES O IGUALES A 5000 45: MOV DX,10 46: SIGUIENTE: MOV AL,[SI+30] 47: CMP AL,35H 48: JC MENOR 49: MOV CX,36 50: REP MOVSB 51: SALTO: DEC DX 52: JNZ SIGUIENTE 53: JMP GUARDAR 54: MENOR: MOV CX,36 55: SALTO1: MOV AL,[SI]56: MOV BYTE PTR [BX],AL
57: INC SI 58: INC BX59: LOOP SALTO1
60: JMP SALTO 61: GUARDAR: NOP 62: ; SE GUARDARAN PARA ELLO SE PROCEDE A CREAR EL ARCHIVO 63: ; PRIMERO HARE EL DE LOS EMPLEADOS 64: 65: MOV AH,3CH 66: MOV CX,0 67: LEA DX,NOMBRE3 68: INT 21H 69: MOV MANE,AX 70: ; AHORA LO ABRO 71: MOV AH,3DH 72: MOV AL,2 73: LEA DX,NOMBRE3 74: INT 21H 75: MOV MANE,AX 76: ; AHORA ESCRIBO 77: MOV AH,40H 78: MOV BX,MANE 79: MOV CX,1000 80: LEA DX,DATOS3 81: INT 21H 82: ; AHORA LO CIERRO Y LISTO 83: MOV AH,3EH 84: MOV BX,MANE 85: INT 21H 86: 87: ; SE COPIA Y PEGA EL BLOQUE DE ARRIBA CAMBIANDO 88: ; LOS BUFFER APUNTADOS 89: 90: MOV AH,3CH 91: MOV CX,0 92: LEA DX,NOMBRE2 93: INT 21H 94: MOV MANE,AX 95: ; AHORA LO ABRO 96: MOV AH,3DH 97: MOV AL,2 98: LEA DX,NOMBRE2 99: INT 21H 100: MOV MANE,AX 101: ; AHORA ESCRIBO 102: MOV AH,40H 103: MOV BX,MANE 104: MOV CX,1000 105: LEA DX,DATOS2 106: INT 21H 107: ; AHORA LO CIERRO 108: MOV AH,3EH 109: MOV BX,MANE 110: INT 21H 111: ; AHORA IMPRIMO EL MENSAJE QUE SE CREARON LOS ARCHIVOS 112: MOV AH,13H 113: MOV AL,1 114: MOV BH,0 115: MOV BL,ATRIBUTO 116: MOV CX,23 117: MOV DH,10 118: MOV DL,25 119: LEA BP,LISTO 120: INT 10H 121: 122: .EXIT(0)
123: 124: ENDLa estructura del archivo Maestro.DAT
1: Armando Iglesias 11390077 9999 2: Barry Bonds 12487963 2145 3: Edith Duarte 16120254 7235 4: Cristiano Ronaldo 10258654 1000 5: Nicole Kidman 14854961 4500 6: Jose Perez 10254789 1542 7: Maria Gonzales 15648979 2456 8: Jule Guariguata15741852 6250 9: Norkis Baptista 14895234 8500 10: Norelis Rodriguez 36589481 6584
No hay comentarios:
Publicar un comentario