Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
26.04.2010, 14:42
|
|
Временная регистрация
Регистрация: 12.02.2008
Сообщений: 77
Сказал спасибо: 84
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Поясните инструкцию ADR в асемблере
Доброго времени суток!
Не очень понятна инструкция ADR в таком исполнении(да и в другом тоже):
ADR r0,text
В связи с плохим знанием английского вариантов несколько: - в r0 записывается разность между адресом текущей инструкцией и адресом метки text.
- в r0 записывается адрес метки text
Архитектура ARMv7.
P.S. В честном случае метка text находиться по адресу 0x00000000.
|
|
|
|
26.04.2010, 15:19
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
В системе команд ARM7TDMI команды ADR нет, это что-то типа макроса для компилятора, который переводится в инструкции процессора ADD или SUB.
Физический смысл, например, команды "ADR r0, text" - положить в r0 адрес text
|
|
|
|
26.04.2010, 17:39
|
|
Временная регистрация
Регистрация: 12.02.2008
Сообщений: 77
Сказал спасибо: 84
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
Сообщение от AJScorp
|
В системе команд ARM7TDMI команды ADR нет
|
Процессор Cortex-A8
|
|
|
|
26.04.2010, 17:43
|
|
Временная регистрация
Регистрация: 25.11.2009
Сообщений: 61
Сказал спасибо: 1
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
ADR Rx, label это псевдоинструкция, на самом деле генерируется ADD Rx, PC, #delta.
delta вычисляется ассемблером так, чтобы в Rx оказался адрес метки label.
|
|
|
|
26.04.2010, 18:47
|
|
Временная регистрация
Регистрация: 12.02.2008
Сообщений: 77
Сказал спасибо: 84
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
Сообщение от roxfan
|
ADD Rx, PC, #delta
|
А если без #delta, то в Rx пишется адрес метки??
|
|
|
|
26.04.2010, 19:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
Сообщение от roxfan
|
ADR Rx, label это псевдоинструкция, на самом деле генерируется ADD Rx, PC, #delta.
delta вычисляется ассемблером так, чтобы в Rx оказался адрес метки label.
|
Сообщение от toxxinus
|
А если без #delta, то в Rx пишется адрес метки??
|
Судя по синтаксису команды, в Rx добавится сожержимое указателя PC, т.е. добавится адрес текущей команды, т.е. команды ADD Rx, PC
А не тяжко для ARM на асме?... там же памяти программ немеряно... хотя когда то сам писал для ADSP21XX на асме )))))))))
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
Последний раз редактировалось picavr; 27.04.2010 в 01:02.
|
|
|
|
26.04.2010, 20:06
|
|
Временная регистрация
Регистрация: 12.02.2008
Сообщений: 77
Сказал спасибо: 84
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
Ну инструкция вида "adr Rx, text" пишет в Rx адрес инструкции text ??
|
|
|
|
27.04.2010, 01:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
Сообщение от toxxinus
|
Ну инструкция вида "adr Rx, text" пишет в Rx адрес инструкции text ??
|
Мне кажется проще написать команду и откомпилировать, посмотреть результат. На это потратите 10-15 минут, а на фруме можете и не дождатся )))))))))))))))))))) зато то что выяснили сами, уже никогда не забудется ))))
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
|
|
|
|
27.04.2010, 05:55
|
|
Временная регистрация
Регистрация: 12.02.2008
Сообщений: 77
Сказал спасибо: 84
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Поясните инструкцию ADR в асемблере
Сообщение от picavr
|
Мне кажется проще написать команду и откомпилировать, посмотреть результат. На это потратите 10-15 минут, а на фруме можете и не дождатся )))))))))))))))))))) зато то что выяснили сами, уже никогда не забудется ))))
|
ИСТИНА!!!!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:12.
|
|