Guest User

Untitled

a guest
Jan 4th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. .model small
  2. .stack 100h
  3. .data
  4. massiv dd 12345678,13579246,24681357
  5. chislo dd 0
  6. c10 dw 10
  7. str1 db 0ah,0dh,"Vvedite chislo:",0ah,0dh,'$'
  8. str2 db 0ah,0dh,"Vvedennoe chislo ne naydeno.",0ah,0dh,'$'
  9. str3 db 0ah,0dh,"Vvedennoe vami chislo naydeno!",'$'
  10. .code
  11. .386
  12. start:
  13. mov ax,@data
  14. mov ds,ax
  15. mov ah,09h
  16. lea dx,str1
  17. int 21h
  18. input_loop:
  19. mov ah,01h
  20. int 21h
  21. cmp al,0dh
  22. je end_input
  23. sub al,30h
  24. xor bx,bx
  25. mov bl,al
  26. xor dx,dx ; ввод длинного числа
  27. mov ax,word ptr[chislo+2]
  28. mul c10
  29. mov word ptr[chislo+2],ax
  30. mov ax,word ptr[chislo]
  31. mul c10
  32. add dx,word ptr[chislo+2]
  33. add ax,bx
  34. mov word ptr[chislo],ax
  35. mov word ptr[chislo+2],dx
  36. jmp input_loop
  37. end_input:
  38. mov cx,offset chislo ; в сх - количество чисел
  39. sub cx,offset massiv
  40. shr cx,2
  41. mov ax,word ptr[chislo] ; в ax - младшее слово числа
  42. mov dx,word ptr[chislo+2] ; в dx - старшее слово числа
  43. cmp_loop: ; цикл сравнения
  44. mov bx,cx
  45. dec bx
  46. shl bx,2
  47. add bx,offset massiv
  48. cmp ax,word ptr[bx]
  49. je continue_cmp
  50. jmp cmp_end
  51. continue_cmp:
  52. add bx,2
  53. cmp dx,word ptr[bx]
  54. je find
  55. cmp_end: ; если ничего не найдено
  56. loop cmp_loop
  57. mov ah,09h
  58. mov dx,offset str2
  59. int 21h
  60. jmp end_start
  61. find: ; если число найдено
  62. mov ah,09h
  63. mov dx,offset str3
  64. int 21h
  65. end_start:
  66. mov ah,4ch
  67. int 21h
  68. end star
Add Comment
Please, Sign In to add comment