Content deleted Content added
Missionedit (talk | contribs) removed {{lead too short}} - lead adequately summarizes key points about the microcontroller, the problem is that the page is literally a reference manual. Not sure how we would overhaul to meet WP:NOTGUIDE without just deleting the majority of the article |
m →Addressing: {{mono}} |
||
Line 39:
* The general purpose registers, the status register and some I/O registers are bit-addressable, with bit 0 being the least significant and bit 7 the most significant.
The first 64 I/O registers are accessible through both the I/O and the data address space. They have therefore two different addresses. These are usually written as "{{mono|0x00}} ({{mono|0x20}})" through "{{mono|0x3F}} ({{mono|0x5F}})", where the first item is the I/O address and the second, in parentheses, the data address.
The special-purpose CPU registers, with the exception of PC, can be accessed as I/O registers. Some registers (RAMPX, RAMPY) may not be present on machines with less than 64 [[KiB]] of addressable memory.
Line 46:
! Register !! I/O address !! Data address
|-
| SREG || {{mono|0x3F}} || {{mono|0x5F}}
|-
| SP || {{mono|0x3E}}:{{mono|0x3D}} || {{mono|0x5E}}:{{mono|0x5D}}
|-
| EIND || {{mono|0x3C}} || {{mono|0x5C}}
|-
| RAMPZ || {{mono|0x3B}} || {{mono|0x5B}}
|-
| RAMPY || {{mono|0x3A}} || {{mono|0x5A}}
|-
| RAMPX || {{mono|0x39}} || {{mono|0x59}}
|-
| RAMPD || {{mono|0x38}} || {{mono|0x58}}
|}
Line 66:
! Data address !! I/O address !! Contents
|-
| {{mono|0x0000}} – {{mono|0x001F}} || || Registers R0 – R31
|-
| {{mono|0x0020}} – {{mono|0x003F}} || {{mono|0x00}} – {{mono|0x1F}} || I/O registers (bit-addressable)
|-
| {{mono|0x0040}} – {{mono|0x005F}} || {{mono|0x20}} – {{mono|0x3F}} || I/O registers (not bit-addressable)
|-
| {{mono|0x0060}} – {{mono|0x00FF}} || || Extended I/O registers (memory-mapped I/O only)
|-
| {{mono|0x0100}} – {{mono|RAMEND}} || || Internal SRAM
|}
where RAMEND is the last RAM address. In parts lacking extended I/O the RAM would start at {{mono|0x0060}}.
== Instruction timing ==
|