Здравствуйте, помогите пожалуйста с задачей по ассемблеру.
Технический вуз, 2 курс, срок-до четверга.
Задача.
Дан массив из десяти знаковых чисел (слов или байт). Требуется найти наибольшее отрицательное число. Массив байт.
Заранее спасибо, если кто может помочь)
Попробовала..можете проверить?
читать дальшеdata segment
max dw ?
mass dw 10,24,76,479,-347,281,-24,70,124,97
data ends
code segment
assume cs: code, ds: data
start: mov ax, data
mov ds, ax ; Загрузить сегментный адрес данных
lea bx, mass ; Загрузить адрес смещения массива
mov cx, 10 ; Установить счетчик повторений цикла
mov ax, [bx] ; Первый элемент массива в Аккумулятор
xor dl,dl ; Обнулим регистр, для создания из него флага наличия отрицательных чисел
beg:
cmp [bx], 0d ; Сравнить текущий элемент
; массива с 0
jl no ; он меньше -> прыг на метку no
cmp [bx], ax ; Сравниваем элементы массива
inc dl ; "Поднимаем" флаг отрицательных чисел
jl no
mov ax, [bx]
no:
inc bx
loop beg
cmp dl, 0 ; смотрим, поднят ли флаг отрицательных чисел
jnz quit
mov max, ax
quit:
mov ax,4C00h ; Код завершения 0
int 21h ; Выход в DOS
code ends
end start