乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CPU 指令

       融水公子 2021-03-14
      表白:黑白圣堂血天使,天劍鬼刀阿修羅。 
      講解對象:
      /CPU 指令
      作者:融水公子 rsgz
      匯編教程
      匯編教程 http://www./post/91.html

      我們通過函數(shù)來理解一下。下面是一個簡單的函數(shù)
      int add_a_and_b(int a, int b) {
         return a + b;
      }
      
      int main() {
         return add_a_and_b(2, 3);
      }

      gcc編譯器可以將這個程序轉(zhuǎn)化成匯編語言。發(fā)現(xiàn)轉(zhuǎn)換之后的匯編語言就是一行行的指令,CPU只要執(zhí)行這一行行的指令就可以完成函數(shù)的操作了,匯編會用標(biāo)簽add_a_and_b和main代替兩個函數(shù)
      _add_a_and_b:
         push   %ebx
         mov    %eax, [%esp+8] 
         mov    %ebx, [%esp+12]
         add    %eax, %ebx 
         pop    %ebx 
         ret  
      
      _main:
         push   3
         push   2
         call   _add_a_and_b 
         add    %esp, 8
         ret

      分析:執(zhí)行的順序是這樣的。
      _main:       //棧為_main建立一個幀,地址寫入ESP 寄存器
         push   3     //ESP 寄存器減去整型3的四個字節(jié),push指令把3放入main幀里面
         push   2     //ESP 寄存器減去整型2的四個字節(jié),push指令把2放入main幀里面 累積減了8字節(jié)
         call   _add_a_and_b  //call指令用來調(diào)用函數(shù),建立add_a_and_b幀
      
      --------------------------------------------------------------
      _add_a_and_b:  //棧為add_a_and_b建立一個幀,地址寫入ESP 寄存器
         push   %ebx   //ESP 寄存器減去四字節(jié),EBX 寄存器里面的值,寫入_add_a_and_b這個幀 ,累計減去12字節(jié)
         mov    %eax, [%esp+8]  //ESP 寄存器里面地址加8字節(jié),對應(yīng)的是2,將2寫入 EAX 寄存器
         mov    %ebx, [%esp+12] //ESP 寄存器里面地址加12字節(jié),對應(yīng)的是3,將3寫入 EBX 寄存器
         add    %eax, %ebx      //兩個運算子相加,并將結(jié)果寫入第一個運算子
         pop    %ebx            //ESP 寄存器里面地址加4字節(jié),加法已經(jīng)做完了,EBX 寄存器用不到了
         ret         //ret指令終止當(dāng)前函數(shù)的執(zhí)行,當(dāng)前函數(shù)的幀將被回收
      
      --------------------------------------------------------------
         add    %esp, 8  // ESP 寄存器地址手動加8個字節(jié),等于說之前的12字節(jié)都收回來了
         ret   //ret指令退出main函數(shù)

      最后我繼續(xù)畫一個畫畫吧

        

      === 
      公眾號:小雪妃
      謝謝大家的支持!可以點擊我的頭像,進入我的空間瀏覽更多文章呢。建議大家360doc[www.hbhlny.cn]注冊一個賬號登錄,里面真的有很多優(yōu)秀的文章,歡迎大家的到來。
      ---

        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多