Найти максимальное отрицательное число в массиве - Assembler
Формулировка задачи:
в массиве А(20).Найти максимальное отрицательное число.
Решение задачи: «Найти максимальное отрицательное число в массиве»
textual
Листинг программы
; .MODEL TINY ; .DATA sbArray DB 23, 87, 90, -74, 68, -15, 75, 39, -97, 82, \ -42, 88, 32, -5, 10, -17, -80, -2, 20, 42 ; .CODE ORG 100h START: LEA SI, sbArray MOV CX, LengthOf sbArray MOV AH, 127 ; AH = Min. (init. by max. for byte) LOAD_ITEM: LODSB CMP AL, AH JGE NEXT_ITEM MOV AH, AL NEXT_ITEM: LOOP LOAD_ITEM RET ; END START ;
Объяснение кода листинга программы
- .MODEL TINY - устанавливает модель памяти для программы (в данном случае модель TINY, можно выбрать другие модели в зависимости от требований к программе)
- .DATA - сегмент данных, в котором хранятся переменные программы
- sbArray DB 23, 87, 90, -74, 68, -15, 75, 39, -97, 82, -42, 88, 32, -5, 10, -17, -80, -2, 20, 42 - массив, в котором нужно найти максимальное отрицательное число
- .CODE - сегмент кода, в котором хранятся инструкции программы
- START: - метка начала выполнения программы
- LEA SI, sbArray - перемещает указатель на первый элемент массива в регистр SI
- MOV CX, LengthOf sbArray - перемещает длину массива в регистр CX
- MOV AH, 127 - инициализирует регистр AH максимальным значением для byte (в данном случае 127)
- LOAD_ITEM: - метка цикла, который будет выполняться до тех пор, пока не будут загружены все элементы массива
- LODSB - загружает байт из массива в регистр AL и увеличивает указатель на следующий элемент массива
- CMP AL, AH - сравнивает текущий элемент массива с максимальным значением, хранящимся в регистре AH
- JGE NEXT_ITEM - если текущий элемент больше максимального значения, то переходит к следующему элементу
- MOV AH, AL - если текущий элемент является максимальным значением, то сохраняет его в регистре AH
- NEXT_ITEM: LOOP LOAD_ITEM - переходит к следующей итерации цикла до тех пор, пока не будут загружены все элементы массива
- RET - возвращает управление в вызывающую программу
- END START - указывает на конец программы
- ; - символ конца строки комментария
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д