© The Author(s), under exclusive license to APress Media, LLC, part of Springer Nature 2023
D. VostokovFoundations of Linux Debugging, Disassembling, and Reversinghttps://doi.org/10.1007/978-1-4842-9153-5_1

1. Memory, Registers, and Simple Arithmetic

Dmitry Vostokov1  
(1)
Dublin, Ireland
 

Memory and Registers Inside an Idealized Computer

Computer memory consists of a sequence of memory cells, and each cell has a unique address (location). Every cell contains a “number.” We refer to these “numbers” as contents at addresses (locations). Because memory access is slower than arithmetic instructions, there are so-called registers to speed up complex operations that require memory to store temporary results. We can also think about them as stand-alone memory ...

Get Foundations of Linux Debugging, Disassembling, and Reversing: Analyze Binary Code, Understand Stack Memory Usage, and Reconstruct C/C++ Code with Intel x64 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.