Поиск в одномерном массиве - Assembler

Узнай цену своей работы

Формулировка задачи:

Никак не поддаётся. Напишите программу поиска в одномерном массиве максимального элемента и его индекса. massiv:112, -34, 124, 107, -126, 54, 108, 99, 0, -59. вывод значений в 16сс. TASM

Решение задачи: «Поиск в одномерном массиве»

textual
Листинг программы
  1. .model small
  2. .386
  3.  
  4. .data
  5. mas db 112,-34,124,107,-126,54,108,99,0,-59
  6. len equ $-mas
  7. msg1 db 'max=$'
  8. msg2 db 0Ah,0Dh,'index=$'
  9.  
  10. .stack
  11. db 256 dup(?)
  12.  
  13. .code
  14. main:
  15. mov ax,@data
  16. mov ds,ax
  17.  
  18. lea si,mas+1
  19. mov ah,byte ptr [mas]
  20. mov cx,len
  21. dec cx
  22. search:
  23.     lodsb
  24.    
  25.     cmp al,ah
  26.     jg change
  27.  
  28.     jmp skip
  29.  
  30.     change:
  31.     mov ah,al
  32.     mov bx,si
  33.     dec bx
  34.  
  35.     skip:
  36. loop search
  37.  
  38. push ax
  39.  
  40. mov ah,09h
  41. lea dx,msg1
  42. int 21h
  43.  
  44. pop ax
  45.  
  46. push bx
  47.  
  48. xchg ah,al
  49. cbw
  50. mov bx,16
  51. get:
  52. xor dx,dx
  53. div bx
  54. push dx
  55. inc cx
  56. or ax,ax
  57. jnz get
  58.  
  59. give:
  60. pop ax
  61. sub ax,0
  62. cmp ax,9
  63. ja hex
  64.  
  65. des:
  66. add ax,30h
  67.  
  68. jmp print
  69.  
  70. hex:
  71. add ax,37h
  72.  
  73. print:
  74. mov dx,ax
  75. mov ah,02h
  76. int 21h
  77. loop give
  78.  
  79. pop bx
  80.  
  81. mov ah,09h
  82. lea dx,msg2
  83. int 21h
  84.  
  85. mov ah,02h
  86. mov dx,bx
  87. add dx,30h
  88. int 21h
  89.  
  90. mov ax,4C00h
  91. int 21h
  92. end main

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы