Страница 1 из 1

Мнемокод или Мнемокод+оператор

Добавлено: Ср июл 25, 2007 00:00:58
Mr.Moss
Всем доброго времени суток.
Програмирование контроллеров я занялся недавно, но уже первый (пока что единственный серьезный на мой взгляд проект) зделал.
Мой вопрос.
Для прогрмирования я использовал чистый мнемокод, но посмотре на форуме народ широко использует операторы, а вчем плюсы этих операторов и где найти подробное их описание?
Заранее спасибо! :)

Добавлено: Ср июл 25, 2007 00:37:25
KT315B
А что это за мнемокод такой? Насчет операторов - вот, например откроем даташит на ATMEGA8 на странице 284 - "Instruction Set Simmary" - вот он и список всех операторов с кратким описанием, по которому, в принципе и так все ясно =)

Добавлено: Ср июл 25, 2007 05:50:59
Мышонок
Mr.Moss, флудим? :)
Выражайтесь яснее, посмотрите "обучалку , конкретно раздел: МК и ПЛИС :)

Добавлено: Ср июл 25, 2007 07:42:40
ARV
Я так понимаю, мнемокод - это ассемблер, а "операторы" - это Си.... ?

Добавлено: Ср июл 25, 2007 08:32:47
Aheir
Истинно так, насколько я понял.
Только обычно употребляют слово "мнемоника", а не "мнемокод"
А как таковые "операторы" присутствуют в любом языке высокого уровня.
Вас какой интересует-то? :)

Добавлено: Ср июл 25, 2007 08:48:22
Мышонок
Aheir писал(а):А как таковые "операторы" присутствуют в любом языке высокого уровня.
Скажу больше - в языке программирования любого уровня есть операторы, и естественно, их операнды.

Мнемокод или мнемоника команды - это в языках низкого уровня (ассемблер). Он существует для того, чтобы не пользоваться машинными кодами, хотя и без обойтись часто нельзя.

Команда, она же оператор языка программирования;
Операнды - данные, с которыми работает данная команда/оператор;

Операции или действия - то, что производит команда/оператор с данными или с ходом выполнения программы.

По-моему, теперь яснее! :)

Добавлено: Ср июл 25, 2007 18:48:37
Mr.Moss
Моет быть я неправильно изъяснился, прошу прощения.
Я просто в инете нарыл сайт в котором есть воттакие строчки:

Вычитание.
Символ: -
Описание: Возвращает результат вычитания правого выражения из левого
Приоритет: 12
Пример: ldi r17, c1-c2

если я не ошибаюсь от это можно написать так:

ldi r17,c1
subi r17,c2

или я не прав?

На сайте так и сказано что это операторы.

Пример: ! , ~ , - , * , / , + , >> , << , > , >= , < , <= , == , != и т.д.

Добавлено: Ср июл 25, 2007 19:23:28
Мышонок
Так значит, всё-таки про "Си"! :) Или всё-таки про ассемблер? :o

В приведённых примерах применены оба языка, извольте отделить мух от котлет!

Ключевые слова в "Си" - функции, указанные вами символы - действительно операторы.

В "Ассемблере" (1-й пример) ключевые слова - операторы, имена регистров - операнды. Символы - операции, если только они допускаются в данном языке.

Добавлено: Ср июл 25, 2007 19:55:29
ARV
Вышеупомянутые операторы - это операторы препроцессора ассемблера. Разумеется, они есть и в Си, но для ассемблера имеется весьма важная особенность: все эти операторы работают над числами, которые известны на этапе компиляции (т.е. константами). Например

Код: Выделить всё

.equ   C1 = 50
.equ   C2 = 20
         LDI   R17, C1+C2 
значение суммы вычисляется на этапе компиляции программы и в код поместится в сразу LDI R17, 70 - никакого сложения в коде программы не будет.
А вот в этом примере

Код: Выделить всё

      LDI   R17, 50
      LDI   R18, 20
      LDI   R19, R17+R18
будет ошибка, так как складывать содержимое регистров оператором + компилятор не умеет.

Скажем так, операторы +,-,* и т.п. в ассемблере позволяют заменить константу какой-то формулой, в которой все переменные заранее известны (т.е. являются константами).

Добавлено: Ср июл 25, 2007 19:59:34
Mr.Moss
Большое Вам всем СПАСИБО!!!
Теперь все понятно.

Тему можнозакрыть.

Добавлено: Ср авг 29, 2007 16:35:26
zx
Добрый день.
Ребята, а кто может дать ссылку на описания машинных кодов для AVR?
хочу на ПЛИС ядро сделать

Добавлено: Ср авг 29, 2007 16:55:52
tych
Здорово. Кстати в инете оно есть. И производителм ПЛИС свои ядра предлагают.

Добавлено: Ср авг 29, 2007 17:22:35
zx
tych писал(а):И производителм ПЛИС свои ядра предлагают.
у xilinx под avr вроде-бы нету.

Добавлено: Ср авг 29, 2007 19:31:25
tych
Я имелл ввиду СВОИ собственные ядра - не AVR.