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

 
 
> Microchip assembler ограничения?, Какая боль, какая боль! Где sizeof(), array?
A. Fig Lee
сообщение Apr 5 2008, 22:14
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Нет лишних тысяч баксов, пишу на ассемблере. Пока даже на CCS компайлер за 150 баксов жабу не победил.

Ок, ближе к делу.
Хочется написать чегото типа message map в Виндоус - условно:

ON_CMD 'bg' GOTO Address1
ON_CMD 'ge' GOTO Address2.

'bg' и 'ge' читаются с RS232 порта.

Хочется иметь макро, чтоб потом опять его использовать в другой программе - добавил строчку и готово.

делаю примерно так:

GO_NOT_EQUAL_AA MACRO ADDRESS1, ADDRESS2, LABEL
MOVF ADDRESS1
SUBWF ADDRESS2, W
BTFSS STATUS, Z
GOTO LABEL
ENDM

ON_CMD MACRO CMD_BUFFER, CMD_DATA, CMD_LABEL
GO_NOT_EQUAL_AA CMD_BUFFER, CMD_DATA, NEXT
GO_EQUAL_AA CMD_BUFFER, CMD_DATA + 1, CMD_LABEL
NEXT:
ENDM


MESSAGE_LOOP MACRO CMD_BUFFER, CMD_DATA, CMD_LABEL
ON_CMD CMD_BUFFER, CMD_DATA, CMD_LABEL
ON_CMD CMD_BUFFER, CMD_DATA+2, CMD_LABEL+2

GOTO MAIN_LOOP
ENDM


проблемка в конце с ON_CMD CMD_BUFFER, CMD_DATA, CMD_LABEL
ON_CMD CMD_BUFFER, CMD_DATA+2, CMD_LABEL+2


Хорошо бы обьявить массив комманд и массив ссылок
где бы индех комманды соответсвовал индексу label.
Ну в ассемблере вроде такого нет.
Никто не изворачивался для PIC16?


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Apr 9 2008, 10:10
Сообщение #2


Гуру
******

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



Цитата(A. Fig Lee @ Apr 6 2008, 01:14) *
Нет лишних тысяч баксов, пишу на ассемблере. Пока даже на CCS компайлер за 150 баксов жабу не победил.
Существует бесплатный компилятор sdcc.


--------------------
На любой вопрос даю любой ответ
"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



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

 


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


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