Reverse Engineering Guide on x86 Assembly: Part 1 Intro To Registers
Learning x86 assembly is critical when you’re analysing malware, deconstructing executable files and developing your own exploits. However, before you’re able to embark on this journey, it’s crucial you’re familiar with C and compilation. What are registers? A register is a storage space in the CPU that’s faster to access then RAM. All x86 CPUs have 8 general-purpose registers in total. They are generally 32-bits wide, however 16-bit versions are also accessible. Some registers have reserved purposes for the CPU and others don’t and are referred to as ‘general purpose’ registers. Introduction to the 8 Registers Here are the 8 registers with their register names (the acronym) and their meaning: E A X (extended accumulator register used for major calculations) E B X (extended base register used for storing data) E C X (extended counter register used as the universal loop counter) E D X (extended data register used for storing data related to the accu