Glossary
kernel modeA restrictions-free CPU mode in which the OS kernel and drivers execute. cf. user mode.
1054
leaf functionA function which does not call any other function. 28 , 32
link register(RISC) A register where the return address is usually stored. This makes it possible to call
leaf functions without using the stack, i.e., faster. 32 , 816 , 1040 , 1041
loop unwindingIt is when a compiler, instead of generating loop code forniterations, generates justn
copies of the loop body, in order to get rid of the instructions for loop maintenance. 186
name manglingused at least in C++, where the compiler needs to encode the name of class, method
and argument types in one string, which will become the internal name of the function. You can read
more about it here :3.18.1 on page 542. 542 , 700 , 701
NaNnot a number: a special cases for floating point numbers, usually signaling about errors. 235 , 257 ,
1003
NEONAKA“Advanced SIMD”—SIMDfrom ARM. 1041
NOP“no operation”, idle instruction. 726
NTAPIAPIavailable only in the Windows NT line. Largely not documented by Microsoft. 794
paddingPaddingin English language means to stuff a pillow with something to give it a desired (bigger)
form. In computer science, padding means to add more bytes to a block so it will have desired size,
like 2 nbytes.. 708
PDB(Win32) Debugging information file, usually just function names, but sometimes also function argu-
ments and local variables names. 699 , 758 , 794 , 795 , 802 , 803 , 895
POKEBASIC language instruction for writing a byte at a specific address. 726
register allocatorThe part of the compiler that assigns CPU registers to local variables. 202 , 307 , 420
reverse engineeringact of understanding how the thing works, sometimes in order to clone it. iv,
1034
security cookieA random value, different at each execution. You can read more about it here :1.20.3
on page 283. 778
stack frameA part of the stack that contains information specific to the current function: local variables,
function arguments,RA, etc.. 67 , 68 , 97 , 98 , 477 , 778
stdoutstandard output. 22 , 35 , 154
thunk functionTiny function with a single role: call another function. 23 , 393 , 816 , 825
tracerMy own simple debugging tool. You can read more about it here :7.2.1 on page 790. 189 – 191 ,
703 , 714 , 717 , 774 , 783 , 897 , 903 , 907 , 908 , 910 , 998
user modeA restricted CPU mode in which it all application software code is executed. cf. kernel mode.
832 , 1054
Windows NTWindows NT, 2000, XP, Vista, 7, 8, 10. 293 , 418 , 649 , 707 , 747 , 757 , 787 , 915 , 1033
worddata type fitting inGPR. In the computers older than PCs, the memory size was often measured in
words rather than bytes. 447 – 450 , 455 , 566 , 637
xoringoften used in the English language, which implying applying theXORoperation. 778 , 827 , 830