viernes, 21 de mayo de 2010

Digitales II – Prof. Ochoa – 1ª Evaluación

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,3DDDH


   3:  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,1


  23:          CALL ENVIAR_MEN


  24:          LD IX,MENSAJE3


  25:          LD A,2


  26:          CALL ENVIAR_MEN


  27:          LD C,0


  28:          LD B,4


  29:          LD HL,TASCII


  30:          LD IY,THEX


  31:  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 HL


  40:          CALL ONU


  41:          LD (IY+1),A


  42:          INC IY


  43:          INC C


  44:          LD IX,MENSAJE1


  45:          LD A,1


  46:          CALL ENVIAR_MEN


  47:          DJNZ AQUI


  48:          JP L2


  49:  ONU:        SUB 30H


  50:          RET


  51:  L2:        LD HL,TASCII2


  52:  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 HL


  60:          SUB 30H


  61:          LD B,A


  62:          LD A,1


  63:          LD IX,MENSAJE1


  64:          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 AQUI6


  91:          CALL CHECK


  92:          LD IX,MENSAJE3


  93:          LD A,2


  94:          CALL ENVIAR_MEN


  95:          JP FINAL


  96:  AJUSTO:        AND 0FH


  97:          SCF


  98:          JP AQUI8


  99:  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,AQUI


 115:          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:          RET


 132:  MOV2:        CALL ROTA


 133:          CALL ROTA


 134:          RET


 135:  MOV3:        CALL ROTA


 136:          CALL ROTA


 137:          CALL ROTA


 138:          RET


 139:          


 140:          ORG 2500H


 141:  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