Es una balanza digital, donde calcula el precio a pagar a partir una cantidad medida y el precio por kg, solo con numero enteros
1: ORG 2000H 2: LD SP,3DDDH3: INICIO: CALL BORRAR
4: LD IX,TTOTAL 5: LD IY,THEX 6: LD HL,TASCII3 7: LD B,5 8: LIMPIAR LD (IX),0 9: LD (IY),0 10: LD (HL),20H 11: INC IX 12: INC IY 13: DJNZ LIMPIAR 14: LD B,4 15: LD IX,TASCII 16: LIMPIAR2: LD (IX),20H 17: INC IX 18: DJNZ LIMPIAR2 19: LD IX,TASCII2 20: LD (IX),20H 21: LD IX,MENSAJE1 22: LD A,123: CALL ENVIAR_MEN
24: LD IX,MENSAJE3 25: LD A,226: CALL ENVIAR_MEN
27: LD C,0 28: LD B,4 29: LD HL,TASCII 30: LD IY,THEX31: AQUI: CALL SCAN
32: CP 20H 33: JP Z,ROTO 34: CP 30H 35: JP C,AQUI 36: CP 3AH 37: JP NC,AQUI 38: LD (HL),A 39: INC HL40: CALL ONU
41: LD (IY+1),A 42: INC IY 43: INC C 44: LD IX,MENSAJE1 45: LD A,146: CALL ENVIAR_MEN
47: DJNZ AQUI 48: JP L249: ONU: SUB 30H
50: RET 51: L2: LD HL,TASCII252: AQUI2: CALL SCAN
53: CP 30H 54: JP Z,AQUI9 55: JP C,AQUI2 56: CP 3AH 57: JP NC,AQUI2 58: LD (HL),A 59: INC HL60: SUB 30H
61: LD B,A 62: LD A,1 63: LD IX,MENSAJE164: CALL ENVIAR_MEN
65: AQUI4: SCF 66: CCF 67: LD C,5 68: LD IX,THEX 69: LD IY,TTOTAL 70: AQUI7: LD A,(IX+4) 71: ADC A,(IY+4) 72: DAA 73: CP 0AH 74: JP NC,AJUSTO 75: CCF 76: AQUI8: LD (IY+4),A 77: DEC IY 78: DEC IX 79: DEC C 80: JP NZ,AQUI7 81: DJNZ AQUI4 82: AQUI9: LD IX,TASCII3 83: LD IY,TTOTAL 84: LD B,5 85: AQUI6: LD A,(IY+4)86: CALL HEXASC
87: LD (IX+4),A 88: DEC IX 89: DEC IY 90: DJNZ AQUI691: CALL CHECK
92: LD IX,MENSAJE3 93: LD A,294: CALL ENVIAR_MEN
95: JP FINAL96: AJUSTO: AND 0FH
97: SCF 98: JP AQUI899: FINAL: CALL SCAN
100: CP 20H 101: JP NZ,INICIO 102: FINISH: RST 30H 103: CHECK: LD IX,TASCII3 104: LD B,5 105: LD A,30H 106: AQUI10: CP (IX) 107: JP NZ,NADA 108: LD (IX),20H 109: INC IX 110: DJNZ AQUI10 111: NADA: RET 112: ROTO: LD A,C 113: CP 0 114: JP Z,AQUI115: CALL MOVER
116: JP L2 117: MOVER: LD IX,THEX 118: LD A,C 119: CP 1 120: JP Z,MOV3 121: CP 2 122: JP Z,MOV2 123: ROTA: LD A,(IX+3) 124: LD (IX+4),A 125: LD A,(IX+2) 126: LD (IX+3),A 127: LD A,(IX+1) 128: LD (IX+2),A 129: LD A,(IX) 130: LD (IX+1),A 131: RET132: MOV2: CALL ROTA
133: CALL ROTA
134: RET135: MOV3: CALL ROTA
136: CALL ROTA
137: CALL ROTA
138: RET 139: 140: ORG 2500H141: MENSAJE1 DB " Bs. POR KILO: "
142: TASCII DB " "
143: MENSAJE2 DB " Kg. PESADOS: "
144: TASCII2 DB " $"
145: MENSAJE3 DB " TOTAL EN Bs. "
146: TASCII3 DB " $"
147: THEX DS 5 148: TTOTAL DS 5 149: SCAN EQU 04F1H 150: ENVIAR_MEN EQU 052BH 151: BORRAR EQU 055CH 152: HEXASC EQU 056FH 153: END
No hay comentarios:
Publicar un comentario