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

 
 
> подключить файл с константами, на ассемблере
Диm
сообщение May 29 2007, 06:56
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



может кто знает как прикрутить к проекту файл,он содержит целые числа(8бит) перечисленные через запятую
вот кусочек кода из файла
.cseg
.org 0x100
sie:
.db 127,149,170,191,209,224,237,247,252,254,253,247,238,225,210,192,
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 24)
zltigo
сообщение May 29 2007, 07:00
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Диm @ May 29 2007, 09:56) *
может кто знает...

Как и любой другой ассемблерный файл.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Wild007
сообщение May 29 2007, 07:22
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата(Диm @ May 29 2007, 09:56) *
может кто знает как прикрутить к проекту файл,он содержит целые числа(8бит) перечисленные через

Типа так:
Код
.INCLUDE "m16def.inc"     ; установочный файл для Mega16
.INCLUDE "My_dB_FILE.asm"; твой файл с


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Диm
сообщение May 29 2007, 07:53
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(Wild007 @ May 29 2007, 13:22) *
Типа так:
Код
.INCLUDE "m16def.inc" ; установочный файл для Mega16
.INCLUDE "My_dB_FILE.asm"; твой файл с

это я сделал...
дело в том что вылазит такая ошибка...
D:\work\daL'nomer\sourseasm\l4m\lcm_8_bit_6752kHz_32592.asm(5): error: syntax error, unexpected INTEGER
Go to the top of the page
 
+Quote Post
Wild007
сообщение May 29 2007, 08:18
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Текст программы в студию!!!!


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение May 29 2007, 08:20
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Диm @ May 29 2007, 10:53) *
это я сделал...
дело в том что вылазит такая ошибка...
D:\work\daL'nomer\sourseasm\l4m\lcm_8_bit_6752kHz_32592.asm(5): error: syntax error, unexpected INTEGER


Ну так покажи свою пятую строку, а то гадать - бессмысленно. Это не Си. Если ошибка в пятой - значит в пятой.
Go to the top of the page
 
+Quote Post
Диm
сообщение May 29 2007, 09:02
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(SasaVitebsk @ May 29 2007, 14:20) *
Ну так покажи свою пятую строку, а то гадать - бессмысленно. Это не Си. Если ошибка в пятой - значит в пятой.

.cseg
.org 0x400
sne:
.db 127,149,170,191,209,224,237,247,252,254,253,247,238,225,210,192,172,150,128,106,
85,64,46,30,17,8,2,0,1,7,16,28,43,61,81,103,125,147,168,189,207,223,236,246,252,
2
54,253,248,239,227,211,194,174,152,130,108,87,66,48,32,19,9,2,0,1,6,15,27,42,60,
7
9,100,122,145,166,187,205,222,235,245,252,254,253,248,240,228,213,195,176,155,13
3
,110,89,68,50,33,20,9,3,0,1,5,14,25,40,58,77,98,120,143,164,185,204,220,234,244,
2
51,254,254,249,241,229,214,197,178,157,135,112,91,70,51,35,21,10,3,0,0,5,13,24,3
9
,56,76,97,

и количество цифирек 32592 шт...
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 29 2007, 09:10
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Диm @ May 29 2007, 12:02) *
и количество цифирек 32592 шт...

Вопрос на засыпку - а сколько, по Вашему памяти в Atmega16?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Диm
сообщение May 29 2007, 09:17
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(zltigo @ May 29 2007, 15:10) *
Вопрос на засыпку - а сколько, по Вашему памяти в Atmega16?

в меге16 16383 байта памяти,у меня то стоит мега64 и в ней 65535 байт и на всё про всё должно хватать!
мда...молодой я ещё и только сейчас понял что вопрос поставлен некорректно!!!!
как прикрутить к проекту на ассемблере файл констант который содержит 32592 значения(8бит)
на си это понятно как сделать,а вот тут возникла проблема...

Сообщение отредактировал Диm - May 29 2007, 09:27
Go to the top of the page
 
+Quote Post
Wild007
сообщение May 29 2007, 09:39
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата(Диm @ May 29 2007, 12:17) *
на си это понятно как сделать,а вот тут возникла проблема...

