Jan,

> The address is $1d. When I look to the documentation te bits 0 and 1
> are R/W and the other bits are only Read (With a initial value of 0)
> When I do the command $1d c@ . I get a value of 0001000. How is that
> possible? Or do I something wrong?

The answer to this lies in the memory map of the AVR.  If you look at
page 72 in the datasheet you will see the address for EIMSK given as

0x1D (0x3D)

Yes, two addresses.

To see the contents of EIMSK in AmForth using c@ you need

$3d c@

For the why see page 19 of the datasheet combined with a
Google of "avr memory map offset $20" 

The file amforth-root/avr8/devices/atmega328p/atmega328p.frt contains 

&61 constant EIMSK      \ External Interrupt Mask Register

(where &61 is $3d) along with the other constants and is a very useful
file.

Tristan






_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to