I'm beginner in programming ATMEL. GCBasic is realy great tool for programming. My first project is counter with LED display and I use ATmega8. It was easy to make program. But I experienced error when I wanted to use external interrupt INT0. Finaly I found error in setting GICR register. If you use Intln0 interrupt, compiler automaticaly enables interrupt by setting bit INT0 in this register:
;Start of the main program
Unfortunalely it doesn't work but I added this lines manualy to my gcb file and it works:
asm LDI R22,64
asm OUT GICR,R22
The only difference is in using OUT instead of STS. Similar situation is when I tried to use other interrupts.
Here is one note from Atmel8 datasheet: When using the I/O specific commands IN and OUT, the I/O addresses 0x00 - 0x3F must be used. When addressing I/O Registers as data space using LD and ST instructions, 0x20 must be added to these addresses.