Да нет никакой прблемы с размещением в достаточном количесве памяти переменных. Ошибка
Цитата
дело в том что вылазит такая ошибка...
D:\work\daL'nomer\sourseasm\l4m\lcm_8_bit_6752kHz_32592.asm(5): error: syntax error, unexpected INTEGER

в ассемблировании текста самой программы возникает в пятой строке. Вот ее и покажи (хотябы) smile.gif


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
add
сообщение May 29 2007, 09:43
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата
как прикрутить к проекту на ассемблере файл констант который содержит 32592 значения(8бит)

думаю файл надо перелопачивать на предмет установки в каждой строчке! дерективы ".db".. просто набор цифирек(типа тхт) наверное незя.

Цитата
ке. Вот ее и покажи (хотябы)

Дык уже превел.. см. выше. Там как раз .db и нет..


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
Диm
сообщение May 29 2007, 09:54
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(add @ May 29 2007, 15:43) *
думаю файл надо перелопачивать на предмет установки в каждой строчке! дерективы ".db"..

хотелось бы без этого.....
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 29 2007, 10:13
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Диm @ May 29 2007, 12:54) *
хотелось бы без этого.....

А каким компилятором пользуетесь? Или "голый" ассемблер avrasm? Если компилятор, то может сделать из этого файла с-файл, а из ассемблера его через extern?
Код
My_dB_FILE.c:
unsigned char const __flash sne[] @ 0x400 = {127,149,170,1......
};

lcm_8_bit_6752kHz_32592.asm:
    extern sne
Хотя проставить в каждую строчку .db через Ctrl-C, Ctrl-V займет гораздо меньше времени чем искать другое решение.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Диm
сообщение May 29 2007, 10:36
Сообщение #14


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 31-05-06
Пользователь №: 17 614



Цитата(Сергей Борщ @ May 29 2007, 16:13) *
А каким компилятором пользуетесь? Или "голый" ассемблер avrasm? Если компилятор, то может сделать из этого файла с-файл, а из ассемблера его через extern?
Код
My_dB_FILE.c:
unsigned char const __flash sne[] @ 0x400 = {127,149,170,1......
};

lcm_8_bit_6752kHz_32592.asm:
    extern sne
Хотя проставить в каждую строчку .db через Ctrl-C, Ctrl-V займет гораздо меньше времени чем искать другое решение.

компилятор авр-студия...
Go to the top of the page
 
+Quote Post
Andreas1
сообщение May 29 2007, 10:47
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142



В каждой строчке должно быть .db . Я думаю это проще, чем искать обходные варианты. Только в каждой строке должно быть четное число байт.
Go to the top of the page
 
+Quote Post
Tiro
сообщение May 29 2007, 19:23
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(Диm @ May 29 2007, 12:02) *
.cseg
.org 0x400
sne:
.db 127,149,170,191,209,224,237,247,252,254,253,247,238,225,210,192,172,150,128,106,
85,64,46,30,17,8,2,0,1,7,16,28,43,61,81,103,125,147,168,189,207,223,236,246,252,
2
54,253,248,239,227,211,194,174,152,130,108,87,66,48,32,19,9,2,0,1,6,15,27,42,60,
7
9,100,122,145,166,187,205,222,235,245,252,254,253,248,240,228,213,195,176,155,13
3
,110,89,68,50,33,20,9,3,0,1,5,14,25,40,58,77,98,120,143,164,185,204,220,234,244,
2
51,254,254,249,241,229,214,197,178,157,135,112,91,70,51,35,21,10,3,0,0,5,13,24,3
9
,56,76,97,

и количество цифирек 32592 шт...


У тебя в 5-й строчке от .db после 2 не поставлена запятая.
Go to the top of the page
 
+Quote Post
add
сообщение May 30 2007, 06:32
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата
У тебя в 5-й строчке от .db после 2 не поставлена запятая.

Уверяю Вас, енто непричем:-) И ваще формат такой должен быть:
.db XXX,XXX
.db XXX,XXX,XXX,XX
.dw XXXXX,XXX,XXX
обязательно четное кол-во(уже говорили),(в противном случае теряем байт, и получаем возможные ошибки при некоректно написанной программе) т.к. адресация в сегменте кода по словам, а не по байтам.
(на всякий пажарный для сомневающихся цитата из хелпа :
Syntax:
LABEL: .DB expressionlist
Example:
.CSEG
consts: .DB 0, 255, 0b01010101, -128, 0xaa
.ESEG
const2: .DB 1,2,3
)
Обратите внимание что кол-во байт нечетное,:-) а паЧаму? а потаму что последняя строчка массива:-) и здесь можно забить на четность,хотя компилятор ругнется и проглотит.


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
Andreas1
сообщение Jun 1 2007, 11:08
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142



Оказывается, иногда полезно читать хелпы. laughing.gif Когда понадобилось, сразу нашел
Цитата
Like in C, source lines can be continued by means of having a backslash (\) as the last character of a line. This is particularly useful when defining long preprocessor macros, and for long .db directives.

Example
.db 0, 1, "This is a long string", '\n', 0, 2, \
"Here is another one", '\n', 0, 3, 0
Go to the top of the page
 
+Quote Post
add
сообщение Jun 1 2007, 12:35
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата
Оказывается, иногда полезно читать хелпы. Когда понадобилось, сразу нашел

Не знал :-/ Хотя вставлять "/" в каждую строчку сравнимо со вставкой ".db".


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
Andreas1
сообщение Jun 1 2007, 12:51
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142



Цитата(add @ Jun 1 2007, 15:35) *
Не знал :-/ Хотя вставлять "/" в каждую строчку сравнимо со вставкой ".db".

Так таблица с нечетным числом столбцов получается нагляднее.
Go to the top of the page
 
+Quote Post
the_victor
сообщение Jun 3 2007, 11:12
Сообщение #21





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



попробовал скомпилить пример для LCD
http://atmel.ru/Articles/Atmel17_app3.htm статья http://atmel.ru/Articles/Atmel17.htm
Код
.org $200
rus_buf:        
                .DB $11,$11,$11,$11,$0F,$01,$01,$00
                .DB $12,$12,$12,$12,$12,$12,$1f,$01
                .DB $1f,$11,$11,$11,$11,$11,$11,$00
text:           .DB '  ','  ','  ','  ','O','T','C',0,'E','T'
                .DB '  ','c','  ','A',1,2,':','  ','  ','  '

на строчке text:
D:\MK_rab\AVRstd\AvrStudio4\lcd.asm(160): error: syntax error, unexpected INTEGER
не понимаю, что ей не нравится?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jun 3 2007, 13:12
Сообщение #22


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



А почему везде по два пробела в одиночных кавычках?
Как это понимать?

Сообщение отредактировал GetSmart - Jun 3 2007, 13:13


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
sadat
сообщение Jun 8 2007, 07:58
Сообщение #23


Частый гость
**

Группа: Свой
Сообщений: 117
Регистрация: 6-07-05
Из: Белгород
Пользователь №: 6 575



Когда я размещал таблицу шрифтов в асме для дисплея, то ограничился ~2000 символами в строке - больше непонимал компилятор (по всей видимости, у него буфер одной строки на 2048 символов). Поэтому несколько дополнительных org - и все нормально работает. Это самый правильный путь, имхо...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jun 8 2007, 08:20
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Как правило все крупные массивы, которые получаются из внешних источников - бинарные. В том числе и шрифты, а также те, которые я формирую с помощью вспомогательных программ (например полученные расчётным образом). После этого я использую программу которую написал сам, - преобразование BIN в текст. При чём формирует она как для СИ так и для АСМа. Я её выкладывал где-то. Если надо - ещё кину. Зачем так изголятся (например в одну строку) - не понимаю. Написание такой вспомогательной проги, при нынешнем уровне различных программных комплексов DELFI, VS и т.д. - дело одного дня. Это значительно меньше чем затеянная здесь переписка.
Go to the top of the page
 
+Quote Post
add
сообщение Jun 8 2007, 08:37
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата(SasaVitebsk @ Jun 8 2007, 12:20) *
...преобразование BIN в текст. При чём формирует она как для СИ так и для АСМа. Я её выкладывал где-то. Если надо - ещё кину. Зачем так изголятся (например в одну строку) - не понимаю. Написание такой вспомогательной проги, при нынешнем уровне различных программных комплексов DELFI, VS и т.д. - дело одного дня. Это значительно меньше чем затеянная здесь переписка.

beer.gif абсолютно согласен. Вылаживайте прогу.


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
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 July 2025 - 17:14
Рейтинг@Mail.ru


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