viernes, 21 de mayo de 2010

Digitales II – Wilson Mendoza – 1era Evaluación Intensivo 2006

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


   3:  INICIO:        CALL BORRAR_PAN


   4:          LD E,0


   5:          LD HL,DATOS


   6:  E2:        CALL SCAN


   7:          CP "X"


   8:          JP Z,E4


   9:          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,4


  20:          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,4


  31:          CALL ENVIAR_MEN


  32:          INC E


  33:          LD A,E


  34:          CP 30


  35:          JP NZ,E2


  36:  E4:        CALL BORRAR_PAN


  37:          LD A,1


  38:          LD IX,LINEA1


  39:          CALL ENVIAR_MEN        


  40:          LD A,2


  41:          LD IX,LINEA2


  42:          CALL ENVIAR_MEN


  43:          LD A,3


  44:          LD IX,LINEA3


  45:          CALL ENVIAR_MEN        


  46:          LD A,4


  47:          LD IX,LINEA4


  48:          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 3AH


  57:          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 3AH


  67:          CALL NC,LETRA


  68:          SUB 30H


  69:          OR D


  70:          LD (IX),A


  71:          INC IX


  72:          INC HL


  73:          DJNZ AQUI


  74:          JP ORDENAR


  75:  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 C


  83:          CALL Z,MOVER


  84:          INC HL


  85:          DJNZ AQUI2


  86:          LD HL,NUMHEX


  87:          LD B,E


  88:          LD A,C


  89:          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 C


  97:          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 DE


 108:          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,C


 123:          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 3AH


 163:          CALL NC,AJUSTAR1


 164:          LD (IY+3),A


 165:          LD A,(IX+1)


 166:          ADD (IY+2)


 167:          SUB 30H


 168:          CP 3AH


 169:          CALL NC,AJUSTAR2


 170:          LD (IY+2),A


 171:          LD A,(IX)


 172:          ADD (IY+1)


 173:          SUB 30H


 174:          CP 3AH


 175:          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 AQUI9


 187:  E1:        CALL SCAN


 188:          CP 1BH


 189:          JP NZ,E1


 190:          LD HL,BLANK


 191:          PUSH HL


 192:          LD IX,MENSAJE


 193:  LOOP:        EX (SP),IX


 194:          LD A,4


 195:          PUSH IX


 196:          CALL ENVIAR_MEN


 197:          POP IX


 198:          LD B,50


 199:  HELFSEG:    CALL SCAN1


 200:          CP "S"


 201:          JP Z,ENDING


 202:          CP "N"


 203:          JP Z,INICIO


 204:          DJNZ HELFSEG


 205:          JR LOOP


 206:  ENDING:        RST 30H


 207:  AJUSTAR1:    SUB 10


 208:          INC (IY+2)        


 209:          RET


 210:  AJUSTAR2:    SUB 10


 211:          INC (IY+1)        


 212:          RET


 213:  AJUSTAR3:    SUB 10


 214:          INC (IY)        


 215:          RET


 216:  HEXASC1:    LD A,C


 217:          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,C


 228:          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,0


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