Revisar definición de datos en el codigo para que vean que se podia hacer con este programa
1: ORG 2000H
2: LD SP,3DFFH
3: MENU1: CALL BORRAR_PAN
4: LD IX,L11
5: LD A,1
6: CALL ENVIAR_MEN
7: LD IX,L12
8: LD A,2
9: CALL ENVIAR_MEN
10: LD IX,L13
11: LD A,3
12: CALL ENVIAR_MEN
13: LD IX,L14
14: LD A,4
15: CALL ENVIAR_MEN
16: TECLA1: CALL SCAN
17: CP "1"
18: JP Z,NR
19: CP "2"
20: JP Z,BR
21: CP "3"
22: JP Z,ER
23: CP "4"
24: JP Z,SALIR
25: JP TECLA1
26: NR: CALL BORRAR_PAN
27: LD IY,REGISTR0
28: LD HL,CONT
29: LD A,(HL)
30: CP 10
31: JP NC,NADA
32: INC (HL)
33: LD DE,54
34: CP 0
35: JP Z,REG0
36: CP 1
37: JP Z,REG1
38: CP 2
39: JP Z,REG2
40: CP 3
41: JP Z,REG3
42: CP 4
43: JP Z,REG4
44: CP 5
45: JP Z,REG5
46: CP 6
47: JP Z,REG6
48: CP 7
49: JP Z,REG7
50: CP 8
51: JP Z,REG8
52: ADD IY,DE
53: REG8: ADD IY,DE
54: REG7: ADD IY,DE
55: REG6: ADD IY,DE
56: REG5: ADD IY,DE
57: REG4: ADD IY,DE
58: REG3: ADD IY,DE
59: REG2: ADD IY,DE
60: REG1: ADD IY,DE
61: REG0: PUSH IY
62: LD IX,MARCO
63: LD A,1
64: CALL ENVIAR_MEN
65: LD B,9
66: INTEXP: CALL SCAN
67: CP 30H
68: JP C,INTEXP
69: CP 3AH
70: JP NC,INTEXP
71: LD (IY),A
72: INC IY
73: POP IX
74: PUSH IX
75: LD A,2
76: CALL ENVIAR_MEN
77: DJNZ INTEXP
78: LD B,40
79: INTNOM: CALL SCAN
80: CP 30H
81: JP C,INTNOM1
82: CP 3AH
83: JP C,INTNOM
84: INTNOM1: LD (IY),A
85: INC IY
86: POP IX
87: PUSH IX
88: LD A,2
89: CALL ENVIAR_MEN
90: DJNZ INTNOM
91: INTSEX: CALL SCAN
92: CP "M"
93: JP Z,SEXO
94: CP "F"
95: JP Z,SEXO
96: JP INTSEX
97: SEXO: LD (IY),A
98: INC IY
99: POP IX
100: PUSH IX
101: LD A,2
102: CALL ENVIAR_MEN
103: INTESP: CALL SCAN
104: CP "S"
105: JP Z,ESPEC
106: CP "I"
107: JP Z,ESPEC
108: CP "M"
109: JP Z,ESPEC
110: JP INTESP
111: ESPEC: LD (IY),A
112: INC IY
113: POP IX
114: PUSH IX
115: LD A,2
116: CALL ENVIAR_MEN
117: LD B,2
118: INTEDAD: CALL SCAN
119: CP 30H
120: JP C,INTEDAD
121: CP 3AH
122: JP NC,INTEDAD
123: LD (IY),A
124: INC IY
125: POP IX
126: PUSH IX
127: LD A,2
128: CALL ENVIAR_MEN
129: DJNZ INTEDAD
130: LD (IY),24H
131: NADA: JP MENU1
132:
133: BR: LD HL,REG
134: LD IY,REG
135: LD B,15
136: CALL BORRAR_PAN
137: LD IX,L21
138: LD A,1
139: CALL ENVIAR_MEN
140: LD IX,L22
141: LD A,2
142: CALL ENVIAR_MEN
143: LD IX,L23
144: LD A,3
145: CALL ENVIAR_MEN
146: LD IX,L24
147: LD A,4
148: CALL ENVIAR_MEN
149: TECLA2: CALL SCAN
150: CP "1"
151: JP Z,BUSAPE
152: CP "2"
153: JP Z,BUSSEX
154: CP "3"
155: JP Z,BUSESP
156: CP "4"
157: JP Z,MENU1
158: JP TECLA2
159: BUSSEX: LD DE,49
160: ADD IY,DE
161: JP BUSCAR
162: BUSESP: LD DE,50
163: ADD IY,DE
164: JP BUSCAR
165: BUSAPE: LD DE,9
166: ADD IY,DE
167: JP BUSCAR
168: BUSCAR: CALL BORRAR_PAN
169: LD IX,L31
170: LD A,2
171: CALL ENVIAR_MEN
172: LD DE,54
173: CALL SCAN
174: LD C,A
175: BUSC1: LD A,(IY)
176: CP C
177: CALL Z,MOSTRAR
178: ADD HL,DE
179: ADD IY,DE
180: DJNZ BUSC1
181: LD HL,CONT2
182: LD (HL),0
183: LD HL,ERROR
184: LD A,(HL)
185: CP 0
186: CALL Z,NINGUNO
187: LD (HL),0
188: JP MENU1
189: MOSTRAR: PUSH HL
190: PUSH HL
191: POP IX
192: LD HL,CONT2
193: LD A,(HL)
194: CALL ENVIAR_MEN
195: INC (HL)
196: LD A,(HL)
197: CP 5
198: CALL Z,MOSTR1
199: LD HL,ERROR
200: LD (HL),1
201: POP HL
202: RET
203: MOSTR1: LD (HL),1
204: CALL SCAN
205: CALL BORRAR_PAN
206: RET
207: SALIR: RST 30H
208: NINGUNO: LD IX,L32
209: LD A,2
210: CALL ENVIAR_MEN
211: CALL SCAN
212: RET
213:
214: ER: CALL BORRAR_PAN
215: LD IX,L33
216: LD A,2
217: CALL ENVIAR_MEN
218: LD IY,L34
219: DEC IY
220: LD B,2
221: INTIND: CALL SCAN
222: CP 30H
223: JP C,INTIND
224: CP 3AH
225: JP NC,INTIND
226: LD (IY),A
227: INC IY
228: LD (IY),24H
229: LD IX,L33
230: LD A,2
231: CALL ENVIAR_MEN
232: DJNZ INTIND
233: LD IY,L34
234: DEC IY
235: LD A,(IY)
236: AND 0FH
237: RLCA
238: RLCA
239: RLCA
240: RLCA
241: LD H,A
242: LD A,(IY+1)
243: AND 0FH
244: OR H
245: LD IY,REG
246: LD DE,54
247: CP 01H
248: JP Z,REG00
249: CP 02H
250: JP Z,REG01
251: CP 03H
252: JP Z,REG02
253: CP 04H
254: JP Z,REG03
255: CP 05H
256: JP Z,REG04
257: CP 06H
258: JP Z,REG05
259: CP 07H
260: JP Z,REG06
261: CP 08H
262: JP Z,REG07
263: CP 09H
264: JP Z,REG08
265: CP 10H
266: JP Z,REG09
267: CP 11H
268: JP Z,REG10
269: CP 12H
270: JP Z,REG11
271: CP 13H
272: JP Z,REG12
273: CP 14H
274: JP Z,REG13
275: CP 15H
276: JP Z,REG14
277: LD IX,L32
278: LD A,2
279: CALL ENVIAR_MEN
280: CALL SCAN
281: JP MENU1
282: REG14: ADD IY,DE
283: REG13: ADD IY,DE
284: REG12: ADD IY,DE
285: REG11: ADD IY,DE
286: REG10: ADD IY,DE
287: REG09: ADD IY,DE
288: REG08: ADD IY,DE
289: REG07: ADD IY,DE
290: REG06: ADD IY,DE
291: REG05: ADD IY,DE
292: REG04: ADD IY,DE
293: REG03: ADD IY,DE
294: REG02: ADD IY,DE
295: REG01: ADD IY,DE
296: REG00: NOP
297: LD B,53
298: ER1: LD (IY),0
299: INC IY
300: DJNZ ER1
301: LD IX,L35
302: LD A,3
303: CALL ENVIAR_MEN
304: CALL SCAN
305: JP MENU1
306:
307:
308: ORG 3500H
309: MARCO DB " EXP. APELLIDOS Y NOMBRE SE ED"
310: DB 24H
311: REG DB "200000125MARQUEZ RAFAEL MM27$"
312: DB "200010407BAPTISTA JULIO MI24$"
313: DB "200201419KIDMAN NICOLE FI19$"
314: DB "200110307BONO ANARELLA FS22$"
315: DB "200100745IGLESIAS ARMANDO MS23$"
316: REGISTR0 DS 53
317: DB 24H
318: REGISTR1 DS 53
319: DB 24H
320: REGISTR2 DS 53
321: DB 24H
322: REGISTR3 DS 53
323: DB 24H
324: REGISTR4 DS 53
325: DB 24H
326: REGISTR5 DS 53
327: DB 24H
328: REGISTR6 DS 53
329: DB 24H
330: REGISTR7 DS 53
331: DB 24H
332: REGISTR8 DS 53
333: DB 24H
334: REGISTR9 DS 53
335: DB 24H
336: CONT DB 0
337: CONT2 DB 1
338: ERROR DB 0
339: L11 DB " 1. INTRODUCIR REGISTRO NUEVO$"
340: L12 DB " 2. BUSCAR Y MOSTRAR GRUPO DE REGISTROS$"
341: L13 DB " 3. BORRAR REGISTRO$"
342: L14 DB " 4. SALIR$"
343: L21 DB " 1. APELLIDOS$"
344: L22 DB " 2. SEXO$"
345: L23 DB " 3. ESPECIALIDAD$"
346: L24 DB " 4. SALIR$"
347: L31 DB " INDIQUE LA PRIMERA LETRA$"
348: L32 DB " NO EXISTE REGISTRO CON LA CONDICION$"
349: L33 DB " INDIQUE EL NUMERO DEL REGISTRO A BORRAR $"
350: L34 DB 0,0,24H
351: L35 DB " REGISTRO ELIMINADO!!!$"
352: SCAN EQU 04F1H
353: ENVIAR_MEN EQU 052BH
354: BORRAR_PAN EQU 055CH
355: END
No hay comentarios:
Publicar un comentario