Другие языки программирования и технологии

Вопрос про Ассемблер

Вот есть регистры общего назначения
EBX: 22 33 44 55
ESP: 00 63 FB 60
командой push ebx, что получится?
На каком ресурсе я могу по экспериментировать? Я знаю про отладчики IDAPro Ollydbg, но туда надо модуль загружать проги и смотреть, я хочу отдельно смотреть какая команда что делает? Есть ли такой ресурс?
Могу порекомендовать проект SASM. IDE + как-бэ отладчик.

Что хорошо в первую очередь - макросы ввода-вывода в "консоль-окно". Это очень удобно для новичков, в т. ч. для вывода промежуточных результатов и посмотреть "что не так".

https://dman95.github.io/SASM/

Гляньте хотя-бы скриншот =)

А за инструкциями - конечно в первую очередь документация к процессору и пособиям по ассемблеру. Инструкций много, инструкции разные =)

P.S: OllyDbg вещь, но лучше чуть позже, когда освоитесь. Тем более там без WinAPI уже никуда. Вообще в своё время был SoftIce - самая крутая штука, что видел =). К сож. умер во времена XP.
Олег Богданович
Олег Богданович
84 764
Лучший ответ
Анатолий Асташкин По Вам видно, что вы ярый программер. Благодарю за ответ.
Erden Nurzhanov Как пользоваться SASM? Как запустить?
Это вам надо Programmers Manual на сайте Intel скачать, там все инструкции микропроцессора расписаны.
D. M.
D. M.
66 341
В windows XP была такая прога. Она называлась debug.
Олег Богданович Это наследие msdos, которое не знает современные инструкции напрочь. про неё лучше вообще забыть =)
Мне проще всего создать простенькое приложение на масм или фасм, а потом добавляя или удаляя команды тестировать их в x64dbg(прога похожая на olydbg), для старта советовал бы все же с olydbg начать.
Вообще, ESP не общего назначения...
Касательно вопроса что сделает:
1) уменьшить значение ESP на 4
2) записать значение EBX по адресу, записанному в ESP
Алексей Ахрем
Алексей Ахрем
1 107
Olydbg
Напиши попроще прогу с нужными действиями для проверки и посмотри через olydbg
В стёк заносишь, указатель вершины стёка меняется и всё

Команда PUSH размещает значение в стеке, т. е. помещает значение в ячейку памяти, на которую указывает регистр ESP, после этого значение регистра ESP увеличивается на 4.