Sure, but you can write to free ram. My example was intentionally not self modifying :) Otherwise I would have written the following: ProgramStart: ld (_@StackSave),sp ... ProgramEnd: ld sp,0 _@StackSave = $-2 ret > You won't be saving the stack that way in an app, since you can't write to > the program when it's in flashrom.