What are the rules to use the data RAM (SRAM) that you have included?
1. The SRAM is not a feature of AT90S1200. It is from AT90S2313. Study the SRAM topic in AT90S2313 datasheet. 2. Six load and store instructions can be used along with the Z-Pointer (ZP) to access the data RAM. They are LD/ST indirect with ZP, LD/ST indirect with pre-decrement with ZP and LD/ST indirect with post-increment with ZP. 3. There are NO X-Pointer and Y-pointer. Only Z-Pointer exist. DO NOT use the LD/ST instructions with X-Pointer or Y-Pointer to address the data RAM. 4. DO NOT use the load and store instructions to address the general purpose register and the I/O registers because they are not mapped into the data space. Address only the 128 bytes of data RAM from $60 to $DF. 5. Z-Pointer (ZP) is actually R30. Do not use R30 for other purpose if you intend to use it as the ZP. 6. The stack is still hardware stack (as in AT90S1200) although AT90S2313 uses the SRAM as stack. There are NO stack pointer. There are NO PUSH and PULL instruction. 7. I admit that the SRAM I include