Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2011, 00:02   #1
SrgGld
Пользователь
 
Аватар для SrgGld
 
Регистрация: 23.10.2010
Сообщений: 17
Лампочка Машинные команды

"mov ds, ax" транслируется ассемблером в "8E D8h".
То есть в 10001110 11011000. Но почему именно так?
До этого мне попадался код операции команды "mov" только 100010.. или 110001...
К тому же используются 16-разрядные регистры, а бит d байта кода операции установлен в ноль, что должно означать 8-разрядность операндов. Как же так?
Остальное вроде понятно, только, как процессор узнает, что под 011 в поле reg имеется в виду сегментный регистр, а не BX? может поэтому-то такой код операции здесь?

Последний раз редактировалось SrgGld; 12.04.2011 в 21:34.
SrgGld вне форума Ответить с цитированием
Старый 12.04.2011, 05:46   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

SrgGld
Почитай:
Aquila / WASM.RU - Заклинание кода: Алеф Заклинание кода - искусство програмирования в машинных кодах. Сила древних - каждому, кто не боится ее взять.
Aquila / WASM.RU - Заклинание кода: Бет Могущественное заклинание NOP и изменение EAX на 1.
Aquila / WASM.RU - Заклинание кода: Гимель Адепты магии в поисках более мощных заклинаний. Перемещение двойных слов из одного регистра в другой и сложение последних друг с другом: да падут наши враги ниц и познают наше могущество на своей шкуре!
Aquila / WASM.RU - Заклинание кода: Далет На кончиках наших пальцев - власть над битами и байтами кода, даруемая нам полями ModR/M и SIB. Они дают ответ на вопрос, как заколдовать все виды адресации в x86-процессорах.
Aquila / WASM.RU - Заклинание кода: Хей Интеловские гномы оставили нам настоящее сокровище - Книгу Двойных Слов, но, к сожалению, забыли перевести ее со своего языка. В данной главе рассказывается, как читать эту книгу и расшифровывать содержащиеся в ней письмена.
Aquila / WASM.RU - Заклинание кода: Вав Программа, которая сама себя модифицирует! Возможно ли такое чудо? Заклинание кода поможет воплотить в реальность невероятное.
Aquila / WASM.RU - Заклинание кода: Заин В прошлых главах мы изучили практически все основы, необходимые для сотворения правильно работающих заклинаний, а в предыдущей главе была проведена небольшая демонстрация могущества, которое есть у каждого заклинателя кода. Однако мы еще не рассмотрели две важные темы, а именно - префиксы и использование 16-ти битных инструкций в 32-х битном коде.
Mikl___ вне форума Ответить с цитированием
Старый 12.04.2011, 21:29   #3
SrgGld
Пользователь
 
Аватар для SrgGld
 
Регистрация: 23.10.2010
Сообщений: 17
По умолчанию А разгадка вот в чём...

Mikl___, спасибо, вроде помогло. Интересные статьи.

Opcode | Instruction | Description
8E /r | MOV Sreg,r/m16** | Move r/m16 to segment register,
где "/r" значит, что ModR/M задаёт оба операнда (регистр и r/m).
SrgGld вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команды KostyaS Свободное общение 2 03.04.2011 16:58
Команды cargo29 Работа с сетью в Delphi 2 16.12.2010 13:14
Цепочечные команды Несогласный Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 12.05.2010 20:49
Цепочечные команды Opiym Помощь студентам 4 12.03.2010 22:09
2 команды Aivar Помощь студентам 2 01.10.2008 19:23