upsidedown

MI: LINEAR SEARCH Pranav

Mar 9th, 2012
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. INCLUDE IO.H
  2.  
  3. CR EQU 0DH
  4. LF EQU 0AH
  5.  
  6. DATA SEGMENT
  7.  
  8. N DW (?)
  9. X DW 40 DUP (?)
  10. I DW 0H ;USED AS FLAG VARIABLE
  11. TEMP DW 0H
  12. KEY DW (?)
  13. STRING DB 40 dup (?)
  14.  
  15. PROMPT1 DB 'ENTER THE NUMBER OF ELEMENTS:'
  16.     DB CR,LF,0
  17. PROMPT2 DB 'ENTER ELEMENTS'
  18.     DB CR,LF,0
  19.  
  20. PROMPT3 DB 'ENTER ELEMENT TO SEARCH FOR'
  21.     DB CR,LF,0
  22.    
  23.  
  24.  
  25. PROMPT5 DB 'ELEMENT NOT FOUND'
  26.     DB CR,LF,0
  27.    
  28. PROMPT4 DB CR,LF,'ELEMENT FOUND AT LOCATION'
  29. L DB 2 dup (?)
  30. DB CR,LF,0
  31.  
  32.  
  33. DATA ENDS
  34.  
  35.  
  36.  
  37.  
  38. CODE SEGMENT
  39. ASSUME CS:CODE, DS:DATA
  40.  
  41. START: MOV AX, SEG DATA
  42.     MOV DS, AX
  43.    
  44.     OUTPUT PROMPT1
  45.     INPUTS STRING,40
  46.     ATOI STRING
  47.     MOV N,AX
  48.    
  49.     MOV SI, OFFSET X
  50.     MOV BX,N
  51.     OUTPUT PROMPT2
  52.    
  53. REPEAT1:INPUTS STRING,40
  54.     ATOI STRING
  55.     MOV [SI],AX
  56.     ADD SI,02H
  57.     DEC BX
  58.     JNZ REPEAT1
  59.    
  60.     OUTPUT PROMPT3
  61.     INPUTS STRING,40
  62.     ATOI STRING
  63.     MOV KEY,AX
  64.    
  65.    
  66.     MOV BX,N
  67.     MOV SI, OFFSET X
  68.     MOV AX, 0000H
  69.     MOV DX,KEY
  70.    
  71. REPEAT2:
  72.     CMP DX,[SI]
  73.     JE FOUND
  74.     JMP NXT
  75.        
  76.    
  77. FOUND:
  78.     INC AX      ; POSTTIONS STARTING FROM 1
  79.     ITOA L,AX
  80.     OUTPUT PROMPT4
  81.     MOV CX,01H
  82.     MOV I,CX
  83.  
  84. NXT:
  85.     INC SI;
  86.     INC SI;
  87.     INC AX;
  88.     DEC BX;
  89.     JNZ REPEAT2
  90.    
  91.  
  92.     MOV AX,01H
  93.     CMP I,AX
  94.     JE CONTINUE
  95.     OUTPUT PROMPT5
  96.    
  97. CONTINUE:
  98.     MOV AL,0
  99.     MOV AH,4CH
  100.     INT 21H
  101.  
  102. CODE ENDS
  103. END START
  104.  
  105.  
  106.  
  107.  
  108.  
  109. ;OUTPUT 1
  110.  
  111. ;ENTER THE NUMBER OF ELEMENTS:
  112. ;5
  113. ;ENTER ELEMENTS
  114. ;1
  115. ;9
  116. ;6
  117. ;4
  118. ;1
  119. ;ENTER ELEMENT TO SEARCH FOR
  120. ;1
  121. ;ELEMENT FOUND AT LOCATION     1
  122. ;ELEMENT FOUND AT LOCATION     5
  123.  
  124.  
  125.  
  126. ;OUTPUT 2
  127.  
  128. ;ENTER THE NUMBER OF ELEMENTS:
  129. ;4
  130. ;ENTER ELEMENTS
  131. ;6
  132. ;9
  133. ;8
  134. ;4
  135. ;ENTER ELEMENT TO SEARCH FOR
  136. ;0
  137. ;ELEMENT NOT FOUND
Advertisement
Add Comment
Please, Sign In to add comment