0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 87
1

AVRASM2 и его невозможности

26.10.2012, 18:04. Показов 5713. Ответов 8
Метки нет (Все метки)

Хочу так:
Код
#define S1 R20, R21, R22, R23
#define S2 R24, R25, R26, R27

.macro ADDD
add @0, @4
adc @1, @5
adc @2, @6
adc @3, @7
.endm

ADDD S1, S2
Но... никак!
Теорема: сделать такое в пределах AVROSM2 невозможно.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2012, 18:04
Ответы с готовыми решениями:

Кто-то неадекватен - я или avrasm2
Решил сделать себе удобные макросы махания ногами, одинаковые для xmega и прочих. И наступил на...

можно ли работать с адресами в avrasm2 наподобие указателей
интересует адресная арифметика. хочу написать макросы для загрузки/чтения 16-битных регистров,...

Реализация невозможности создания класса
Всем привет. Дано: Класс SomeThing, имеющий два поля типа Int, сумма данных полей должна быть...

Перехват ошибки невозможности отображения картинки в TImage
При попытке загрузки битой картинки в TImage вылазит сообщение "JPEG error #53" . Какую ошибку...

8
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 87
26.10.2012, 18:21 2
Гы, даже так - никак:
Код
#define MACX(A0,A1,A2,A3,B0,B1,B2,B3) \
add A0, B0 \
adc A1, B1 \
adc A2, B2 \
adc A3, B3 \

#define S4 R16, R17, R18, R19
#define S5 R20, R21, R22, R23

MACX(S4, S5)
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
26.10.2012, 18:22 3
В AVROSM2 очень кривой препроцессор (который через #).

Я сделал проще - написал себе свой AVROSM2 с нормальный препроцессором.
0
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 87
26.10.2012, 18:26 4
Да не кривой наверное, просто там правила такие: сначала разворачиваются макросы, потом - #дефайны, потом - #дефайны в параметрах #дефайнов, ...
0
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 1,142
26.10.2012, 18:28 5
Кривой - суть препроцессора:
1. до всего
2. Выход препроцессора на его же вход.

Оба правила не соблюдаются. Так что сходство чисто внешнее, только команды похожи.
0
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
26.10.2012, 19:38 6
Цитата Сообщение от THI BIOST
В AVROSM2 очень кривой препроцессор (который через #).

Я сделал проще - написал себе свой AVROSM2 с нормальный препроцессором.
Молодцом.
А можно его испробовать, или комерческий проект?
0
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
27.10.2012, 02:50 7
Цитата Сообщение от ZhikSooM
Хочу так:
Код:
#define S1 R20, R21, R22, R23
#define S2 R24, R25, R26, R27

.macro ADDD
add @0, @4
adc @1, @5
adc @2, @6
adc @3, @7
.endm

ADDD S1, S2

Но... никак!
Теорема: сделать такое в пределах AVROSM2 невозможно.

Тоже пробовал применить такой прием...
Заинтересовала цель этой конструкции - если данные пришиты к конкретным регистрам, то достаточно оформить содержимое ADDD S1, S2 как подпрограмму?
0
0 / 0 / 0
Регистрация: 31.10.2012
Сообщений: 51
04.11.2012, 00:51 8
Цитата Сообщение от ZhikSooM
Хочу так:
Код:
#define S1 R20, R21, R22, R23
#define S2 R24, R25, R26, R27

.macro ADDD
add @0, @4
adc @1, @5
adc @2, @6
adc @3, @7
.endm

ADDD S1, S2

Но... никак!
Теорема: сделать такое в пределах AVROSM2 невозможно.
А если попробовать проштудировать вот этот сайтег, то возможо ваша теорема будет опровергнута. :) Там куча макросов и простых и не очень решений на асме.
0
0 / 0 / 0
Регистрация: 22.08.2009
Сообщений: 525
05.11.2012, 10:09 9
Цитата Сообщение от ZhikSooM
Хочу так:
Код:
#define S1 R20, R21, R22, R23
#define S2 R24, R25, R26, R27

.macro ADDD
add @0, @4
adc @1, @5
adc @2, @6
adc @3, @7
.endm

ADDD S1, S2

Но... никак!
Теорема: сделать такое в пределах AVROSM2 невозможно.
Ну так а вы чего ожидали? Препроцессор в стиле Си и макропроцессор самого ассемблера - вещи абсолютно разные. Они никак между собой не пересекаются. Поэтому в данном случае ваше макроопределение ADDD нужно также описывать в препроцессоре. Либо параметры вашего макро задавать явно. Или нет?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2012, 10:09

Событие Form_Delete: проблема при невозможности удаления
Хочется отслеживать удаление записей из некоторых таблиц и вести соответствующий журнал. Поскольку...

Как получить уведомление о невозможности отправки почты?
Как можно получать уведомление о том, что сервер не может отправить письмо в конкретный домен в...

Сообщение о невозможности создать файл при удалении файла
String GetLastErrorToString(void) { DWORD dw = GetLastError(); void* cstr; FormatMessage(...

Какое исключение возникает при невозможности открыть файл?
какое исключение отвечает за отсутствие файла?за невозможность открыть файл? FileNotFoundException?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.