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

 
 
> ассемблер для atmel, переносимость программ, Я beginner, так что сильно не пинайте:)
hxdev
сообщение Mar 5 2005, 23:02
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 2-03-05
Пользователь №: 3 024



Я начинающий для однокристалок, но "испорчен" CISC-архитектурой и программированием на ассемблерах(masm32,tasm,fasm,nasm) под windows для 0x86.
Я думаю понятно, что microsoft не ахти как поощеряет это дело,
не было ни инклюдников с константами, ни прототипов api-функций,
и все было против ассемблерщиков под windows, еще лет 5 назад, сказав,
что ты программируешь на асемблере под windows тебя обозвали бы гадким астматиком, и атавизмом программирования. Но сейчас ситуация изменилась -
есть все, что надо - и инклюдники и IDE( их примерно десяток, самое яркое это конечно RADASM (http://radasm.visualassembler.com/) - сишные программисты синеют от злостиsmile.gif) , и примеров море и написана куча макросов, посмотрите как цветут и пахнут
http://www.wasm.ru/
http://www.masm32.com/
http://www.movsd.com/
http://www.masmforum.com/
http://board.win32asmcommunity.net/
и другие.
Но все-таки ассемблер это удел, не многих - вирусы - антивирусы,
криптозащиты-реверсинг, и многое другое. Быстро сляпать и сдать заказчику это конечно HLL(Языки Высокого Уровня, к примеру c#)
Для каждой задачи свой подход.

Но вопрос не в том, что лучше или хуже для однокристалок,
Вопрос в том, можно ли успешно обходиться ассемблером для средних и крупных проектов ?

Глядя на 0x86-архитектуру и макроассембле masm, где к примеру
можно сделать макрос return и в зависимости от операндов
(
определить с помощью директив и макросов, таких как
$IsImm MACRO Operand:REQ
IF (OPATTR (Operand)) AND 00000100y
;; Is an immediate value
EXITM <-1>
ELSE
EXITM <0>
ENDIF
ENDM
)
строить оптимизированый код (если вы знаете как для данного мп),
не хуже опримизатора для c#.

Но в стандартном компиляторе от avr - нет даже директив
типа db, $, нет директив определения процедур.
Может это от отличия каждого нового девайса от другого?

Напрашивается вывод, что для крупных и средних проектов использовать сишные компиляторы, а для мелких можно и асм?
А где же вечные ценности - размер кода, оптимизация по скорости и другое?

Расскажите о существующих компиляторах c# и асм, о их достоинствах и недостатках.
Посоветуйте опытные ветераны-однокристальщики, схемотехники.










a14.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vet
сообщение Mar 6 2005, 08:40
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



>Но в стандартном компиляторе от avr - нет даже директив
>типа db, $, нет директив определения процедур.

Есть в стандартном ассемблере и .DB, и $, и макросы. Почитайте хелп, поставляемый с AVR Studio.

//вот кусок кода для проверки )
.cseg
rjmp $

.dseg
.db 0x05, "12345"


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:37
Рейтинг@Mail.ru


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