169 похожих чатов

Вот так она выглядит: Переменная x1 определена по адресу 00400204h и

определена так:
x1 DD 12AB56FEh

Исполняемый код:
lea EAX, x1
add EAX, 3
add [EAX],AL
dec EAX
mov AX,[EAX]

Какое конечное шестнадцатиричное значение будет иметь регистр EAX после выполнения указанной последовательности команд?

11 ответов

97 просмотров

А в чём проблема выполнить, и посмотреть?

Андрей- Автор вопроса
КТ315
А в чём проблема выполнить, и посмотреть?

Мне нужно понять как это решать вручную, потому что компьютера под рукой не будет

Андрей
Мне нужно понять как это решать вручную, потому чт...

Изучи, что делают инструкции lea, add, dec и mov.

lea eax, dword[x1] ; 0x00400204 add eax, 3 ; 0x00400207 [EAX] = 0x12AB56FE add dword[eax], al ; 0x12AB56FE + 0x7 = 0x12AB5705 dec eax ; 0x00400207-1 = 0x00400206 mov ax, word[eax] ; 0x5705

А как он туда переменную определил

Андрей- Автор вопроса
Alexey
А как он туда переменную определил

было определено двойное слово x1 через DD

Андрей
было определено двойное слово x1 через DD

Я конечно не знаток, но по-моему ты объявил константу , которую назвал х1, и выделил ей double word (dd) то есть двойное слово, куда запихнул свои значения- это тоже исполняемый код

Затем запихнул в регистр eax, свою константу х1, затем прибавляет в регистр eax 3 Потом в АДРЕС еах, значение регистра al

Вообщем какой то кошмар

Какой компилятор то?

У меня твоя программа компилируется, но вылетает - а дебагере значение непонятное

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта