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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Первая команда в проекте на асме......, Мне не совсем понятно что она означает......
el34
сообщение Feb 2 2007, 12:23
Сообщение #16


инженер
****

Группа: Свой
Сообщений: 717
Регистрация: 4-03-05
Пользователь №: 3 064



Wild007>Не грузите человека сразу и по многу А то у него каша в голове будет образовываться

обращаю Ваше внимание на

Potter>Дело в том что я пять лет програмлю авр...

так что дело серьезное!

пс я на авр-е программил 3 дня....спаял подцепил бластер...зашил...и ушел...
поэтому по авр-у сказать ничего путного (думаю это замето) не могу...smile.gif

Сообщение отредактировал el34 - Feb 2 2007, 12:32


--------------------
........поужинали вяленой рыбой, кот лежал рядом, молчали.......
Go to the top of the page
 
+Quote Post
Wild007
сообщение Feb 2 2007, 12:30
Сообщение #17


Местный
***

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



Цитата(el34 @ Feb 2 2007, 11:23) *
Wild007>Не грузите человека сразу и по многу А то у него каша в голове будет образовываться

обращаю Ваше внимание на

Potter>Дело в том что я пять лет програмлю авр...

так что дело серьезное!

Я сам недавно переходил с програмирования на асьме на Си и еще помню какая каша, поначалу, была в голове. Постепенно различия в подходах к написанию программ устаканиваются и ты спокойно воспринимаешь любую информацию smile.gif


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
el34
сообщение Feb 2 2007, 12:42
Сообщение #18


инженер
****

Группа: Свой
Сообщений: 717
Регистрация: 4-03-05
Пользователь №: 3 064



Wild007>Я сам недавно переходил с програмирования на асьме на Си и еще помню какая каша....

мне кажется у Вас немного другой случай....ведь
-при программировании на асме надо знать процессор
-при программировании на си надо знать си...ну и потом уже детали компилятора а уж потом процессора...
это конечно утрированно .....но мне кажется в этом суть ....IMHO

к стати, думаю что в сишном компиляторе для авр есть какие нибудь #phase для локализации кода -аналоги .org ... не так ли?


--------------------
........поужинали вяленой рыбой, кот лежал рядом, молчали.......
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Feb 2 2007, 12:42
Сообщение #19


Гуру
******

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



Старайся работать также как ты и работал в Си. То есть избегать конкретных цифр. Применять переменные и метки.

Начало будет выглядеть (в небольшом проекте) примерно так:

Код
.equ    TOb        = 500; Обновлять данные ч/з 0.5 секунды
.equ    SegH    = 7    ; Сегмент H выведен  в D7

; Порт B
.equ    adr0    = pb0; Тестовая линия 0.
.equ    adr1    = pb1; Тестовая линия 1.
.equ    adr2    = pb2; Тестовая линия 2.
.equ    adr3    = pb3; Тестовая линия 3.

.equ    RE        = PD2; Разрешение приёма RS485 (0)
.equ    Kl0        = PD3; Ответ от клавиатуры 0.
.equ    Kl1        = PD4; Ответ от клавиатуры 1.

.....

.def    zap        = r1; положение запятой в числе
.def    tmpr0    = r2; для сохранения r0 в прерываниях
.def    tmpsreg    = r3; для сохранения sreg в прерываниях
.def    tmpZl    = r4; для сохранения Zl в прерываниях
.def    tmpZh    = r5; для сохранения Zh в прерываниях
.def    par        = r6; номер параметра
.def    Len        = r7; длина сообщения
.def    rCRCl    = r8; CRC мл. на приём
.def    rCRCh    = r9; CRC ст. на приём

.....


.equ    lbuf    = 40

    .dseg
    .org    $60
    
RxBuf:
    .byte    lBuf; Буфер приёма длиной lBuf
ERxBuf:        ; Адрес конца буфера приёма

