C++ Weekly – Ep 34 – Reading Assembly Language – Part 1

Come to my `constexpr` class at C++ On Sea: https://cpponsea.uk/sessions/applied-constexpr.html
Support these videos at https://www.patreon.com/lefticus Follow me on twitter https://twitter.com/lefticus


Maqbool says:

what tool you are using in the presentation.

Allan Ojala says:

Wonderful explanation. Can’t wait for part 2 🙂

Roberto Parolin says:

Good idea to cover this stuff. Fortunately (or unfortunately depending on your mood) assembly goes hand in hand with C++.

Matt Godbolt says:

xor eax, eax also is one fewer unfused micro-op; it gets optimised out at the register renamer. See Peter Cordes’ comprehensive SO post: All you ever needed to know about zeroing a register: http://stackoverflow.com/questions/33666617/what-is-the-best-way-to-set-a-register-to-zero-in-x86-assembly-xor-mov-or-and/33668295#33668295

Duncan Ogilvie says:

Quick note: the “mov eax, 0” actually also fully zeroes the higher part of the rax register.

Oleg Bogdanov says:

AT&T syntax may be older but it’s not that world started to move towards Intel syntax just now, imho. All post-soviet (i.e. russian) literature on assembly lang (translated and original) is using Intel syntax since 90s (see Peter Abel) if not earlier

Roy Mor says:

arnt values returned in eax depending on the calling convention and compiler?

vladabuba says:

Nice video and up to the point. What would be really great is to see how our program (window based or console) is compiled and laid out into sections, then assembled into image (executable) used by OS process loader to create process.

Cengiz Can says:

Thanks a lot for this! One little mistake though: on 5:23 you’re actually mentioning Intel syntax. But you said “In AT&T syntax” 🙂

 Write a comment


Do you like our videos?
Do you want to see more like that?

Please click below to support us on Facebook!