84PCE:Ports:003A

From WikiTI
Revision as of 20:35, 26 August 2016 by Jacobly (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Synopsis

Port Number: 003A-003C

Function: Stack Protector Ports

This range of ports holds the location of the bottom of the stack (LSB in 3A, MSB in 3C). When the byte at this address (the OS sets it to D19881 by default) is written to, the write affects memory and a non-maskable interrupt is generated (regardless of whether the code is privileged) which resets the calculator, clearing all of RAM. This could potentially have uses such as a hardware write breakpoint in z80 mode.

Example

Since the stack protector is extremely simple, this equally simple program will cause a crash.

ld (0D19881h),a
ret