Знающие люди, поможите
...
mov eax,ebx
db A8h
dw C45Fh
cmp eax,[ecx]
...
Ведь при выполнении проги все ети данные могут быть восприняты как команда(ы), изменяющие нужный мне регистр(EAX), или вообще слиться с "cmp eax,[ecx]" в одну команду! В итоге прога выполняет какую - то чушь.
Что же будет, если передать управление на блок, содержащий данные?
Цитата:
Originally posted by zOOm
Ведь при выполнении проги все ети данные могут быть восприняты как команда(ы), изменяющие нужный мне регистр(EAX), или вообще слиться с "cmp eax,[ecx]" в одну команду! В итоге прога выполняет какую - то чушь.
Ведь при выполнении проги все ети данные могут быть восприняты как команда(ы), изменяющие нужный мне регистр(EAX), или вообще слиться с "cmp eax,[ecx]" в одну команду! В итоге прога выполняет какую - то чушь.
А ведь можно еще и кодах программировать...
Цитата:
Что же будет, если передать управление на блок, содержащий данные?
Подумай внимательно ;)
Обычно подобные штучки (данные посреди кода) используются если ассемблер не понимает какую-нибудь мнемонику. В этом случае это эквивалентно написанию программы прямо в машинном коде.
ну спасибо, а где мона посмотреть как кодируются в байты команды (в смысле как их коды формируются и т п)?
Или вот это http://sandpile.org