|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.11.2012, 22:22 | #1 |
Регистрация: 15.11.2012
Сообщений: 8
|
Вопрос от препода по ассемблеру
Помогите! на защите лабы по ассемблеру, меня препод попросил написать там определённые команды, в конечно итоге получилось такое:
Push ax mov ax,3 Pop bx Потом прозвучал вопрос, что останется в bx ? |
15.11.2012, 23:19 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
смотрите, push ax помещает содержимое регистра ax в стек
команда pop bx достаёт содержимое стека и помещает его в bx поэтому ответ, в регистр bx будет то, что находилось в регистре ax на начало выполнения данного кода |
15.11.2012, 23:35 | #3 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
cesco10, прочитайте следующие три статьи:
http://wasm.ru/article.php?article=ollydbg01 http://wasm.ru/article.php?article=ollydbg03 http://wasm.ru/article.php?article=ollydbg04 Час затреченного времени сэкономит вам кучу времени в будущем. Если кратко, то порядок такой: - запустить Ollydbg - нажать F3 (открыть файл) и выбрать любой exe - нажать пробел и ввести команды (те что вы написали) - нажать правой кнопкой на первой команде из вашей программы и выбрать "New origin here" - теперь нажимайте F7 (выполнение по шагам) и смотрите на стек и регистры. Сами всё увидите. В общем читайте статьи по тем ссылкам. И оттуда узнаете подробно об иструкции, что я тут написал. Если лень, то могу на картинках продемонстрировать: Три введённых команды и регистр EAX (последние два байта регистра EAX - это AX): После выполнения команды PUSH AX в стеке оказалось содержимое регистра AX: После команды MOV AX, 3. Тройка скопировалась в регистр AX. Обращаем внимание на стек и то, что когда выполнится команда POP BX верхнее значение из стека скопируется в регистр BX: Действительно, значение из стека переместилось в регистр BX. И значение 0004 исчезло из стека: Последний раз редактировалось 8Observer8; 15.11.2012 в 23:42. |
16.11.2012, 01:31 | #4 |
Регистрация: 15.11.2012
Сообщений: 8
|
Спасибо, как я понял в BX будет то, что изначально было в AX?
|
16.11.2012, 08:28 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
да. Вам же об этом ДВАЖДЫ сказали (второй раз даже в картинках)!
в регистре BX будет то, что находилось в регистре AX до начала выполнения данного кода! |
16.11.2012, 10:34 | #6 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,327
|
cesco10, всё, что мы вам здесь объяснили вы понастоящему поймёте, когда сами повторите (не поленитесь сейчас). Только отладчик (выполнение пошагам) закрепит результат, и снимет страх перед непониманием. Нажимайте F7 и смотрите на регистры. Экспериментируйте и импровизируйте! |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по ассемблеру | добрый_фей | Помощь студентам | 2 | 01.11.2010 20:27 |
Атака ПРЕПОДА! Помогите студенту! | wowka_khb | Помощь студентам | 1 | 02.04.2009 15:46 |
Помогите исправить прогу так чтобы препода удовлетворяла))) | 812 | Помощь студентам | 3 | 25.05.2008 12:34 |
Сокрытие процесса от глаз вездесущего препода! | психопес | Помощь студентам | 3 | 15.05.2008 18:15 |