小碼哥C 彙編指令

2021-10-23 20:36:08 字數 1097 閱讀 3097

我們先來隨便寫乙個函式,然後反彙編看看它的**。

#include

using

namespace std;

void

test()

void

func()

intmain()

轉到彙編為:

再按一下f11

再按一下f11,跳轉到函式:

儲存位元組

int  a=1;

//ebp-0ch是變數a的位址

//word 2位元組 dword 4位元組 qword 8位元組

mov dword ptr [ebp-

0ch],3

ebp的值:010ffe58h

0ch4個位元組儲存3

16進製制 : 00

0000

03h2進製 : 00000000

00000000

00000000

000000011

1.以前講過的:lea dest,[位址值]

eg:lea eax,[1122h]:直接將位址值賦值給eax

lea:load effect address 裝載有效位址值

mov eax,dword ptr [1122h]:講此位址中的內容取出來放到eax中

ret : 函式返回

add op1 , op2

sub op1 , op2

inc op: op=op+1

dec op: op=op-1

jum [ ]: 跳轉到此位址

j開頭的一般都是跳轉,大多數是帶條件的跳轉,一般跟test,cmp等指令配合使用。

小碼哥C 第一課

標準格式 include using namespace std intmain 2.函式過載 c語言中不支援函式過載,但大多數語言中都支援函式過載 include using namespace std 引數型別 引數數量過載 sum i i intsum int v1,int v2 sum i ...

機器碼轉彙編指令

在用logisim初步畫完cpu電路後,配合educoder除錯電路。提交 到educoder後,後台會檢測錯誤資訊,根據報錯資訊中的週期數或者pc值,可以找到錯誤的指令機器碼。但是機器碼太抽象,因此使用下面的程式將指令機器碼翻譯成指令名稱,進而繼續除錯電路。32位mips指令翻譯器 輸入一條16進...

小碼哥第三天筆記

了解 運算子基本概念 理解 運算子分類 運算子根據參與運算的運算元的個數分為 雙目運算 三目運算 理解 優先順序 理解 結合性 理解 算術運算子 掌握 結合性和優先順序 掌握 算術運算的注意點 名稱 符號說明 加法運算子 雙目運算子,即應有兩個量參與加法運算。如a b,4 8等。具有左結合性。減法運...