Este programa permitia cargar datos a una especie de base de datos y despues lo podias consultar.
No recuerdo para que profersor era pero si funcionaba, generalmente los controles los hacia el profesor Ochoa.
5: ORG 2000H
6: LD SP,3DFFH
7:
8: LD IY,3000H
9: LD B,0
10: LIMPIAM: LD (IY),0
11: INC IY
12: DJNZ LIMPIAM
13:
14: LD HL,CONTADOR
15: LD (HL),0
16:
17: INICIO: CALL BORRAR_PAN
18: LD IX,LINEA1
19: LD A,1
20: CALL ENVIAR_MEN
21:
22: LD IX,LINEA2
23: LD A,2
24: CALL ENVIAR_MEN
25:
26: LD IX,LINEA3
27: LD A,3
28: CALL ENVIAR_MEN
29:
30: LD IX,LINEA4
31: LD A,4
32: CALL ENVIAR_MEN
33:
34: TECLA: CALL SCAN
35: CP "1"
36: JP Z,INGRESA
37: CP "2"
38: JP Z,CONSULTA
39: CP "3"
40: JP Z,SALIR
41: JP TECLA
42: SALIR: CALL BORRAR_PAN
43: RST 30H
44:
45:
46: ; INGRESAR
47: INGRESA: CALL BORRAR_PAN
48: LD IX,MENSAJE
49: LD A,1
50: CALL ENVIAR_MEN
51: LD IY,3000H
52: LD HL,CONTADOR
53: LD A,(HL)
54: CP 0
55: JP Z,NOINCREM
56: INC (HL)
57: LD A,(HL)
58: LD B,A
59: LD DE,58
60: PROXREG: ADD IY,DE
61: DJNZ PROXREG
62:
63: NOINCREM: PUSH IY
64: POP HL
65:
66: LD B,2
67: ESPCOD: CALL SCAN
68: LD (IY),A
69: INC IY
70: LD (IY),24H
71: CALL IMPRIME
72: DJNZ ESPCOD
73: LD (IY),20H
74: INC IY
75:
76: LD B,15
77: ESPPRO: CALL SCAN
78: CP 20H
79: CALL Z,ENTER
80:
81: LD (IY),A
82: INC IY
83: LD (IY),24H
84: CALL IMPRIME
85: DJNZ ESPPRO
86: LD (IY),20H
87: INC IY
88:
89: LD B,30
90: ESPDES: CALL SCAN
91: CP 20H
92: CALL Z,ENTER
93:
94: LD (IY),A
95: INC IY
96: LD (IY),24H
97: CALL IMPRIME
98: DJNZ ESPDES
99: LD (IY),20H
100: INC IY
101:
102: LD B,5
103: ESPPRE: CALL SCAN
104: LD (IY),A
105: INC IY
106: LD (IY),24H
107: CALL IMPRIME
108: DJNZ ESPPRE
109: LD (IY),20H
110: INC IY
111:
112:
113: LD B,2
114: ESPCAN: CALL SCAN
115: LD (IY),A
116: INC IY
117: LD (IY),24H
118: CALL IMPRIME
119: DJNZ ESPCAN
120: CALL SCAN
121:
122: JP INICIO
123:
124: ENTER: PUSH AF
125: LD A,1
126: ENTER1: LD (IY),20H
127: INC IY
128: DEC B
129: CP B
130: JP NZ,ENTER1
131: POP AF
132: RET
133:
134: IMPRIME: PUSH HL
135: POP IX
136: LD A,2
137: CALL ENVIAR_MEN
138: RET
139:
140: ;consultar
141: CONSULTA: CALL BORRAR_PAN
142: LD IX,LINEA5
143: LD A,1
144: CALL ENVIAR_MEN
145:
146: LD B,2
147: LD IY,CODIGO
148: CODIG: CALL SCAN
149: LD (IY),A
150: INC IY
151: LD IX,LINEA5
152: LD A,1
153: CALL ENVIAR_MEN
154: DJNZ CODIG
155:
156: LD HL,CONTADOR
157: LD A,(HL)
158: CP 0
159: JP Z,NADA
160:
161: LD B,(HL)
162: LD IX,3000H
163:
164: SIGUI2: LD IY,CODIGO
165: LD A,(IX)
166: CP (IY)
167: JP NZ,SIGUI
168: LD A,(IX+1)
169: CP (IY+1)
170: JP NZ,SIGUI
171:
172: PUSH IX
173: POP HL
174: CALL IMPRIME
175: CALL SCAN
176: JP INICIO
177:
178: SIGUI: LD DE,58
179: ADD IX,DE
180: DJNZ SIGUI2
181: LD IX,LINEA6
182: LD A,2
183: CALL ENVIAR_MEN
184: CALL SCAN
185: NADA: JP INICIO
186:
187: ORG 2500H
188: LINEA1 DB " MENU DE OPCIONES",24H
189: LINEA2 DB "1. AGREGAR PRODUCTOS",24H
190: LINEA3 DB "2 . CONSULTAR",24H
191: LINEA4 DB "3. SALIR",24H
192: MENSAJE DB " CODIGO PRODUCTO DESCRIPCION PRECIO CANTIDAD",24H
193: CONTADOR DB 0
194: LINEA5 DB " INTRODUCE EL CODIGO DEL PRODUCTO "
195: CODIGO DB " ",24H
196: LINEA6 DB " CODIGO NO TIENE PRODUCTO REGISTRADO",24H
197:
198: ORG 3000H
199:
200: ENVIAR_MEN RET ;EQU 052BH
201: SCAN RET ;EQU 04F1H
202: BORRAR_PAN RET ;EQU 055CH
203:
204: END
No hay comentarios:
Publicar un comentario