Glossary: Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
>Bbbbbbbbba
(Added overflow and underflow.)
>Bbbbbbbbba
m (Nitpicks)
Line 7: Line 7:


;{{Anchor|Assembly (language)}}'''Assembly (language)'''
;{{Anchor|Assembly (language)}}'''Assembly (language)'''
:A (processor-specific) programming language most close to machine code, to the point conversion from assembly to machine code, known as '''assembling''', is for the most part fully reversible - although any labels (arbitrary name assigned to code/memory locations) and comments will be lost.
:A (processor-specific) programming language most close to machine code, to the point that conversion from assembly to machine code, known as '''assembling''', is for the most part fully reversible—although any labels (arbitrary name assigned to code/memory locations) and comments will be lost.
:Compiled higher-level languages (i.e all those further distant from machine code) are '''compiled''' to assembly language just before being '''assembled''' into an '''object file''' made of machine code, which will (by itself or after being combined with other machine code and/or other files) form the final program (such as a ROM).
:Compiled higher-level languages (i.e. all those further from machine code) are '''compiled''' to assembly language just before being '''assembled''' into an '''object file''' made of machine code, which will (by itself or after being combined with other machine code and/or other files) form the final program (such as a ROM).
:''See also:'' [[#Disassembly|disassembly]]
:''See also:'' [[#Disassembly|disassembly]]


Line 23: Line 23:
;{{Anchor|Disassembly}}'''Disassembly'''
;{{Anchor|Disassembly}}'''Disassembly'''
:''See also:'' [[#Assembly (language)|assembly]], [[List of Pokémon disassembly projects]]
:''See also:'' [[#Assembly (language)|assembly]], [[List of Pokémon disassembly projects]]
:The inverse process of assembling (i.e converting machine code to assembly language), possibly complemented by manual analysis to recreate the missing labels and comments.
:The inverse process of assembling, i.e. converting machine code to assembly language, possibly complemented by manual analysis to recreate the missing labels and comments.
:The result is a relatively easier to understand (and potentially easier to edit) program; where said program in an higher-level programming language (such as C, as in the case for most games for the GBA and DS) it is possible, although often with more effort, to go one step further ('''decompiling''') and produce a source file functionally equivalent to the original one.
:The result is a relatively easier to understand (and potentially easier to edit) program; if said program was compiled from an higher-level programming language (such as C, as in the case for most games for the GBA and DS) it is possible, although often with more effort, to go one step further ('''decompiling''') and produce a source file functionally equivalent to the original one.
:The creation and study of disassemblies, whether as a full-blown project or targeted study of a segment of code, is often useful for providing insight about complex and/or obscure game mechanics - most notably, the generation I and II Pokémon games have enjoyed a new wave of "scientific" research and understanding of glitches and other mechanics in the 2010s.
:The creation and study of disassemblies, whether as a full-blown project or targeted study of a segment of code, is often useful for providing insight about complex and/or obscure game mechanics—most notably, the generation I and II Pokémon games have enjoyed a new wave of "scientific" research and understanding of glitches and other mechanics in the 2010s.


;{{Anchor|Jump table}}'''Jump table'''
;{{Anchor|Jump table}}'''Jump table'''