[an error occurred while processing this directive]
|
Вот чего IMHO не хватает в HI-TECH, так это универсальных указателей. По-моему, указатели у них только однобайтовые. А если у вас в кристалле более 255 байт ОЗУ, то надо явно указывать по какому банку "работает" указатель. Например,
bank2 char * ptr ; - этот указатель не будет работать с банком 0 и 1.
Так вот сделали бы универсальный 2-байтовый указатель - т. е. если я объявляю
char * ptr, то чтобы этот указатель мог указывать и на любой банк ОЗУ и даже на байт в ПЗУ. В одном байте указателя должен быть тип памяти, а в другом - адрес. А если я хочу, чтобы программа работала быстрее и не "расшифровавала" указатель, то при объявлении
bank2 char * ptr должен создаваться 1-байтовый указатель, который указывает только на банк 1.
В компиляторах для 51-х процессоров сделано именно так - есть универсальный 3-хбайтовый указатель, а если я объявлю
char data * ptr - то объявится обнобайтовый указатель, который может указывать только на область памяти data.
E-mail: info@telesys.ru