Get the latest tech news

Let's Learn x86-64 Assembly (2020)


! Part 0 - Setup and First Steps published on Apr 18 2020 The way I was taught x86 assembly at the university had been completely outdated for many years by the time I had my first class. It was around 2008 or 2009, and 64-bit processors had already started becoming a thing even in my neck of the woods.

RegisterLower byteLower wordLower dword raxalaxeaxrbxblbxebxrcxclcxecxrdxdldxedxrspsplspesprsisilsiesirdidildiedirbpbplbpebpr8r8br8wr8dr9r9br9wr9dr10r10br10wr10dr11r11br11wr11dr12r12br12wr12dr13r13br13wr13dr14r14br14wr14dr15r15br15wr15dAdditionally, the higher 8 bits of rax, rbx, rcx and rdx can be referred to as ah, bh, ch and dh. While it is true that on 64-bit Windows your programs see memory as a flat contiguous array of bytes with addresses starting at 0, it is actually an elaborate illusion maintained by the OS and CPU working together. Fire it up in WinDbg again, run until our hardcoded breakpoint, then single-step to see how we eventually call ExitProcess, making note of how the rsp and rcx registers change.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of Steps

Steps

Photo of setup

setup

Photo of assembly part

assembly part

Related news:

News photo

Scientists create robots that take their first steps straight from the 3D printer | By sharing their designs, the Edinburgh engineers hope to spark a new wave of innovation in soft robotics

News photo

Vietnam Takes Steps to Block Telegram Over Illegal Content

News photo

Anthropic’s new Claude 4 AI models can reason over many steps