我們先來隨便寫乙個函式,然後反彙編看看它的**。
#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等。具有左結合性。減法運...