Загрузка...

Задача assembler

Тема в разделе Реверсинг / Assembler создана пользователем id523229233 8 ноя 2021. 177 просмотров

Загрузка...
  1. id523229233
    id523229233 Автор темы 8 ноя 2021 Заблокирован(а) 4 24 мар 2021
    Нужно :
    В массиве определить положение и размер первой серии отрицательных
    элементов.
    У меня получается найи только самый минимальный элемент а вот с серией проблемма
    .DATA?
    MaxX dd ? ;значение min элемента
    PmaxX dd ? ;позиция (смещение) min элемента
    .data
    x dd -10,40,-2,6,80,-1,3,12,-7,5 ;массив
    nx dd 10 ;длина массива min_arr.Asm
    .code
    start:
    mov eax,x[0] ;eax-за min принимаем 0-й элемент
    mov edx,0 ;edx-Смещение min
    mov ecx,nx ;ecx-заносим количество элементов
    dec ecx ;количество повторений цикла равно nx-1
    mov edi,4 ;edi-изначально 4 (смещение эл-та x[1])
    ;начинаем просмотр с 1-го эл-та массива
    c1:
    ;начало цикла
    cmp eax,x[edi] ;сравнение min с текущим (x)
    jl m1 ;если MAX >=x -> на метку m1
    mov eax,x[edi] ;x>min, сохраняем как min
    mov edx,edi ;edx-Смещение MAX
    m1:
    add edi,4 ;Увеличение смещения на 4 байта
    loop c1 ;проверка окончания цикла
    mov MaxX,eax ;Запись значения min в minN
    mov PmaxX,edx ;Запись смещения min в PminN
    exit
    end start
     
  2. Кефтеме
    Кефтеме 8 ноя 2021 1098 20 июл 2020
     
Top