n:    .byte    8; число
bin:
    .byte    60; для предварительной обработки
RStek:
    .byte    20
Stek:


.....


    .cseg
    rjmp    init; Переход на инициализацию

    rjmp    int_0
    rjmp    int_1
    rjmp    Tim1Cap
    rjmp    Tim1CmpA

.....


Можно также указывать мнемонические адреса векторов прерываний. Широко используются макроопределения.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 2 2007, 13:11
Сообщение #20


Гуру
******

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



Цитата(Potter @ Feb 2 2007, 09:39) *
Дело в том что я пять лет програмлю авр... Но начал я с разу с С++. А теперь хочу разобраться с ассемблером..... Трудновато получается но вроде получается....
Я все последние несколько семейств осваиваю в таком же направлении (C->asm). Могу поделиться своим методом: Пишу кусочек на С. В опциях компилятора даю команду генерить листинг с ассемблерными мнемониками. Смотрю в этот листинг.


--------------------
На любой вопрос даю любой ответ
"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
add
сообщение Feb 2 2007, 13:50
Сообщение #21


Местный
***

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



Цитата
Я все последние несколько семейств осваиваю в таком же направлении (C->asm). Могу поделиться своим методом:

Поделился бы кто опытом (asm->C) :-) , а именно хотелось бы посотреть примеры кода рабочих программ, желательно полностью(не кусками) с начальной инициализацией.. и подключением там всяких библиотек.. Поскольку сам код в принципе понятен, хотелось бы увидеть структуру построения программы и всякие хитрости..:-/ вот.

Цитата
Я все последние несколько семейств осваиваю в таком же направлении (C->asm). Могу поделиться своим методом:

Поделился бы кто опытом (asm->C) :-) , а именно хотелось бы посотреть примеры кода рабочих программ, желательно полностью(не кусками) с начальной инициализацией.. и подключением там всяких библиотек.. Поскольку сам код в принципе понятен, хотелось бы увидеть структуру построения программы и всякие хитрости..:-/ вот.

Цитата
Я все последние несколько семейств осваиваю в таком же направлении (C->asm). Могу поделиться своим методом:

Поделился бы кто опытом (asm->C) :-) , а именно хотелось бы посотреть примеры кода рабочих программ, желательно полностью(не кусками) с начальной инициализацией.. и подключением там всяких библиотек.. Поскольку сам код в принципе понятен, хотелось бы увидеть структуру построения программы и всякие хитрости..:-/ вот.


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


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



[quote name='add' date='Feb 2 2007, 13:47' post='205490']
[quote]Я все последние несколько семейств осваиваю в таком же направлении (C->asm). Могу поделиться своим методом:[/quote]
Поделился бы кто опытом (asm->C) :-) , а именно хотелось бы посотреть примеры кода рабочих программ, желательно полностью(не кусками) с начальной инициализацией.. и подключением там всяких библиотек.. Поскольку сам код в принципе понятен, хотелось бы увидеть структуру построения программы и всякие хитрости..:-/ вот.

[quote]
А какие там хитрости. Программа разбивается на отдельные программные модули. Имя головной функции - main. Все.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Feb 2 2007, 15:14
Сообщение #23


Гуру
******

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



Цитата(add @ Feb 2 2007, 14:50) *
Цитата
Я все последние несколько семейств осваиваю в таком же направлении (C->asm). Могу поделиться своим методом:

Поделился бы кто опытом (asm->C) :-) , а именно хотелось бы посотреть примеры кода рабочих программ, желательно полностью(не кусками) с начальной инициализацией.. и подключением там всяких библиотек.. Поскольку сам код в принципе понятен, хотелось бы увидеть структуру построения программы и всякие хитрости..:-/ вот.


В Си многое зависит от компилятора. Для IAR я писал простенький проект. Он закончен. не претендую на роль учителя, но посмотреть как и что можно. А простота проекта, возможно, Вам поможет.

