Advertisement
erfanul007

EVENT SEARCHING ASSEMBLY

Dec 23rd, 2019
373
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;;Events.txt STARTS
  2. ;28-08-2020
  3. ;AMAR BIRTHDAY
  4. ;AMI NACHBO
  5. ;TMRA AMR CAKE KATBA
  6. ;
  7. ;16-12-2019
  8. ;VICTORY DAY OF BANGLADESH
  9. ;48TH VICTORY DAY OF BD
  10. ;2021 WILL BE THE HALF CENTURY
  11. ;SOKAL 10 TAY PARADE DEKHTE JABO
  12. ;2021 BD TE WORLD FINALS HOBE
  13. ;
  14. ;22-12-2019
  15. ;PROJECT COMPLETE KORLAM
  16. ;PERA SHESH
  17. ;FILE INPUT OUTPUT NIA ONK JHAMELA KORTE HOISE
  18. ;BUDDHI THAKLE UPAY HOY
  19. ;
  20. ;01-01-2020
  21. ;NEW SEMESTER NEW YEAR
  22. ;3RD YEAR E UTHE GESI
  23. ;BORO VAI KOIBA AMARE B-)
  24. ;
  25. ;;EVENT TEXT FINISHED
  26.  
  27.  
  28. ;;PROJECT EVENT SEARCHING BY DATE
  29. ;;PROJECT MEMBERS
  30. ;;MD. ERFANUL ISLAM (181-15-10777)
  31. ;;AYESHA BINTE KHAIR (181-15-11102)
  32.  
  33. INCLUDE "EMU8086.INC"
  34. .MODEL SMALL
  35. .STACK 100H
  36. .DATA
  37.  
  38.     FNAME1 DB "Events.txt",0
  39.     TEXT DB 100 DUP('$')
  40.     INPUT DB 100 DUP('$')
  41.     FHAND DW ?
  42.     CHAR DB ?
  43.     CHK DB 0
  44.  
  45. .CODE
  46.   MAIN PROC
  47.     MOV AX, @DATA
  48.     MOV DS,AX
  49.    
  50.     MOV AH,3DH                    ;OPEN FILE
  51.     MOV AL,0        
  52.     LEA DX, FNAME1  
  53.     INT 21H          
  54.     MOV FHAND, AX
  55.    
  56.     INPUT_STARTS:
  57.       MOV SI,0
  58.       IN1:
  59.         MOV AH,1                   ;READ INPUT
  60.         INT 21H                    ;DATE FORMATE : DD-MM-YYYY
  61.      
  62.         CMP AL,10
  63.         JE INPUT_ENDS
  64.         CMP AL,13
  65.         JE INPUT_ENDS
  66.        
  67.         MOV INPUT[SI],AL
  68.         INC SI
  69.         JMP IN1
  70.        
  71.     INPUT_ENDS:
  72.       MOV INPUT[SI],'$'
  73.       PRINTN
  74.       MOV AH,9
  75.       LEA DX,INPUT
  76.       INT 21H
  77.          
  78.     NEW_LINE:  
  79.       MOV SI,0
  80.       IN2:
  81.         MOV AH,3FH                 ;READ FROM FILE
  82.         MOV BX,FHAND
  83.         MOV CX,1
  84.         LEA DX,CHAR
  85.         INT 21H
  86.      
  87.         CMP AX,0
  88.         JE EXIT
  89.      
  90.         MOV AL,CHAR
  91.      
  92.         CMP AL,10
  93.         JE COMPARE
  94.         CMP AL,13
  95.         JE COMPARE
  96.        
  97.         MOV TEXT[SI],AL
  98.         INC SI
  99.         JMP IN2
  100.        
  101.         COMPARE:
  102.           MOV TEXT[SI],'$'
  103.          
  104.           MOV SI,0
  105.          
  106.           L2:
  107.             MOV AL,TEXT[SI]        ;COMPARE INPUT AND TEXT LINES CHAR BY CHAR
  108.             MOV BL,INPUT[SI]
  109.             CMP AL,BL
  110.             JNE NEW_LINE           ;IF NOT SAME CHECK NEXT LINE
  111.             CMP AL,'$'
  112.             JE SAME
  113.             INC SI
  114.             JMP L2
  115.          
  116.           SAME:
  117.             MOV AL,1
  118.             MOV CHK,AL
  119.             PRINTN
  120.             PRINTN
  121.             PRINT "EVENTS ON THIS DAY:"
  122.             PRINTN
  123.             PRINT_EVENTS:          ;IF SAME PRINT ALL EVENTS UNDER THIS DATE
  124.               MOV SI,0
  125.               OUT1:
  126.                 MOV AH,3FH         ;READ FILE
  127.                 MOV BX,FHAND
  128.                 MOV CX,1
  129.                 LEA DX,CHAR
  130.                 INT 21H
  131.      
  132.                 CMP AX,0           ;EXIT IF END OF FILE FOUND
  133.                 JE EXIT
  134.      
  135.                 MOV AL,CHAR
  136.      
  137.                 CMP AL,10
  138.                 JE PRINT_VAL
  139.                 CMP AL,13
  140.                 JE PRINT_VAL
  141.                
  142.                 MOV TEXT[SI],AL
  143.                 INC SI
  144.                 JMP OUT1
  145.                
  146.               PRINT_VAL:
  147.                 MOV CX,10
  148.                 LL1:            
  149.                   MOV TEXT[SI],'$'
  150.                   INC SI
  151.                   LOOP LL1
  152.                
  153.                 MOV SI,2
  154.                 MOV AL,TEXT[SI]     ;COMPARE IF ANOTHER DATE IS THERE
  155.                 CMP AL,'-'
  156.                 JNE PR:
  157.                
  158.                 MOV SI,5
  159.                 MOV AL,TEXT[SI]
  160.                 CMP AL,'-'
  161.                 JNE PR:
  162.                 JMP EXIT
  163.                 PR:
  164.                   PRINTN            ;PRINT THE LINE
  165.                   MOV AH,9
  166.                   LEA DX,TEXT
  167.                   INT 21H
  168.                   JMP PRINT_EVENTS
  169.                  
  170.  
  171.     EXIT:
  172.       MOV AL,CHK
  173.       CMP AL,0
  174.       JNE ENDD                      ;JUMP IF EVENTS FOUND
  175.       PRINTN
  176.       PRINT "NO EVENT ON THIS DAY"
  177.       ENDD:
  178.       MOV AH,3EH                    ;CLOSE FILE
  179.       MOV BX,FHAND
  180.       INT 21H
  181.       MOV AH,4CH
  182.       INT 21H
  183.   ENDP MAIN
  184. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement