<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Assembly on Sable Ayala</title><link>http://sable-ayala.dev/tags/assembly/</link><description>Recent content in Assembly on Sable Ayala</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 03 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://sable-ayala.dev/tags/assembly/index.xml" rel="self" type="application/rss+xml"/><item><title>Some basic assembly functions</title><link>http://sable-ayala.dev/posts/basic-assmebly/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate><guid>http://sable-ayala.dev/posts/basic-assmebly/</guid><description>&lt;p>Will add more in the future but just gonna write some basic assembly to show you what it might look like.&lt;/p>
&lt;h1 id="factorials-and-rescursive-functions">
 Factorials and Rescursive functions
 &lt;a class="heading-link" href="#factorials-and-rescursive-functions">
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading">&lt;/i>
 &lt;span class="sr-only">Link to heading&lt;/span>
 &lt;/a>
&lt;/h1>
&lt;p>Below is a demonstration of how to calculate the factorial of a number pushed onto the stack in x86 assembly, the x86_64 will be below&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-armasm" data-lang="armasm">&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 1&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">; calculate the factorial
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 2&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">; 3! = 3 * 2 * 1
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 3&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 4&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">; x86 32 bit example
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 5&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 6&lt;/span>&lt;span>&lt;span style="color:#81c8be">.section&lt;/span> &lt;span style="color:#81c8be">.data&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 7&lt;/span>&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 8&lt;/span>&lt;span>&lt;span style="color:#81c8be">.section&lt;/span> &lt;span style="color:#81c8be">.text&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 9&lt;/span>&lt;span>&lt;span style="color:#81c8be">.globl&lt;/span>&lt;span style="color:#99d1db"> _start
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">10&lt;/span>&lt;span>&lt;span style="color:#99d1db">&lt;/span>&lt;span style="color:#81c8be">.globl&lt;/span>&lt;span style="color:#99d1db"> factorial
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">11&lt;/span>&lt;span>&lt;span style="color:#99d1db">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">12&lt;/span>&lt;span>&lt;span style="color:#99d1db">_start&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">13&lt;/span>&lt;span> pushl &lt;span style="color:#e78284">$4&lt;/span> &lt;span style="color:#737994;font-style:italic">; push argument (factorial 4)
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">14&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> call &lt;span style="color:#e78284">factorial&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">15&lt;/span>&lt;span> addl &lt;span style="color:#e78284">$4&lt;/span>, &lt;span style="color:#e78284">%esp&lt;/span> &lt;span style="color:#737994;font-style:italic">; scrub parameter, always return SP to where it was before
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">16&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> &lt;span style="color:#737994;font-style:italic">; we called a function
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">17&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> movl &lt;span style="color:#e78284">%eax&lt;/span>, &lt;span style="color:#e78284">%ebx&lt;/span> &lt;span style="color:#737994;font-style:italic">; store in ebx as our return status
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">18&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">19&lt;/span>&lt;span> movl &lt;span style="color:#e78284">$1&lt;/span>, &lt;span style="color:#e78284">%eax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">20&lt;/span>&lt;span> int &lt;span style="color:#e78284">$0&lt;/span>&lt;span style="color:#e5c890">x80&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">21&lt;/span>&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">22&lt;/span>&lt;span>&lt;span style="color:#81c8be">.type&lt;/span> factorial, &lt;span style="color:#737994;font-style:italic">@function
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">23&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>&lt;span style="color:#99d1db">factorial&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">24&lt;/span>&lt;span> pushl &lt;span style="color:#e78284">%ebp&lt;/span> &lt;span style="color:#737994;font-style:italic">; push so we can restore ebp afterwards
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">25&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> movl &lt;span style="color:#e78284">%esp&lt;/span>, &lt;span style="color:#e78284">%ebp&lt;/span> &lt;span style="color:#737994;font-style:italic">; we dont want to modify the SP so we push it to ebp
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">26&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> movl &lt;span style="color:#e78284">8(%ebp)&lt;/span>, &lt;span style="color:#e78284">%eax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">27&lt;/span>&lt;span> cmpl &lt;span style="color:#e78284">$1&lt;/span>, &lt;span style="color:#e78284">%eax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">28&lt;/span>&lt;span> je &lt;span style="color:#e78284">end_factorial&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">29&lt;/span>&lt;span> decl &lt;span style="color:#e78284">%eax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">30&lt;/span>&lt;span> pushl &lt;span style="color:#e78284">%eax&lt;/span> &lt;span style="color:#737994;font-style:italic">; push it for our call to factorial
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">31&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> call &lt;span style="color:#e78284">factorial&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">32&lt;/span>&lt;span> movl &lt;span style="color:#e78284">8(%ebp)&lt;/span>, &lt;span style="color:#e78284">%ebx&lt;/span> &lt;span style="color:#737994;font-style:italic">; reload our parameter in %ebx
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">33&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> imull &lt;span style="color:#e78284">%ebx&lt;/span>, &lt;span style="color:#e78284">%eax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">34&lt;/span>&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">35&lt;/span>&lt;span>&lt;span style="color:#99d1db">end_factorial&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">36&lt;/span>&lt;span> movl &lt;span style="color:#e78284">%ebp&lt;/span>, &lt;span style="color:#e78284">%esp&lt;/span> &lt;span style="color:#737994;font-style:italic">; restoring ebp and esp to where
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">37&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span> popl &lt;span style="color:#e78284">%ebp&lt;/span> &lt;span style="color:#737994;font-style:italic">; they were before the function started
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">38&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">39&lt;/span>&lt;span> ret
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;hr>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-armasm" data-lang="armasm">&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 1&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">; calculate the factorial
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 2&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">; 3! = 3 * 2 * 1
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 3&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 4&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">; x86_64 64bit example
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 5&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 6&lt;/span>&lt;span>&lt;span style="color:#81c8be">.section&lt;/span> &lt;span style="color:#81c8be">.data&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 7&lt;/span>&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 8&lt;/span>&lt;span>&lt;span style="color:#81c8be">.section&lt;/span> &lt;span style="color:#81c8be">.text&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7"> 9&lt;/span>&lt;span>&lt;span style="color:#81c8be">.globl&lt;/span>&lt;span style="color:#99d1db"> _start
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">10&lt;/span>&lt;span>&lt;span style="color:#99d1db">&lt;/span>&lt;span style="color:#81c8be">.globl&lt;/span>&lt;span style="color:#99d1db"> factorial
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">11&lt;/span>&lt;span>&lt;span style="color:#99d1db">&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">12&lt;/span>&lt;span>&lt;span style="color:#99d1db">_start&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">13&lt;/span>&lt;span> movl &lt;span style="color:#e78284">$5&lt;/span>, &lt;span style="color:#e78284">%rdi&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">14&lt;/span>&lt;span> call &lt;span style="color:#e78284">factorial&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">15&lt;/span>&lt;span> mov &lt;span style="color:#e78284">%rax&lt;/span>, &lt;span style="color:#e78284">%rdi&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">16&lt;/span>&lt;span> jmp &lt;span style="color:#e78284">exit&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">17&lt;/span>&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">18&lt;/span>&lt;span>&lt;span style="color:#81c8be">.type&lt;/span> factorial, &lt;span style="color:#737994;font-style:italic">@function
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">19&lt;/span>&lt;span>&lt;span style="color:#737994;font-style:italic">&lt;/span>&lt;span style="color:#99d1db">factorial&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">20&lt;/span>&lt;span> movl &lt;span style="color:#e78284">%rdi&lt;/span>, &lt;span style="color:#e78284">%rax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">21&lt;/span>&lt;span> cmpl &lt;span style="color:#e78284">$1&lt;/span>, &lt;span style="color:#e78284">%rax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">22&lt;/span>&lt;span> je &lt;span style="color:#e78284">end_factorial&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">23&lt;/span>&lt;span> decl &lt;span style="color:#e78284">%rax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">24&lt;/span>&lt;span> movl &lt;span style="color:#e78284">%rax&lt;/span>, &lt;span style="color:#e78284">%rdi&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">25&lt;/span>&lt;span> call &lt;span style="color:#e78284">factorial&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">26&lt;/span>&lt;span> movl &lt;span style="color:#e78284">%rax&lt;/span>, &lt;span style="color:#e78284">%rbx&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">27&lt;/span>&lt;span> imull &lt;span style="color:#e78284">%rbx&lt;/span>, &lt;span style="color:#e78284">%rax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">28&lt;/span>&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">29&lt;/span>&lt;span>&lt;span style="color:#99d1db">exit&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#838ba7">30&lt;/span>&lt;span> ret
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>more to come&amp;hellip;&lt;/p></description></item></channel></rss>