Jump to content

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>returnret</code>.
 
;{{Anchor|Terminator}}'''Terminator'''
Cookies help us deliver our services. By using our services, you agree to our use of cookies.