реклама на сайте
подробности

 
 
> Нюансы в преобразовании ASM инструкций в двоичный
wanderlust
сообщение Nov 6 2007, 13:05
Сообщение #1





Группа: Участник
Сообщений: 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 биты), куда как я понимаю тоже надо записать нули... Вот тут я и стопорюсь. Что не так?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Nov 6 2007, 13:42
Сообщение #2


.
******

Группа: Участник
Сообщений: 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
должны быть идентичными в машинных кодах


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
wanderlust
сообщение Nov 6 2007, 14:36
Сообщение #3





Группа: Участник
Сообщений: 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). Собственно потому меня и заинтересовал этот вопрос.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 13:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01379 секунд с 7
ELECTRONIX ©2004-2016