Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Потребителски регистър в MPASM
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7069
Страница 1 от 1

Автор:  iorgov [ Чет Авг 20, 2009 5:33 pm ]
Заглавие:  Потребителски регистър в MPASM

Здравейте иска ми се да си създам потребителски регистър в РАМ-паметта на ПИК-ът. Примерно да се намира на адрес 20Н и да мога да си му сетвам и свалям битове (с BSF и BCF). Проблема е там, че не знам как става самото деклариране.

Пробвах с

USR_REG UDATA 0x20
MY_REG RES 1
MY0 equ 0x00 (за бит нула)

Както е описано в help-а на MPASM ама нещо не ми се получава. при изпълнение на команда BSF MY_REG, MY0 регистъра си стои 0 не се променя.
то ми е ясно че нещо ми се губи в превода за това моля някой по-знаещ от мен (т.е. който и да е от форума) да ми помогне.

П.С. Кога build-на проекта и зареди програмата в програмната памет виждам че разпознава на кой адрес се намира MY_REG и знае че става дума за бит 0 от този адрес, но не прави нищо

Автор:  Gogo [ Чет Авг 20, 2009 6:18 pm ]
Заглавие: 

Третия ред го замени с това:
Код:
#define   MY0      MY_REG,0

После бита се променя така:
Код:
BSF    MY0
BCF    MY0

Автор:  a_stankov [ Пет Авг 21, 2009 2:53 pm ]
Заглавие: 

Пробваи с това

#define MY_REG EQU 0x20

Ако искаш цял блок от потребителски регистри

CBLOCK 0x20

MY_REG 1
MY_REG 2
MY_REG 3
MY_REG 4

ENDC

Така първия е на адрес 0х20 , втория на адрес 0х21 и т.н.

След това

#define MY_FLAG MY_REG,0
#define MY_FLAG1 MY_REG,1

Това са дефиниции вече на флагове и после в програмата тях можеш да си сетваш и клирваш.

Успех

Автор:  iorgov [ Пет Авг 21, 2009 5:26 pm ]
Заглавие: 

Благодаря за отговорите. Стана по пърият начин

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/