Поиск индекса последнего минимального элемента в массиве. Прокомментировать код - Assembler

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

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

Решение задачи: «Поиск индекса последнего минимального элемента в массиве. Прокомментировать код»

textual
Листинг программы
.286; модель процессора Интел 80283
.model small; модель памяти для создания ЕХЕ-файлов
.stack 100h; под область стэка отвели 256 байт
.data  ;начало сегмента данных
  mas db 3,2,24,16; массив
  a dw ?;место под максимальный элемент
  len = 5; длина массива  
.code
start:    mov ax,@data; настроили сегмент данных
    mov ds,ax 
    mov cx,len  ;в cx заносим длину массива
    mov al,mas[0]  ;заносим первый элемент массива в al
    mov si,1   ; SI=1
start2:        cmp mas[si],al  ;сравниваем очередной элемент массива с максимальным
                jg next   ; если элемент меньше текущего максимума переход на метку next
                  mov al,mas[si]; заносим в AL очередной максимальный элнмент
                  mov a,si ;в   "а" заносим индекс максимального элемента
next:           inc si            ;переход к следующему элементу
                  loop start2 ;цикл выполняется пока cx=0        
    mov ah,1; ждем нажатия на клавиатуру
    int 21h 
    mov ah,4Ch ; выходим из программы
    int 21h
end start

Объяснение кода листинга программы

  1. .286 - модель процессора Интел 80283
  2. .model small - модель памяти для создания ЕХЕ-файлов
  3. .stack 100h - под область стэка отвели 256 байт
  4. .data - начало сегмента данных
  5. mas db 3,2,24,16 - массив
  6. a dw ? - место под максимальный элемент
  7. len = 5 - длина массива
  8. mov ax,@data - настроили сегмент данных
  9. mov ds,ax
  10. mov cx,len - в cx заносим длину массива
  11. mov al,mas[0] - заносим первый элемент массива в al
  12. mov si,1 - SI=1
  13. start2: cmp mas[si],al - сравниваем очередной элемент массива с максимальным
  14. jg next - если элемент меньше текущего максимума переход на метку next
  15. mov al,mas[si] - заносим в AL очередной максимальный элемент
  16. mov a,si - в а заносим индекс максимального элемента
  17. inc si - переход к следующему элементу
  18. loop start2 - цикл выполняется пока cx=0
  19. mov ah,1 - ждем нажатия на клавиатуру
  20. int 21h
  21. mov ah,4Ch - выходим из программы
  22. int 21h

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

7   голосов , оценка 4 из 5
Похожие ответы