Вопросы начинающих PIC ASM
- КРАМ
- Друг Кота
- Сообщения: 25220
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Вопросы начинающих PIC ASM
[uquote="yor",url="/forum/viewtopic.php?p=4588821#p4588821"]это только для наглядности в ущерб удобству.[/uquote]
Вообще то наглядность - это самодостаточная часть удобства.
Вообще то наглядность - это самодостаточная часть удобства.
- Реклама
Re: Вопросы начинающих PIC ASM
что нагляднее
или
a это вариант когда такая запис "нагляднее"
Код: Выделить всё
movlw (~(((1<<7) | (1<<6)) ^ ((1<<7) | (1<<6))))+1 ;0 в WКод: Выделить всё
movlw 0x00 ;0 в WКод: Выделить всё
№define posFlagXXX 4
№define posFlagyyy 5
№define bla_bla 2
;....
movlw ((1<<posFlagXXX) | (1<<posFlagyyy) | (1<<bla_bla))
;.....
andlw (1 << posFlagyyy)
;....
Re: Вопросы начинающих PIC ASM
Для наглядности достаточно запустить программу в симуляторе IDE.
Только активировать предварительно соответствующие окна симулятора

Только активировать предварительно соответствующие окна симулятора
- Steppe
- Друг Кота
- Сообщения: 4812
- Зарегистрирован: Вс сен 17, 2017 17:44:21
- Откуда: 51.7727, 55.0988. Высота над морем 107 м. До границы 161 км.
Re: Вопросы начинающих PIC ASM
[uquote="yor",url="/forum/viewtopic.php?p=4588723#p4588723"]Да уж, качественные переводы...[/uquote]
Дело не в переводах. В сети огромное количество книг на русском языке по ассемблеру. Они массово издавались еще в прошлом веке. Самоучителей тоже достаточно.
Осталось только начать читать и учиться.
Дело не в переводах. В сети огромное количество книг на русском языке по ассемблеру. Они массово издавались еще в прошлом веке. Самоучителей тоже достаточно.
Осталось только начать читать и учиться.
Re: Вопросы начинающих PIC ASM
[uquote="diplodok",url="/forum/viewtopic.php?p=4588804#p4588804"]Таким образом компилятор на место (1<<4)||(1<<5) ставить 0x01[/uquote]То есть это не то чтобы ошибка, компилятор-то 1-цу подставит, но именно для выделения 4-5 битов бесполезно, ошибка.
[uquote="diplodok",url="/forum/viewtopic.php?p=4588804#p4588804"]Как компилятор вычисляет выражение (1<<4)|(1<<5) - ПОБИТОВОЕ ИЛИ
00010000 | 00100000 = 00110000 = 0x30
что тебе и нужно по логике ...[/uquote]Понятно. Вот и нашли ошибку в ПП с piclist.com))
[uquote="diplodok",url="/forum/viewtopic.php?p=4588804#p4588804"]Как компилятор вычисляет выражение (1<<4)|(1<<5) - ПОБИТОВОЕ ИЛИ
00010000 | 00100000 = 00110000 = 0x30
что тебе и нужно по логике ...[/uquote]Понятно. Вот и нашли ошибку в ПП с piclist.com))
- Реклама
- КРАМ
- Друг Кота
- Сообщения: 25220
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Вопросы начинающих PIC ASM
[uquote="yor",url="/forum/viewtopic.php?p=4588887#p4588887"]Вот и нашли ошибку в ПП с piclist.com[/uquote]
Какими буквами сделано расширение исходника - большими или маленькими?
myProj.asm или myProj.ASM?
Это имеет значение.
Какими буквами сделано расширение исходника - большими или маленькими?
myProj.asm или myProj.ASM?
Это имеет значение.
Re: Вопросы начинающих PIC ASM
Просто листинг на экране, о расширении файла умалчивается.
http://www.piclist.com/techref/microchi ... etchng.htm
Для каких компиляторов это имеет значение?
Вариант последний самый нижний именно с |
http://www.piclist.com/techref/microchi ... etchng.htm
Для каких компиляторов это имеет значение?
Вариант последний самый нижний именно с |
- КРАМ
- Друг Кота
- Сообщения: 25220
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Вопросы начинающих PIC ASM
[uquote="yor",url="/forum/viewtopic.php?p=4588903#p4588903"]Для каких компиляторов это имеет значение?[/uquote]
Давайте вы скажете о какой среде и о какой версии ассемблера идет речь...
Размер расширения имеет значение в MPASM (MPASMX). Большие буквы позволяют использовать в листинге исходника некоторый синтаксис Си.
Так же очень большая разница в синтаксисе между MPASM и ASPIC.
Давайте вы скажете о какой среде и о какой версии ассемблера идет речь...
Размер расширения имеет значение в MPASM (MPASMX). Большие буквы позволяют использовать в листинге исходника некоторый синтаксис Си.
Так же очень большая разница в синтаксисе между MPASM и ASPIC.
Re: Вопросы начинающих PIC ASM
Где то попадался случай, когда компилятор ассемблера считает равноценными | и || в случае простых операций (речь о разных компиляторах ассемблера для разных МК).
Уж подзабыл в каком именно встречал.
Так что делаем простейшую перепроверку на симуляторе для "абсолютной уверенности"...

