[Verse 1] Deep inside the CPU's heart Live the registers, playing their part EAX holds data, the accumulator's might EBX base pointer, keeping things right ECX counts down when loops are in play EDX extends when multiplication's the way [Chorus] Move it, load it, store it away Registers dancing where the fast data stays Direct and indirect, indexed with care Memory addresses floating through the air From register to memory, memory to reg The CPU's ballet, don't skip a leg [Verse 2] Stack pointer ESP keeps track of the frame Base pointer EBP plays memory's game ESI source index, EDI destination Moving blocks of data across the nation Eight bits, sixteen, thirty-two wide General purpose registers side by side [Chorus] Move it, load it, store it away Registers dancing where the fast data stays Direct and indirect, indexed with care Memory addresses floating through the air From register to memory, memory to reg The CPU's ballet, don't skip a leg [Bridge] Immediate mode, the value's right there Register mode, no memory to spare Direct addressing, straight to the spot Indirect pointing where the data is hot Base plus offset, displacement in time Indexed arrays in perfect rhyme [Verse 3] Cache line boundaries, alignment matters Memory hierarchy, no time for chatters Load from memory into register space Store back the result, keep up the pace Instruction pointer knows where to go Flags register high, flags register low [Chorus] Move it, load it, store it away Registers dancing where the fast data stays Direct and indirect, indexed with care Memory addresses floating through the air From register to memory, memory to reg The CPU's ballet, don't skip a leg [Outro] Registers remember, memory holds true The dance of the data flows right through From silicon paths to program's design Addressing modes keeping everything in line
← CPU Architecture and Instruction Sets | Basic Assembly Instructions →