# Baby steps in x86 assembly

DevFeed: [Baby steps in x86 assembly](<https://devfeed.tech/articles/baby-steps-in-x86-assembly-38925.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2013-07-16-baby-steps-in-x86-assembly>)

Author: Marek

Published: 2013-07-15T22:00:00Z

Content type: tutorial

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [Assembly](<https://devfeed.tech/topics/assembly.md>), [x86](<https://devfeed.tech/topics/x86.md>), [C](<https://devfeed.tech/topics/c.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Unix](<https://devfeed.tech/topics/unix.md>)

Tags: [assembler](<https://devfeed.tech/tags/assembler.md>), [assembly](<https://devfeed.tech/tags/assembly.md>), [c](<https://devfeed.tech/tags/c.md>), [linux](<https://devfeed.tech/tags/linux.md>), [unix](<https://devfeed.tech/tags/unix.md>), [x86](<https://devfeed.tech/tags/x86.md>)

## AI overview

A hands-on introduction to x86 assembly that explains stack behavior, AT&T syntax, Unix calling conventions, simple functions, disassembly, and the operation of call and ret. It also introduces passing function parameters under cdecl and connecting assembly with C.

## Source excerpt

Baby steps in x86 assembly It's a bit embarrassing but I never fully understood how the stack in x86 works. Sure, I know the stack grows downwards, the top is saved in and points somewhere. But I didn't know exactly why. During Hacker School I wrote a bit of assembly that finally gave me a better intuition, maybe it can help you as well. Prerequisites I'm assuming you already know basic assembler instructions, you're aware of registers and have a clue about the stack.