Данные в коде - Assembler

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

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

Доброй ночи. При дальнейшем ковырянии IDAй DOSовской программы столкнулся со следующей проблемой. В сегменте кода IDA презентовала мне данные. При том не за JMP каким нибудь и ли RET, а просто поперёк дороги.
                push    bx
                push    bp
                push    bx
                push    sp
                db      65h
                dec     bx
                and     [bp+di+4Fh], al
ещё кусочек
                outsw
                jo      short loc_11588
                jb      short near ptr loc_11579+1
                db      67h
                push    2074h
                sub     [bp+di+29h], al
Что бы это значило? Что думать? И в какую сторону смотреть?

Решение задачи: «Данные в коде»

textual
Листинг программы
call label
label:pop r

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

В данном коде происходит следующее:

  1. Выполняется команда call label, которая переходит к указанной метке в коде.
  2. Код до метки label выполняется до тех пор, пока не будет выполнено действие pop r.
  3. При выполнении команды pop r из стека (stack) в регистр (register) R будет загружено значение (r).
  4. После этого выполнение кода продолжается до следующей команды или до тех пор, пока не будет выполнено условие окончания программы.

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

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