Уж подзабыл в каком именно встречал.
Так что делаем простейшую перепроверку на симуляторе для "абсолютной уверенности"...
Re: Вопросы начинающих PIC ASM
MPASM help писал(а):& Bitwise AND flags = flags & ERROR_BIT
^ Bitwise exclusive OR flags = flags ^ ERROR_BIT
| Bitwise inclusive OR flags = flags | ERROR_BIT
&& Logical AND if (len == 512) && (b == c)
|| Logical OR if (len == 512) || (b == c)
Керниган, Ритчи_Язык программирования Си писал(а):& — побитовое И.
| — побитовое ИЛИ.
^ — побитовое исключающее ИЛИ.
<< — сдвиг влево.
>> — сдвиг вправо.
~ — побитовое отрицание (унарный)
Re: Вопросы начинающих PIC ASM
С этим ассемблером С можно не то что выучить, но подучить, подковаться, как я вижу))
[uquote="diplodok",url="/forum/viewtopic.php?p=4588924#p4588924"]
У меня нет mpasm, и не будет, обхожусь gpasm.
Добавлено after 9 minutes 57 seconds:
Так бы и сказали сразу, что это из Си
[uquote="diplodok",url="/forum/viewtopic.php?p=4588924#p4588924"]
[/uquote]А что это за флаги имеются в виду, просто биты можно понимать? И len - это длина какая-то? b c откуда ни возьмись появились.MPASM help писал(а):& Bitwise AND flags = flags & ERROR_BIT
^ Bitwise exclusive OR flags = flags ^ ERROR_BIT
| Bitwise inclusive OR flags = flags | ERROR_BIT
&& Logical AND if (len == 512) && (b == c)
|| Logical OR if (len == 512) || (b == c)
У меня нет mpasm, и не будет, обхожусь gpasm.
Добавлено after 9 minutes 57 seconds:
Так бы и сказали сразу, что это из Си
Re: Вопросы начинающих PIC ASM
Логически рассуждать...
Логические операторы разумны для условного ассемблирования.
В командах могут использоваться только побитовые.
В таком случае компилятор (препроцессор) может самостоятельно отслеживать "неуместные" выражения в командах.

Относительно gpasm чего сказать только его пользователи могут.
В остальном лишь общин положения (одинаковые для большинства компиляторов ассемблера) можно подсказать.
С минимумом конкретики...

Логические операторы разумны для условного ассемблирования.
В командах могут использоваться только побитовые.
В таком случае компилятор (препроцессор) может самостоятельно отслеживать "неуместные" выражения в командах.
Относительно gpasm чего сказать только его пользователи могут.
В остальном лишь общин положения (одинаковые для большинства компиляторов ассемблера) можно подсказать.
С минимумом конкретики...
Последний раз редактировалось BOB51 Сб июн 08, 2024 16:43:15, всего редактировалось 1 раз.
Re: Вопросы начинающих PIC ASM
Это примерыyor писал(а):что это за флаги имеются в виду, просто биты можно понимать? И len - это длина какая-то?
А там HELP есть? Я им не работал.yor писал(а):обхожусь gpasm
Re: Вопросы начинающих PIC ASM
По ключам командной строки есть, а по ассемблеру отсылки к mpasm. Типа полностью совместим, и в ключах там что-то насчёт режимов совместимости есть.
Это там у вас HELP, а тут MAN))
Это там у вас HELP, а тут MAN))
Re: Вопросы начинающих PIC ASM
Хелп встроен в оболочки IDE , а мануал по сути то же самое, но в виде отдельного файла в комплекте компилятора. Или спец опция в командной строке.
В былые времена поставляли и в виде *.doc...
Иногда и отдельно выкладывались.
Искать надо всё, что подпадает под "документация по ассемблеру(компилятору) \название\....... "

В былые времена поставляли и в виде *.doc...
Иногда и отдельно выкладывались.
Искать надо всё, что подпадает под "документация по ассемблеру(компилятору) \название\....... "
Re: Вопросы начинающих PIC ASM
Если разряды портов PORT[A,B] частично настроены как входы, частично как выходы, запись скопом в порт байта, а не побитно только по выходам, ничем не грозит?
Re: Вопросы начинающих PIC ASM
Это операция ЧМЗ (чтение - модификация - запись) штука весьма подлая порой...
см. стр. 46 "вопрос 4" вот тут:
https://web.archive.org/web/20090220075 ... C16_29.pdf

см. стр. 46 "вопрос 4" вот тут:
https://web.archive.org/web/20090220075 ... C16_29.pdf
Re: Вопросы начинающих PIC ASM
это если динамично менять направление. Вопрос, насколько я понял, не про это. И даже, возможно, как раз избегает ЧМЗ
- КРАМ
- Друг Кота
- Сообщения: 25220
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Вопросы начинающих PIC ASM
[uquote="BOB51",url="/forum/viewtopic.php?p=4590422#p4590422"]Это операция ЧМЗ[/uquote]запись байта в порт не является RMW.


