viernes, 4 de junio de 2010

Digitales III – Prof. Mendoza – 2ª evaluacion Semestre 2007-I

Chequear la declaracion en el segmento de datos para conocer la funcionalidad.

   1:                  .model small


   2:                  .stack 64h


   3:                  .data


   4:  REGISTROS       DB " WILSON         MENDOZA         50.0    50.0    50.0    50.0    50.0          $"


   5:                  DB " GERALINE       LEAL            60.0    56.1    69.9    50.4    67.9          $"


   6:                  db " MIKE           GARCIA          48.5    59.6    50.1    60.9    76.5          $"


   7:                  DB " ARMANDO        IGLESIAS        70.5    79.1    53.3    29.6    48.9          $"


   8:                  DB " HUGO           CHAVEZ          45.6    48.0    23.5    15.3    12.5          $"


   9:                  DB " CARLOS         SANCHEZ         85.2    62.5    64.8    48.7    50.2          $"


  10:                  DB "                                                                              $"


  11:                  DB "                                                                              $"


  12:                  DB "                                                                              $"


  13:                  DB "                                                                              $"


  14:                  DB "                                                                              $"


  15:                  DB "                                                                              $"


  16:                  DB "                                                                              $"


  17:                  DB "                                                                              $"


  18:                  DB "                                                                              $"


  19:                  DB "                                                                              $"


  20:                  DB "                                                                              $"


  21:                  DB "                                                                              $"


  22:                  DB "                                                                              $"


  23:                  DB "                                                                              $"


  24:                  DB "                                                                              $"


  25:                  DB "                                                                              $"


  26:                  DB "                                                                              $"


  27:                  DB "                                                                              $"


  28:                  DB "                                                                              $"


  29:                  DB "                                                                              $"


  30:   


  31:  TABLA           DB 2000 DUP (0)


  32:                  DB 24H


  33:  COLOR           db 71H


  34:  COLOR2          DB 34H


  35:  contador        db ?


  36:  MARCO           DB 201,72 DUP (205),187,10,13


  37:                  DB 186,"NOMBRES      ",186,"APELLIDOS     ",186,"Nota 1 ",186,"NOTA 2 ",186,"NOTA 3 ",186,"NOTA 4 ",186,"NOTA 5     ",186,10,13


  38:                  DB 200,72 DUP (205),188,24H


  39:  max             db ?


  40:  real            db ?


  41:  buffer          db 20 dup (0)


  42:  fila        db ?


  43:  columna        db ?


  44:  MENU            DB "                    1.      INGRESAR ESTUDIANTE",10,13


  45:                  DB "                    2.      PROMEDIAR NOTAS",10,13


  46:                  DB "                    3.      ORDENAR POR NOTA Y MATERIA",10,13


  47:                  DB "                    4.      ORDENAR POR NOMBRE",10,13


  48:                  DB "                    5.      ORDENAR POR APELLIDO",10,13


  49:                  DB "                    6.      ORDENAR POR PROMEDIO",10,13,24H


  50:   


  51:  MENU2           DB "                    ORDENAR POR:",10,13


  52:                  DB 10,13


  53:                  DB "                    1.      NOTA 1",10,13


  54:                  DB "                    2.      NOTA 2",10,13


  55:                  DB "                    3.      NOTA 3",10,13


  56:                  DB "                    4.      NOTA 4",10,13


  57:                  DB "                    5.      NOTA 5",10,13


  58:                  DB 10,13


  59:                  DB "                    PRESIONE UNA TECLA ",10,13,24H


  60:   


  61:  REGISTRO        DW 6


  62:  cadena          db "ABC"


  63:  cadena2         db "   "


  64:  cadena3         db "00"


  65:  cadena4         db "99"


  66:  cadena5         db "  "


  67:   


  68:  TOTAL           DW ?


  69:  nminima         db ?


  70:  nmaxima         db ?


  71:  SWMIN           DB ?


  72:   


  73:   


  74:   


  75:                  .code


  76:                  mov ax,@data


  77:                  mov es,ax


  78:                  mov ds,ax


  79:                  MOV AH,0


  80:                  MOV AL,3


  81:                  INT 10H


  82:   


  83:  START:


  84:                  CALL BORRARPANTALLA


  85:                  MOV FILA,8


  86:                  MOV COLUMNA,0


  87:                  CALL CURSOR


  88:                  LEA DX,MENU


  89:                  MOV AH,9


  90:                  INT 21H


  91:  TECLA:          MOV AH,0


  92:                  INT 16H


  93:   


  94:                  CMP AL,"1"


  95:                  JNE TECLA2


  96:                  CALL UNO


  97:                  JMP START


  98:  TECLA2:         CMP AL,"2"


  99:                  JNE TECLA3


 100:                  CALL DOS


 101:                  JMP START


 102:  TECLA3:         CMP AL,"3"


 103:                  JNE TECLA4


 104:                  CALL TRES


 105:                  JMP START


 106:  TECLA4:         CMP AL,"4"


 107:                  JNE TECLA5


 108:                  CALL CUATRO


 109:                  JMP START


 110:  TECLA5:         CMP AL,"5"


 111:                  JNE TECLA6


 112:                  CALL CINCO


 113:                  JMP START


 114:  TECLA6:         CMP AL,"6"


 115:                  JNE TECLAESC


 116:                  CALL SEIS


 117:                  JMP START


 118:  TECLAESC:       CMP AL,27


 119:                  JE FINAL


 120:                  JMP TECLA 


 121:  FINAL:


 122:                  MOV AH,0


 123:                  MOV AL,3


 124:                  INT 10H


 125:                  .EXIT(0)


 126:   


 127:  UNO:


 128:                  CMP REGISTRO,25


 129:                  JB REGISTR


 130:                  RET


 131:  REGISTR:        INC REGISTRO


 132:                  CALL BORRARPANTALLA


 133:                  MOV FILA,5


 134:                  MOV COLUMNA,0


 135:                  CALL CURSOR


 136:                  LEA DX,MARCO


 137:                  MOV AH,9


 138:                  INT 21H


 139:   


 140:   


 141:                  MOV FILA,8


 142:  OTROREGISTRO:


 143:                  MOV COLUMNA,1


 144:                  CALL CURSOR


 145:                  MOV MAX,12


 146:                  LEA DX,MAX


 147:                  MOV AH,10


 148:                  INT 21H


 149:   


 150:                  MOV COLUMNA,16


 151:                  CALL CURSOR


 152:                  MOV MAX,14


 153:                  LEA DX,MAX


 154:                  MOV AH,10


 155:                  INT 21H


 156:   


 157:                  MOV COLUMNA,32


 158:                  CALL CURSOR


 159:                  MOV MAX,5


 160:                  LEA DX,MAX


 161:                  MOV AH,10


 162:                  INT 21H


 163:   


 164:                  MOV COLUMNA,40


 165:                  CALL CURSOR


 166:                  MOV MAX,5


 167:                  LEA DX,MAX


 168:                  MOV AH,10


 169:                  INT 21H


 170:   


 171:                  MOV COLUMNA,48   


 172:                  CALL CURSOR


 173:                  MOV MAX,5


 174:                  LEA DX,MAX


 175:                  MOV AH,10


 176:                  INT 21H


 177:   


 178:                  MOV COLUMNA,56   


 179:                  CALL CURSOR


 180:                  MOV MAX,5


 181:                  LEA DX,MAX


 182:                  MOV AH,10


 183:                  INT 21H


 184:   


 185:                  MOV COLUMNA,64


 186:                  CALL CURSOR


 187:                  MOV MAX,5


 188:                  LEA DX,MAX


 189:                  MOV AH,10


 190:                  INT 21H


 191:   


 192:   


 193:                  ; ubico DI


 194:   


 195:                  LEA DI,REGISTROS


 196:                  MOV CX,REGISTRO


 197:                  SUB CX,1


 198:  UBICOR:         ADD DI,79


 199:                  LOOP UBICOR


 200:   


 201:                  MOV FILA,8


 202:                  MOV COLUMNA,0


 203:  LEOPANTALLA:    CALL CURSOR


 204:                  MOV AH,8


 205:                  MOV BH,0


 206:                  INT 10H


 207:                  STOSB


 208:                  INC COLUMNA


 209:                  CMP COLUMNA,80


 210:                  JNE LEOPANTALLA


 211:   


 212:                  RET


 213:   


 214:  DOS:            CALL BORRARPANTALLA


 215:   


 216:                  LEA SI,REGISTROS


 217:                  MOV CX,REGISTRO


 218:   


 219:  N2REGIS:        MOV TOTAL,0


 220:                  MOV AH,[SI+32]


 221:                  MOV AL,[SI+33]


 222:                  AND AX,0F0FH


 223:                  AAD


 224:                  MOV AH,0


 225:                  ADD TOTAL,AX


 226:   


 227:                  MOV AH,[SI+40]


 228:                  MOV AL,[SI+41]


 229:                  AND AX,0F0FH


 230:                  AAD


 231:                  MOV AH,0


 232:                  ADD TOTAL,AX


 233:   


 234:                  MOV AH,[SI+48]


 235:                  MOV AL,[SI+49]


 236:                  AND AX,0F0FH


 237:                  AAD


 238:                  MOV AH,0


 239:                  ADD TOTAL,AX


 240:   


 241:                  MOV AH,[SI+56]


 242:                  MOV AL,[SI+57]


 243:                  AND AX,0F0FH


 244:                  AAD


 245:                  MOV AH,0


 246:                  ADD TOTAL,AX


 247:   


 248:                  MOV AH,[SI+64]


 249:                  MOV AL,[SI+65]


 250:                  AND AX,0F0FH


 251:                  AAD


 252:                  MOV AH,0


 253:                  ADD TOTAL,AX


 254:   


 255:                  MOV BX,5


 256:                  MOV DX,0


 257:                  MOV AX,TOTAL


 258:                  DIV BX


 259:                  AAM


 260:                  OR AH,30H


 261:                  OR AL,30H


 262:                  MOV [SI+70],AH


 263:                  MOV [SI+71],AL


 264:                  CALL DECIMALES


 265:                  ADD SI,79


 266:                  LOOP N2REGIS


 267:                  MOV CX,2000


 268:                  LEA SI,REGISTROS


 269:                  LEA DI,TABLA


 270:                  REP MOVSB


 271:   


 272:                  LEA SI,TABLA


 273:                  MOV CX,REGISTRO


 274:                  MOV FILA,0


 275:  IMPRIM1:        PUSH CX


 276:                  MOV COLUMNA,0


 277:                  CALL CURSOR


 278:                  PUSH SI


 279:                  POP DX


 280:                  MOV AH,9


 281:                  INT 21H


 282:                  ADD SI,79


 283:                  INC FILA


 284:                  POP CX


 285:                  LOOP IMPRIM1


 286:   


 287:   


 288:                  MOV FILA,0


 289:                  MOV CX,REGISTRO


 290:  LEOPANT2:       PUSH CX


 291:                  MOV COLUMNA,70


 292:  LEOPANT1:       CALL CURSOR


 293:                  MOV AH,8


 294:                  MOV BH,0


 295:                  INT 10H


 296:                  NEG AH


 297:                  MOV BL,AH


 298:                  MOV AH,9


 299:                  MOV BH,0


 300:                  MOV CX,1


 301:                  INT 10H


 302:                  INC COLUMNA


 303:                  CMP COLUMNA,74


 304:                  JNE LEOPANT1


 305:                  INC FILA


 306:                  POP CX


 307:                  LOOP LEOPANT2


 308:   


 309:                  CALL BMIN


 310:                  CALL BMAX


 311:   


 312:                  MOV AH,0


 313:                  INT 16H


 314:                  RET


 315:   


 316:  TRES:           CALL BORRARPANTALLA


 317:   


 318:                  MOV FILA,8


 319:                  MOV COLUMNA,0


 320:                  CALL CURSOR


 321:                  LEA DX,MENU2


 322:                  MOV AH,9


 323:                  INT 21H


 324:   


 325:                  MOV BP,0


 326:                  MOV AH,0


 327:                  INT 16H


 328:                  CMP AL,"1"


 329:                  JZ OPC1


 330:                  CMP AL,"2"


 331:                  JZ OPC2


 332:                  CMP AL,"3"


 333:                  JZ OPC3


 334:                  CMP AL,"4"


 335:                  JZ OPC4


 336:                  CMP AL,"5"


 337:                  JZ OPC5


 338:                  JMP TRES


 339:   


 340:  OPC5:           ADD BP,8


 341:  OPC4:           ADD BP,8


 342:  OPC3:           ADD BP,8


 343:  OPC2:           ADD BP,8


 344:  OPC1:           ADD BP,32


 345:   


 346:   


 347:                  MOV CX,2


 348:                  LEA SI,CADENA4


 349:                  LEA DI,CADENA5


 350:                  REP MOVSB


 351:   


 352:                  LEA BX,TABLA


 353:                  LEA DI,CADENA5


 354:                  LEA SI,REGISTROS


 355:                  ADD SI,BP


 356:   


 357:                  CALL COMPARACION3


 358:   


 359:                  CALL BORRARPANTALLA


 360:   


 361:                  LEA SI,TABLA


 362:                  MOV CX,REGISTRO


 363:                  MOV FILA,0


 364:  IMPRIM3:        PUSH CX


 365:                  MOV COLUMNA,0


 366:                  CALL CURSOR


 367:                  PUSH SI


 368:                  POP DX


 369:                  MOV AH,9


 370:                  INT 21H


 371:                  ADD SI,79


 372:                  INC FILA


 373:                  POP CX


 374:                  LOOP IMPRIM3


 375:                  MOV AH,0


 376:                  INT 16H


 377:   


 378:   


 379:   


 380:   


 381:                  RET


 382:   


 383:  CUATRO:


 384:                  CALL BORRARPANTALLA


 385:                  MOV CX,3


 386:                  LEA SI,CADENA


 387:                  LEA DI,CADENA2


 388:                  REP MOVSB


 389:   


 390:                  LEA BX,TABLA


 391:                  LEA DI,CADENA2


 392:                  LEA SI,REGISTROS


 393:                  ADD SI,1


 394:                  MOV BP,1


 395:                  CALL COMPARACION


 396:   


 397:                  CALL IMPRIMIR


 398:                  MOV AH,0


 399:                  INT 16H


 400:   


 401:                  RET


 402:   


 403:  CINCO:          CALL BORRARPANTALLA


 404:   


 405:                  MOV CX,3


 406:                  LEA SI,CADENA


 407:                  LEA DI,CADENA2


 408:                  REP MOVSB


 409:   


 410:                  LEA BX,TABLA


 411:                  LEA DI,CADENA2


 412:                  LEA SI,REGISTROS


 413:                  ADD SI,16


 414:                  MOV BP,16


 415:                  CALL COMPARACION


 416:   


 417:                  LEA SI,TABLA


 418:                  MOV CX,REGISTRO


 419:                  MOV FILA,0


 420:  IMPRIM2:        PUSH CX


 421:                  MOV COLUMNA,0


 422:                  CALL CURSOR


 423:                  PUSH SI


 424:                  POP DX


 425:                  MOV AH,9


 426:                  INT 21H


 427:                  ADD SI,79


 428:                  INC FILA


 429:                  POP CX


 430:                  LOOP IMPRIM2


 431:                  MOV AH,0


 432:                  INT 16H


 433:                  


 434:                  


 435:                  RET


 436:   


 437:  SEIS:           CALL BORRARPANTALLA


 438:   


 439:                  MOV CX,2


 440:                  LEA SI,CADENA3


 441:                  LEA DI,CADENA5


 442:                  REP MOVSB


 443:   


 444:                  LEA BX,TABLA


 445:                  LEA DI,CADENA5


 446:                  LEA SI,REGISTROS


 447:                  ADD SI,70


 448:                  MOV BP,70


 449:                  CALL COMPARACION1


 450:   


 451:                  LEA SI,TABLA


 452:                  MOV CX,REGISTRO


 453:                  MOV FILA,0


 454:  IMPRIM6:        PUSH CX


 455:                  MOV COLUMNA,0


 456:                  CALL CURSOR


 457:                  PUSH SI


 458:                  POP DX


 459:                  MOV AH,9


 460:                  INT 21H


 461:                  ADD SI,79


 462:                  INC FILA


 463:                  POP CX


 464:                  LOOP IMPRIM6


 465:                  MOV AH,0


 466:                  INT 16H


 467:   


 468:   


 469:   


 470:   


 471:   


 472:                  RET


 473:   


 474:  IMPRIMIR:       LEA SI,TABLA


 475:                  MOV CX,REGISTRO


 476:                  MOV FILA,0


 477:  IMPRIM:         PUSH CX


 478:                  MOV COLUMNA,0


 479:                  CALL CURSOR


 480:                  CALL COLORFILA


 481:                  INC COLOR2


 482:                  PUSH SI


 483:                  POP DX


 484:                  MOV AH,9


 485:                  INT 21H


 486:                  ADD SI,79


 487:                  INC FILA


 488:                  POP CX


 489:                  LOOP IMPRIM


 490:                  RET


 491:   


 492:  COLORFILA:


 493:                  PUSH AX


 494:                  PUSH CX


 495:                  PUSH DX


 496:                  PUSH BX


 497:   


 498:                  MOV AH,6


 499:                  MOV AL,1


 500:                  MOV CH,FILA


 501:                  MOV DH,FILA


 502:                  MOV CL,0


 503:                  MOV DL,79


 504:                  MOV BH,COLOR2


 505:                  INT 10H


 506:   


 507:                  POP BX


 508:                  POP DX


 509:                  POP CX


 510:                  POP AX


 511:   


 512:                  RET


 513:   


 514:  COPIO:          POP DI


 515:                  POP SI


 516:                  PUSH SI


 517:                  PUSH DI


 518:                  SUB SI,BP


 519:                  MOV CX,79  ; modifique aqui


 520:  COPIA:          MOV AL,[SI]


 521:                  MOV [BX],AL


 522:                  INC BX


 523:                  INC SI


 524:                  LOOP COPIA


 525:                  JMP SCOMP3


 526:   


 527:  COPIO6:         POP DI


 528:                  POP SI


 529:                  PUSH SI


 530:                  PUSH DI


 531:                  SUB SI,BP


 532:                  MOV CX,79  ; modifique aqui


 533:  COPIA6:         MOV AL,[SI]


 534:                  MOV [BX],AL


 535:                  INC BX


 536:                  INC SI


 537:                  LOOP COPIA6


 538:                  JMP SCOMP6


 539:   


 540:   


 541:  COMPARACION:                     ; parametros: en si:cadena y di:datos


 542:   


 543:                  push si


 544:                  push di


 545:   


 546:                  mov dx,registro


 547:  sigocom:        push si


 548:                  push di


 549:   


 550:                  mov cx,3


 551:                  rep cmpsb


 552:                  jz copio


 553:  SCOMP3:         pop di


 554:                  pop si


 555:                  add si,79


 556:                  dec dx


 557:                  jnz sigocom


 558:   


 559:                  pop di


 560:                  pop si


 561:   


 562:                  inc byte ptr es:[di+2]


 563:                  mov al,es:[di+2]


 564:                  cmp al,"Z"


 565:                  jbe comparacion


 566:                  mov byte ptr es:[di+2],"A"


 567:   


 568:                  inc byte ptr es:[di+1]


 569:                  mov al,es:[di+1]


 570:                  cmp al,"Z"


 571:                  jbe comparacion


 572:                  mov byte ptr es:[di+1],"A"


 573:   


 574:                  inc byte ptr es:[di]


 575:                  mov al,es:[di]


 576:                  cmp al,"Z"


 577:                  jbe comparacion


 578:   


 579:                  ret


 580:   


 581:   


 582:  COMPARACION1:                     ; parametros: en si:cadena y di:datos


 583:   


 584:                  push si


 585:                  push di


 586:   


 587:                  mov dx,registro


 588:  sigocom6:       push si


 589:                  push di


 590:   


 591:                  mov cx,2


 592:                  rep cmpsb


 593:                  jz copio6


 594:  SCOMP6:         pop di


 595:                  pop si


 596:                  add si,79


 597:                  dec dx


 598:                  jnz sigocom6


 599:   


 600:                  pop di


 601:                  pop si


 602:   


 603:                  inc byte ptr es:[di+1]


 604:                  mov al,es:[di+1]


 605:                  cmp al,"9"


 606:                  jbe comparacion1


 607:                  mov byte ptr es:[di+1],"0"


 608:   


 609:                  inc byte ptr es:[di]


 610:                  mov al,es:[di]


 611:                  cmp al,"9"


 612:                  jbe comparacion1


 613:   


 614:                  ret


 615:   


 616:   


 617:   


 618:  COMPARACION3:                     ; parametros: en si:cadena y di:datos


 619:   


 620:                  push si


 621:                  push di


 622:   


 623:                  mov dx,registro


 624:  sigocom3:       push si


 625:                  push di


 626:   


 627:                  mov cx,2


 628:                  rep cmpsb


 629:                  jz copio3


 630:  SCOMP03:        pop di


 631:                  pop si


 632:                  add si,79


 633:                  dec dx


 634:                  jnz sigocom3


 635:   


 636:                  pop di


 637:                  pop si


 638:   


 639:                  dec byte ptr es:[di+1]


 640:                  mov al,es:[di+1]


 641:                  cmp al,"0"


 642:                  jge comparacion3


 643:                  mov byte ptr es:[di+1],"9"


 644:   


 645:                  dec byte ptr es:[di]


 646:                  mov al,es:[di]


 647:                  cmp al,"0"


 648:                  jge comparacion3


 649:   


 650:                  ret


 651:   


 652:  COPIO3:         POP DI


 653:                  POP SI


 654:                  PUSH SI


 655:                  PUSH DI


 656:                  SUB SI,BP


 657:                  MOV CX,79  ; modifique aqui


 658:  COPIA3:         MOV AL,[SI]


 659:                  MOV [BX],AL


 660:                  INC BX


 661:                  INC SI


 662:                  LOOP COPIA3


 663:                  JMP SCOMP03


 664:   


 665:   


 666:   


 667:  BORRARPANTALLA:


 668:                  MOV AH,6


 669:                  MOV AL,0


 670:                  MOV CX,0


 671:                  MOV DH,24


 672:                  MOV DL,79


 673:                  MOV BH,COLOR


 674:                  INT 10H


 675:                  RET


 676:  CURSOR:


 677:                  MOV AH,2


 678:                  MOV BH,0


 679:                  MOV DL,COLUMNA


 680:                  MOV DH,FILA


 681:                  INT 10H


 682:                  RET


 683:   


 684:  DECIMALES:      MOV TOTAL,0


 685:                  MOV AH,0


 686:                  MOV AL,[SI+35]


 687:                  AND AL,0FH


 688:                  ADD TOTAL,AX


 689:   


 690:                  MOV AL,[SI+43]


 691:                  AND AL,0FH


 692:                  ADD TOTAL,AX


 693:   


 694:                  MOV AL,[SI+51]


 695:                  AND AL,0FH


 696:                  ADD TOTAL,AX


 697:   


 698:                  MOV AL,[SI+59]


 699:                  AND AL,0FH


 700:                  ADD TOTAL,AX


 701:   


 702:                  MOV AL,[SI+67]


 703:                  AND AL,0FH


 704:                  ADD TOTAL,AX


 705:                  MOV DX,0


 706:                  MOV BX,5


 707:                  DIV BX


 708:                  OR AL,30H


 709:                  MOV [SI+73],AL


 710:                  MOV BYTE PTR [SI+72],"."


 711:   


 712:                  RET


 713:   


 714:  BMIN:


 715:                  MOV FILA,0


 716:                  LEA SI,REGISTROS


 717:                  MOV CX,REGISTRO


 718:   


 719:  BMIN3:          


 720:                  PUSH CX


 721:                  MOV SWMIN,0


 722:                  MOV NMINIMA,0


 723:  BMIN5:          MOV COLUMNA,32


 724:                  MOV AH,[SI+32]


 725:                  MOV AL,[SI+33]


 726:                  AND AX,0F0FH


 727:                  AAD


 728:                  CMP AL,NMINIMA


 729:                  CALL BMIN2


 730:   


 731:                  ADD COLUMNA,8


 732:                  MOV AH,[SI+40]


 733:                  MOV AL,[SI+41]


 734:                  AND AX,0F0FH


 735:                  AAD


 736:                  CMP AL,NMINIMA


 737:                  CALL BMIN2


 738:   


 739:                  ADD COLUMNA,8


 740:                  MOV AH,[SI+48]


 741:                  MOV AL,[SI+49]


 742:                  AND AX,0F0FH


 743:                  AAD


 744:                  CMP AL,NMINIMA


 745:                  CALL BMIN2


 746:   


 747:                  ADD COLUMNA,8


 748:                  MOV AH,[SI+56]


 749:                  MOV AL,[SI+57]


 750:                  AND AX,0F0FH


 751:                  AAD


 752:                  CMP AL,NMINIMA


 753:                  CALL BMIN2


 754:   


 755:                  ADD COLUMNA,8


 756:                  MOV AH,[SI+64]


 757:                  MOV AL,[SI+65]


 758:                  AND AX,0F0FH


 759:                  AAD


 760:                  CMP AL,NMINIMA


 761:                  CALL BMIN2


 762:   


 763:                  CMP SWMIN,1


 764:                  JE BMIN4


 765:                  INC NMINIMA


 766:                  CMP NMINIMA,99


 767:                  JNE BMIN51


 768:  BMIN4:          INC FILA


 769:                  ADD SI,79


 770:                  POP CX


 771:                  LOOP BMIN31


 772:                  RET


 773:  BMIN31:         JMP BMIN3


 774:  BMIN51:         JMP BMIN5


 775:   


 776:  BMIN2:          JZ SOMBR


 777:                  RET


 778:  SOMBR:          MOV SWMIN,1


 779:                  PUSH CX


 780:                  CALL CURSOR


 781:   


 782:                  MOV AH,8


 783:                  MOV BH,0


 784:                  INT 10H


 785:                  NEG AH


 786:                  ROL AH,2


 787:                  MOV BL,AH


 788:                  MOV AH,9


 789:                  MOV BH,0


 790:                  MOV CX,1


 791:                  INT 10H


 792:                  INC COLUMNA


 793:   


 794:                  CALL CURSOR


 795:                  MOV AH,8


 796:                  MOV BH,0


 797:                  INT 10H


 798:                  NEG AH


 799:                  ROL AH,2


 800:                  MOV BL,AH


 801:                  MOV AH,9


 802:                  MOV BH,0


 803:                  MOV CX,1


 804:                  INT 10H


 805:                  INC COLUMNA


 806:   


 807:                  CALL CURSOR


 808:                  MOV AH,8


 809:                  MOV BH,0


 810:                  INT 10H


 811:                  NEG AH


 812:                  ROL AH,2


 813:                  MOV BL,AH


 814:                  MOV AH,9


 815:                  MOV BH,0


 816:                  MOV CX,1


 817:                  INT 10H


 818:                  INC COLUMNA


 819:   


 820:                  CALL CURSOR


 821:                  MOV AH,8


 822:                  MOV BH,0


 823:                  INT 10H


 824:                  NEG AH


 825:                  ROL AH,2


 826:                  MOV BL,AH


 827:                  MOV AH,9


 828:                  MOV BH,0


 829:                  MOV CX,1


 830:                  INT 10H


 831:                  INC COLUMNA


 832:                  SUB COLUMNA,4


 833:   


 834:   


 835:                  POP CX


 836:                  RET


 837:   


 838:   


 839:  BMAX:


 840:                  MOV FILA,0


 841:                  LEA SI,REGISTROS


 842:                  MOV CX,REGISTRO


 843:   


 844:  BMAX3:          


 845:                  PUSH CX


 846:                  MOV SWMIN,0


 847:                  MOV NMAXIMA,99


 848:  BMAX5:          MOV COLUMNA,32


 849:                  MOV AH,[SI+32]


 850:                  MOV AL,[SI+33]


 851:                  AND AX,0F0FH


 852:                  AAD


 853:                  CMP AL,NMAXIMA


 854:                  CALL BMAX2


 855:   


 856:                  ADD COLUMNA,8


 857:                  MOV AH,[SI+40]


 858:                  MOV AL,[SI+41]


 859:                  AND AX,0F0FH


 860:                  AAD


 861:                  CMP AL,NMAXIMA


 862:                  CALL BMAX2


 863:   


 864:                  ADD COLUMNA,8


 865:                  MOV AH,[SI+48]


 866:                  MOV AL,[SI+49]


 867:                  AND AX,0F0FH


 868:                  AAD


 869:                  CMP AL,NMAXIMA


 870:                  CALL BMAX2


 871:   


 872:                  ADD COLUMNA,8


 873:                  MOV AH,[SI+56]


 874:                  MOV AL,[SI+57]


 875:                  AND AX,0F0FH


 876:                  AAD


 877:                  CMP AL,NMAXIMA


 878:                  CALL BMAX2


 879:   


 880:                  ADD COLUMNA,8


 881:                  MOV AH,[SI+64]


 882:                  MOV AL,[SI+65]


 883:                  AND AX,0F0FH


 884:                  AAD


 885:                  CMP AL,NMAXIMA


 886:                  CALL BMAX2


 887:   


 888:                  CMP SWMIN,1


 889:                  JE BMAX4


 890:                  DEC NMAXIMA


 891:                  CMP NMAXIMA,0


 892:                  JNE BMAX51


 893:  BMAX4:          INC FILA


 894:                  ADD SI,79


 895:                  POP CX


 896:                  LOOP BMAX31


 897:                  RET


 898:  BMAX31:         JMP BMAX3


 899:  BMAX51:         JMP BMAX5


 900:   


 901:  BMAX2:          JZ SOMBR2


 902:                  RET


 903:  SOMBR2:         MOV SWMIN,1


 904:                  PUSH CX


 905:                  CALL CURSOR


 906:   


 907:                  MOV AH,8


 908:                  MOV BH,0


 909:                  INT 10H


 910:                  NEG AH


 911:                  ROR AH,2


 912:                  MOV BL,AH


 913:                  MOV AH,9


 914:                  MOV BH,0


 915:                  MOV CX,1


 916:                  INT 10H


 917:                  INC COLUMNA


 918:   


 919:                  CALL CURSOR


 920:                  MOV AH,8


 921:                  MOV BH,0


 922:                  INT 10H


 923:                  NEG AH


 924:                  ROR AH,2


 925:                  MOV BL,AH


 926:                  MOV AH,9


 927:                  MOV BH,0


 928:                  MOV CX,1


 929:                  INT 10H


 930:                  INC COLUMNA


 931:   


 932:                  CALL CURSOR


 933:                  MOV AH,8


 934:                  MOV BH,0


 935:                  INT 10H


 936:                  NEG AH


 937:                  ROR AH,2


 938:                  MOV BL,AH


 939:                  MOV AH,9


 940:                  MOV BH,0


 941:                  MOV CX,1


 942:                  INT 10H


 943:                  INC COLUMNA


 944:   


 945:                  CALL CURSOR


 946:                  MOV AH,8


 947:                  MOV BH,0


 948:                  INT 10H


 949:                  NEG AH


 950:                  ROR AH,2


 951:                  MOV BL,AH


 952:                  MOV AH,9


 953:                  MOV BH,0


 954:                  MOV CX,1


 955:                  INT 10H


 956:                  INC COLUMNA


 957:                  SUB COLUMNA,4


 958:   


 959:   


 960:                  POP CX


 961:                  RET


 962:   


 963:                  


 964:                  end


No hay comentarios:

Publicar un comentario