http://electronix.ru/forum/index.php?showtopic=23814
Go to the top of the page
 
+Quote Post
add
сообщение Feb 2 2007, 16:09
Сообщение #24


Местный
***

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



Wild007, невнимательно читаете посты..:-( речь шла про Си.
SasaVitebsk, пасиба, в тему т.к. писал на асме работу с датчиками далласа и жки, проще будет разобраться:-)


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 2 2007, 17:35
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Potter @ Feb 2 2007, 14:03) *
Значит... Создал проект в AVR_studio...... С самого начала я пишу вот такую команду:
.cseg
.org 130
Я не совсем понимаю что она означает.... Я так понимаю что это я указываю размер чего-то.... Но чего?
Уже много чего насоветовали в топике smile.gif Добавлю лишь несколько фалов (PDF), по которым я начал свое знакомство с AVR. Не помню, с каких ресурсов я это взял, так как это было три года назад smile.gif , если кто увидит свое, не пинайте сильно smile.gif

1. Справка по Ассемблеру AVR - довольно удобная штука если хочется быстро найти инфо по команде или директиве ассемблера

2. Система команд AVR - в этом документе все команды подробно расписанны

3. Тех.описание на МК AVR - хотя документ довольно старый, но интерес представляет описание

ATmega603, ATmega603L, ATmega103, ATmega103L - полный перевод из даташита, а так как ядро практически одно и тоже у более современных МК данной серии, то, кому тяжело читать даташиты на АнглицкОм - это в какой то степени просто кладезь информации по работе ядра и периферии

Все доки на русском

Прикрепленные файлы
Прикрепленный файл  Asm_AVR_rus.rar ( 361.55 килобайт ) Кол-во скачиваний: 403
Прикрепленный файл  at_sys.rar ( 449.92 килобайт ) Кол-во скачиваний: 52
Прикрепленный файл  at_avr.part1.rar ( 390.63 килобайт ) Кол-во скачиваний: 47
Прикрепленный файл  at_avr.part2.rar ( 390.63 килобайт ) Кол-во скачиваний: 45
Прикрепленный файл  at_avr.part3.rar ( 390.63 килобайт ) Кол-во скачиваний: 45
Прикрепленный файл  at_avr.part4.rar ( 51 килобайт ) Кол-во скачиваний: 44
 


--------------------
Go to the top of the page
 
+Quote Post
Dopler
сообщение Feb 2 2007, 22:36
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425



Цитата(prottoss @ Feb 2 2007, 17:35) *
Цитата(Potter @ Feb 2 2007, 14:03) *
Значит... Создал проект в AVR_studio...... С самого начала я пишу вот такую команду:
.cseg
.org 130
Я не совсем понимаю что она означает.... Я так понимаю что это я указываю размер чего-то.... Но чего?
Уже много чего насоветовали в топике smile.gif Добавлю лишь несколько фалов (PDF), по которым я начал свое знакомство с AVR. Не помню, с каких ресурсов я это взял, так как это было три года назад smile.gif , если кто увидит свое, не пинайте сильно smile.gif

1. Справка по Ассемблеру AVR - довольно удобная штука если хочется быстро найти инфо по команде или директиве ассемблера

2. Система команд AVR - в этом документе все команды подробно расписанны

3. Тех.описание на МК AVR - хотя документ довольно старый, но интерес представляет описание

ATmega603, ATmega603L, ATmega103, ATmega103L - полный перевод из даташита, а так как ядро практически одно и тоже у более современных МК данной серии, то, кому тяжело читать даташиты на АнглицкОм - это в какой то степени просто кладезь информации по работе ядра и периферии

Все доки на русском



А появились эти документы еще в далеком 1999 от господ из КТЦ МК. Не стоит забывать, что некоторые команды с тех пор добавились. Mul, MOVW и т.д.
Go to the top of the page
 
+Quote Post

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

 


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


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