The C data stack typically lives in $400..$5ff and can therefore cross a page boundary. If an int-sized variable or function argument happens to be split over these pages, accessing it with DEEK/DOKE will give the wrong result because these instructions wrap around the page. This can be prevented by aligning int-sized variables to 2-byte boundaries.
The C data stack typically lives in $400..$5ff and can therefore cross a page boundary. If an int-sized variable or function argument happens to be split over these pages, accessing it with DEEK/DOKE will give the wrong result because these instructions wrap around the page. This can be prevented by aligning int-sized variables to 2-byte boundaries.