viernes, 21 de mayo de 2010

Digitales II – Prof. Ochoa – 2ª evaluación

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