Anonymous user
Glossary: Difference between revisions
m
Added <code> tags for label names in the disassembly.
(added pointer (generalization) to glossary, and clarified "call" and "return" as instructions that affect the stack) |
m (Added <code> tags for label names in the disassembly.) |
||
(One intermediate revision by one other user not shown) | |||
Line 41:
;{{Anchor|Jump table}}'''Jump table'''
:A table of addresses pointing to assembly code (typically entry points of functions). A relatively well-known example of a jump table is <code>[https://github.com/pret/pokered/blob/725b86ebbec23bd1f53fd60bf0201c904fee951d/engine/items/items.asm#L18 ItemUsePtrTable]</code> in Generation I. An invalid index into a jump table will usually cause glitches, possibly [[arbitrary code execution]] exploits.
<!--
;{{Anchor|Machine code}}'''Machine code'''
Line 82:
;{{Anchor|Stack pointer}}'''Stack pointer'''
:A special-purpose register that points to the topmost entry of the [[#Stack|stack]]. In the GB CPU, the stack pointer is named <code>sp</code>, and it is decreased by 2 (since the stack entries are 2-byte numbers) for each <code>push</code> or <code>call</code>, and increased by 2 for each <code>pop</code> or <code>
;{{Anchor|Terminator}}'''Terminator'''
|