section .data
array dw 5, 2, 8, 1, 9
array_len equ $-array
num_elements equ array_len / 4
section .bss
max resd 1
section .text
global _start
_start:
; Инициализация
mov esi, array ; Указатель на начало массива
mov ecx, num_elements ; Счетчик элементов
mov eax, [esi] ; Предполагаем, что первый элемент - максимальный
mov [max], eax
loop_max:
; Переходим к следующему элементу
add esi, 4
dec ecx
; Проверяем, не достигли ли конца массива
cmp ecx, 0
je end_loop
; Сравниваем текущий элемент с текущим максимумом
cmp [esi], eax
jle loop_max ; Если текущий элемент <= максимума, переходим к следующему
; Если текущий элемент > максимума, обновляем максимум
mov eax, [esi]
mov [max], eax
jmp loop_max
end_loop:
; Вывод результата (максимума)
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, max ; Указатель на максимум
mov edx, 4 ; Размер выводимых данных
int 0x80
; Завершение программы
mov eax, 1 ; sys_exit
xor ebx, ebx
int 0x80
assembly
c2VjdGlvbiAuZGF0YQogICAgYXJyYXkgZHcgNSwgMiwgOCwgMSwgOQogICAgYXJyYXlfbGVuIGVxdSAkLWFycmF5CiAgICBudW1fZWxlbWVudHMgZXF1IGFycmF5X2xlbiAvIDQKCnNlY3Rpb24gLmJzcwogICAgbWF4IHJlc2QgMQoKc2VjdGlvbiAudGV4dAogICAgZ2xvYmFsIF9zdGFydAoKX3N0YXJ0OgogICAgOyDQmNC90LjRhtC40LDQu9C40LfQsNGG0LjRjwogICAgbW92IGVzaSwgYXJyYXkgICAgICAgIDsg0KPQutCw0LfQsNGC0LXQu9GMINC90LAg0L3QsNGH0LDQu9C+INC80LDRgdGB0LjQstCwCiAgICBtb3YgZWN4LCBudW1fZWxlbWVudHMgICA7INCh0YfQtdGC0YfQuNC6INGN0LvQtdC80LXQvdGC0L7QsgogICAgbW92IGVheCwgW2VzaV0gICAgICAgIDsg0J/RgNC10LTQv9C+0LvQsNCz0LDQtdC8LCDRh9GC0L4g0L/QtdGA0LLRi9C5INGN0LvQtdC80LXQvdGCIC0g0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5CiAgICBtb3YgW21heF0sIGVheAoKbG9vcF9tYXg6CiAgICA7INCf0LXRgNC10YXQvtC00LjQvCDQuiDRgdC70LXQtNGD0Y7RidC10LzRgyDRjdC70LXQvNC10L3RgtGDCiAgICBhZGQgZXNpLCA0CiAgICBkZWMgZWN4CgogICAgOyDQn9GA0L7QstC10YDRj9C10LwsINC90LUg0LTQvtGB0YLQuNCz0LvQuCDQu9C4INC60L7QvdGG0LAg0LzQsNGB0YHQuNCy0LAKICAgIGNtcCBlY3gsIDAKICAgIGplIGVuZF9sb29wCgogICAgOyDQodGA0LDQstC90LjQstCw0LXQvCDRgtC10LrRg9GJ0LjQuSDRjdC70LXQvNC10L3RgiDRgSDRgtC10LrRg9GJ0LjQvCDQvNCw0LrRgdC40LzRg9C80L7QvAogICAgY21wIFtlc2ldLCBlYXgKICAgIGpsZSBsb29wX21heCA7INCV0YHQu9C4INGC0LXQutGD0YnQuNC5INGN0LvQtdC80LXQvdGCIDw9INC80LDQutGB0LjQvNGD0LzQsCwg0L/QtdGA0LXRhdC+0LTQuNC8INC6INGB0LvQtdC00YPRjtGJ0LXQvNGDCgogICAgOyDQldGB0LvQuCDRgtC10LrRg9GJ0LjQuSDRjdC70LXQvNC10L3RgiA+INC80LDQutGB0LjQvNGD0LzQsCwg0L7QsdC90L7QstC70Y/QtdC8INC80LDQutGB0LjQvNGD0LwKICAgIG1vdiBlYXgsIFtlc2ldCiAgICBtb3YgW21heF0sIGVheAoKICAgIGptcCBsb29wX21heAoKZW5kX2xvb3A6CiAgICA7INCS0YvQstC+0LQg0YDQtdC30YPQu9GM0YLQsNGC0LAgKNC80LDQutGB0LjQvNGD0LzQsCkKICAgIG1vdiBlYXgsIDQgICAgICA7IHN5c193cml0ZQogICAgbW92IGVieCwgMSAgICAgIDsgc3Rkb3V0CiAgICBtb3YgZWN4LCBtYXggICAgIDsg0KPQutCw0LfQsNGC0LXQu9GMINC90LAg0LzQsNC60YHQuNC80YPQvAogICAgbW92IGVkeCwgNCAgICAgIDsg0KDQsNC30LzQtdGAINCy0YvQstC+0LTQuNC80YvRhSDQtNCw0L3QvdGL0YUKICAgIGludCAweDgwCgogICAgOyDQl9Cw0LLQtdGA0YjQtdC90LjQtSDQv9GA0L7Qs9GA0LDQvNC80YsKICAgIG1vdiBlYXgsIDEgICAgICA7IHN5c19leGl0CiAgICB4b3IgZWJ4LCBlYngKICAgIGludCAweDgwCmFzc2VtYmx5Cg==