|
Нюансы в преобразовании ASM инструкций в двоичный |
|
|
|
Nov 6 2007, 13:05
|
Группа: Участник
Сообщений: 9
Регистрация: 25-08-07
Пользователь №: 30 056

|
Здравствуйте.
Пробую разобратся с сабжем. И тут у меня возник вопрос следующего типа. Есть 2 комманды : 1) ADD R0, R0, R0; 2) ADD R0, R0, LSL #0 Если я пробую их записать в двоичной форме, согласно ARM Architecture Reference Manual, у меня получается, что они идентичны бит в бит. т.е. Код операции у них одинаковый (ADD или 0000); Rd и Rs также нули. Меня смущает запись в параметре Operand2. Согласно вышеуказаному документу Operand2 для первого случая состоит из битов [11:4], которые забиты нулями и поля Rm (4 биты), куда я полагаю вносяться также нули. Operand2 для второго случая состоит из поля shift_imm (5 битов), трёх битов забитых нулями и поля Rm (4 биты), куда как я понимаю тоже надо записать нули... Вот тут я и стопорюсь. Что не так?
|
|
|
|
|
 |
Ответов
|
Nov 6 2007, 13:42
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата 2) ADD R0, R0, LSL #0 Вроде бы такой команды не существует. Всегда указываются три регистра: приёмник, источник1 и источник2. И в конце необязательный сдвиг, который когда = 0 не отображается (не указывается) Короче, команды 1) ADD R0, R0, R0 2) ADD R0, R0, R0, LSL #0 должны быть идентичными в машинных кодах
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Nov 6 2007, 14:36
|
Группа: Участник
Сообщений: 9
Регистрация: 25-08-07
Пользователь №: 30 056

|
Цитата(GetSmart @ Nov 6 2007, 15:42)  Вроде бы такой команды не существует. Всегда указываются три регистра: приёмник, источник1 и источник2. И в конце необязательный сдвиг, который когда = 0 не отображается (не указывается)
Короче, команды 1) ADD R0, R0, R0 2) ADD R0, R0, R0, LSL #0 должны быть идентичными в машинных кодах Я понимаю, что пример выбран дурацкий... Но все же.... они не идентичны... Ну по крайней мере, если верить тому документу, который я привел выше (ARM Architecture Reference Manual). Собственно потому меня и заинтересовал этот вопрос.
|
|
|
|
Сообщений в этой теме
wanderlust Нюансы в преобразовании ASM инструкций в двоичный Nov 6 2007, 13:05 GetSmart Согласно файлу arm7tdmi.pdf (стр. 52)
1. Оп-код ко... Nov 6 2007, 15:04 wanderlust Цитата(GetSmart @ Nov 6 2007, 17:04) Форм... Nov 7 2007, 06:14  scifi Цитата(wanderlust @ Nov 7 2007, 09:14) Ра... Nov 7 2007, 07:48   wanderlust Цитата(scifi @ Nov 7 2007, 09:48) Правиль... Nov 7 2007, 08:57    aaarrr Цитата(wanderlust @ Nov 7 2007, 11:57) ко... Nov 7 2007, 10:09     wanderlust Цитата(aaarrr @ Nov 7 2007, 12:09) Нет, н... Nov 7 2007, 10:23      aaarrr Цитата(wanderlust @ Nov 7 2007, 13:23) Из... Nov 7 2007, 10:35       wanderlust Цитата(aaarrr @ Nov 7 2007, 12:35) Т.е. A... Nov 7 2007, 11:14        aaarrr Цитата(wanderlust @ Nov 7 2007, 14:14) Я ... Nov 7 2007, 11:37         wanderlust Цитата(aaarrr @ Nov 7 2007, 13:37) Это од... Nov 7 2007, 11:57        alexander55 Цитата(wanderlust @ Nov 7 2007, 14:14) Т.... Nov 7 2007, 11:55 GetSmart Тяжёлый случай. Nov 7 2007, 11:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|