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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Условное компилирование
defunct
сообщение Feb 3 2009, 11:34
Сообщение #16


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(serge71 @ Feb 2 2009, 15:40) *
Цитата

Это не условная компиляция
Ну может я не так сформулировал

Ну так переформулируй.
Ответ для реализации того, что тебе нужно - уже дан в посте #2. Вдумчиво прочитай и реализуй.
Никакие ifdef, .IF тебе тут не помогут, потому что они предназначены совсем для другого.
Go to the top of the page
 
+Quote Post
serge71
сообщение Feb 3 2009, 16:50
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 19-11-08
Из: Moscow region
Пользователь №: 41 766



Цитата(defunct @ Feb 3 2009, 14:34) *
Ну может я не так сформулировал

Ну так переформулируй.
Ответ для реализации того, что тебе нужно - уже дан в посте #2. Вдумчиво прочитай и реализуй.
Никакие ifdef, .IF тебе тут не помогут, потому что они предназначены совсем для другого.
Реализовано уже было как во#2 посте, хотел понять можно ли это сделать на этапе компиляции, видимо это был оптимальный вариант.
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 3 2009, 17:07
Сообщение #18


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(serge71 @ Feb 3 2009, 18:50) *
Реализовано уже было как во#2 посте, хотел понять можно ли это сделать на этапе компиляции, видимо это был оптимальный вариант.

К сожалению это единственный возможный вариант в данном случае
Go to the top of the page
 
+Quote Post
ermilovd
сообщение Feb 9 2009, 08:45
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 22-01-09
Из: Пермь
Пользователь №: 43 767



Вот кусочек моей старой проги на асме (AStudio) c условной компиляцией табличных данных (во FLASH-памяти)

CODE
.org $1000
Table_Altera:
;*******************************************************************************
.equ TYPE_BLOCK = 6 ; или 0,1,2,3,4,5
;*******************************************************************************
.IF TYPE_BLOCK == 0
.include "mv01_old39.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 1
.include "mv01_new1.inc"
.equ OUT_PORT = PORTE
.Equ UR_C = PE2
.Equ UR_B = PE3
.ELIF TYPE_BLOCK == 2 ; Very OLD OTS
.include "mv01_old_rl1.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 3 ; Very OLD OTS Test
.include "mv01_old_rl1_test.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 4
.include "mv01_p4b3t.inc" ; for oldOTS
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 5
.include "mv01_testrl.inc"
.equ OUT_PORT = PORTB
.Equ UR_C = PB4
.Equ UR_B = PB5
.ELIF TYPE_BLOCK == 6
.include "mv01f_000501.inc"
.equ OUT_PORT = PORTE
.Equ UR_C = PE2
.Equ UR_B = PE3 ; B_NApr
.ENDIF
;*******************************************************************************

Структура *.inc-файлов :
Код
.db 0x17,0x1F,0x27,0x2E,0x2F,0x33,0x37,0x3A,0x3B,0x3E
.db 0xFF,0xFF,0xFF,0x01,0x7E,0xE7,0x1F,0x62,0x7B,0x3C
.db 0x33,0xFF,0x47,0xA0,0x09,0x30,0x01,0x26,0xD0,0x04
.db 0xC0,0x80,0x13,0x33,0x03,0x60,0x33,0x64,0x35,0x81
.db 0x26,0x40,0x06,0x9A,0x33,0x18,0x68,0x02,0x64,0xC0
.db 0x0C,0x80,0x01,0x00,0x10,0x0C,0x34,0x01,0x30,0x33
.db 0x06,0xC0,0x33,0x13,0x60,0x02,0x64,0xA0,0x09,0x90
Причина редактирования: Оформление цитирования исходников.
Go to the top of the page
 
+Quote Post
serge71
сообщение Feb 10 2009, 19:45
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 19-11-08
Из: Moscow region
Пользователь №: 41 766



Цитата(ermilovd @ Feb 9 2009, 11:45) *
Вот кусочек моей старой проги на асме (AStudio) c условной компиляцией табличных данных (во FLASH-памяти)

Таким способом не возможно выбирать таблицу перед выполнением процедуры вывода символа (по крайне мере у меня не получилось)
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post
XVR
сообщение Feb 11 2009, 08:01
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(serge71 @ Feb 2 2009, 16:40) *
Ну может я не так сформулировал
bb-offtopic.gif
К хирургу прибегает молодой человек и с порога заявляет:
- Доктор, срочно кастрируйте меня!
- Зачем ?!, у вас эе еще вся жизнь впереди !
- Ну надо, срочно, я потом объясню.
Ну раз надо, то надо. Доктор отрезал, что просили. После операции спрашивает:
- Ну так зачем?
- Понимаете, доктор. Я собираюсь женится, а невеста у меня еврейка, а у них там с этим очень строго.
- А, так вам надо было сделать обрезание!
- А что, я как то не так сказал ??
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Feb 11 2009, 09:53
Сообщение #22


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Анекдот очень к местуsmile.gif
Цитата(serge71 @ Feb 10 2009, 22:45) *
Таким способом не возможно выбирать таблицу перед выполнением процедуры вывода символа (по крайне мере у меня не получилось)
Если Вам нужно менять активную таблицу во время выполнения программы, то это никого отношения к условной компиляции не имеет. Вам нужно просто напросто сделать двумерный или Н-мерный массив из нескольких таблиц и изменять на лету номер индекса активной таблицы. Или передавать указатель в Вашу функцию на требуемую таблицу, что более разумно...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 06:12
Рейтинг@Mail.ru


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