[an error occurred while processing this directive]
|
Откомпилируйте, плиз, такую конструкцию:
#asm
in r22, TIFR
#endasm
Получается ошибка ассемблирования. Зато
#asm
in r22, 0x38
#endasm
Компилируется без проблем. Т.е. при обращении к ресурсу по адресу все гут, а по имени - может быть и не гут. Например, на ура компилируется такая когнструкция:
#asm
in r22, GICR
#endasm
А вот такая:
#asm
in r22, GIFR
#endasm
Дает ошибку.
Если посмотреть асм-файл, который сделал компилятор, то легко заметить, что он не подключает к этому файлу описание большинства регистров, в том числе GIFR и TIFR:
.EQU UDRE=0x5
.EQU RXC=0x7
.EQU USR=0xB
.EQU UDR=0xC
.EQU SPSR=0xE
.EQU SPDR=0xF
.EQU EERE=0x0
.EQU EEWE=0x1
.EQU EEMWE=0x2
.EQU EECR=0x1C
.EQU EEDR=0x1D
.EQU EEARL=0x1E
.EQU EEARH=0x1F
.EQU WDTCR=0x21
.EQU MCUCR=0x35
.EQU GICR=0x3B
.EQU SPL=0x3D
.EQU SPH=0x3E
.EQU SREG=0x3F
И это все, что он подключил !!!
Т.е. напрашивается вопрос - что со всем этим делать ??? Компилятор - 1.24.6, чип 8-я мега (хотя причем тут чип ?) ...
E-mail: info@telesys.ru