Este programa era un tabule, el siempre lo mandaba, le modificaba una mariquera al enunciado pero basicamente siempre era el mismo.
Esta codificado para el sistema de desarrollo que esta(ba)? en el laboratorio de la universidad.
1: ORG 2000H 2: LD SP,3DFFH3: INICIO: CALL BORRAR_PAN
4: LD E,0 5: LD HL,DATOS6: E2: CALL SCAN
7: CP "X"
8: JP Z,E49: CP "x"
10: JP Z,E4 11: CP 30H 12: JP C,E2 13: CP 47H 14: JP NC,E2 15: LD (HL),A 16: INC HL 17: LD (HL),24H 18: LD IX,DATOS 19: LD A,420: CALL ENVIAR_MEN
21: E3: CALL SCAN
22: CP 30H 23: JP C,E3 24: CP 47H 25: JP NC,E3 26: LD (HL),A 27: INC HL 28: LD (HL),24H 29: LD IX,DATOS 30: LD A,431: CALL ENVIAR_MEN
32: INC E 33: LD A,E 34: CP 30 35: JP NZ,E236: E4: CALL BORRAR_PAN
37: LD A,1 38: LD IX,LINEA139: CALL ENVIAR_MEN
40: LD A,2 41: LD IX,LINEA242: CALL ENVIAR_MEN
43: LD A,3 44: LD IX,LINEA345: CALL ENVIAR_MEN
46: LD A,4 47: LD IX,LINEA448: CALL ENVIAR_MEN
49: CALL SCAN
50: CP 20H 51: JP NZ,E4 52: LD HL,DATOS 53: LD B,E 54: LD IX,NUMHEX 55: AQUI: LD A,(HL) 56: CP 3AH57: CALL NC,LETRA
58: SUB 30H
59: RLCA 60: RLCA 61: RLCA 62: RLCA 63: LD D,A 64: INC HL 65: LD A,(HL) 66: CP 3AH67: CALL NC,LETRA
68: SUB 30H
69: OR D
70: LD (IX),A 71: INC IX 72: INC HL 73: DJNZ AQUI 74: JP ORDENAR75: LETRA: SUB 7
76: RET 77: ORDENAR: LD HL,NUMHEX 78: LD IX,T1 79: LD B,E 80: LD C,0FEH 81: AQUI2: LD A,(HL) 82: CP C83: CALL Z,MOVER
84: INC HL 85: DJNZ AQUI2 86: LD HL,NUMHEX 87: LD B,E 88: LD A,C89: SUB 2
90: LD C,A 91: JP NC,AQUI2 92: LD HL,NUMHEX 93: LD B,E 94: LD C,1 95: AQUI3: LD A,(HL) 96: CP C97: CALL Z,MOVER
98: INC HL 99: DJNZ AQUI3 100: LD HL,NUMHEX 101: LD B,E 102: LD A,C 103: ADD 2 104: LD C,A 105: JP NC,AQUI3 106: JP TRANSF 107: MOVER: PUSH DE108: CALL HEXASC1
109: LD (IX),D 110: LD (IX+1),E 111: LD (IX+2),24H 112: INC IX 113: INC IX 114: POP DE 115: RET 116: TRANSF: LD IY,NUMHEX 117: LD IX,T2 118: LD B,E 119: AQUI7: LD DE,3030H 120: LD H,30H 121: LD C,(IY) 122: LD A,C123: AND 1
124: CP 0 125: JP NZ,IMPAR 126: LD A,0 127: CP C 128: JP Z,AQUI5 129: AQUI4: INC E 130: LD A,E 131: CP 3AH 132: JP C,AQUI6 133: LD E,30H 134: INC D 135: LD A,D 136: CP 3AH 137: JP C,AQUI6 138: LD D,30H 139: INC H 140: AQUI6: DEC C 141: JP NZ,AQUI4 142: AQUI5: LD (IX),H 143: INC IX 144: LD (IX),D 145: INC IX 146: LD (IX),E 147: INC IX 148: IMPAR: INC IY 149: DJNZ AQUI7 150: JP MULTI 151: MULTI: LD IX,T2 152: LD IY,T3 153: LD B,20 154: AQUI9: LD C,4 155: LD (IY),30H 156: LD (IY+1),30H 157: LD (IY+2),30H 158: LD (IY+3),30H 159: AQUI8: LD A,(IX+2) 160: ADD (IY+3)161: SUB 30H
162: CP 3AH163: CALL NC,AJUSTAR1
164: LD (IY+3),A 165: LD A,(IX+1) 166: ADD (IY+2)167: SUB 30H
168: CP 3AH169: CALL NC,AJUSTAR2
170: LD (IY+2),A 171: LD A,(IX) 172: ADD (IY+1)173: SUB 30H
174: CP 3AH175: CALL NC,AJUSTAR3
176: LD (IY+1),A 177: AQUI10: DEC C 178: JP NZ,AQUI8 179: INC IX 180: INC IX 181: INC IX 182: INC IY 183: INC IY 184: INC IY 185: INC IY 186: DJNZ AQUI9187: E1: CALL SCAN
188: CP 1BH 189: JP NZ,E1 190: LD HL,BLANK 191: PUSH HL 192: LD IX,MENSAJE193: LOOP: EX (SP),IX
194: LD A,4 195: PUSH IX196: CALL ENVIAR_MEN
197: POP IX 198: LD B,50199: HELFSEG: CALL SCAN1
200: CP "S"
201: JP Z,ENDING202: CP "N"
203: JP Z,INICIO 204: DJNZ HELFSEG205: JR LOOP
206: ENDING: RST 30H207: AJUSTAR1: SUB 10
208: INC (IY+2) 209: RET210: AJUSTAR2: SUB 10
211: INC (IY+1) 212: RET213: AJUSTAR3: SUB 10
214: INC (IY) 215: RET 216: HEXASC1: LD A,C217: AND 0F0H
218: RLCA 219: RLCA 220: RLCA 221: RLCA 222: CP 0AH 223: JP C,HM1 224: ADD 7 225: HM1: ADD 30H 226: LD D,A 227: LD A,C228: AND 0FH
229: CP 0AH 230: JP C,HM2 231: ADD 7 232: HM2: ADD 30H 233: LD E,A 234: RET 235: 236: 237: ORG 3000H 238: DATOS DS 70 239: NUMHEX DS 30 240: T1 DS 70 241: T2 DS 100 242: T3 DS 150 243: ESPACIO DB 0,0244: MENSAJE DB " DESEA SALIR? PULSE S o N $"
245: BLANK DB " $"
246: LINEA1 DB " @ ORDENAR$"
247: LINEA2 DB " @ BCD - HEXADECIMAL$"
248: LINEA3 DB " @ MULTIPLICACION$"
249: LINEA4 DB " PRESIONE ENTER PARA CONTINUAR$"
250: SCAN1 EQU 0508H 251: SCAN EQU 04F1H 252: ENVIAR_MEN EQU 052BH 253: BORRAR_PAN EQU 055CH 254: 255: END
No hay comentarios:
Publicar un comentario