暫存器:
32 16 8
eax 0 eax ah al
ecx 1 ecx ch cl
edx 2 edx dh dl
ebx 3 ebx bh bl
esp 4 esp
ebp 5 ebp
esi 6 esi
edi 7 edi
mov eax, dword ptr ds:[0x12ffc4]
或mov eax, 0x12ffc4
mov ecx, dword ptr ds:[eax]
lex ecx, dword ptr ds:[eax]
把eax中存放的值, 放入ecx中(與mov有區別, 乙個是值, 乙個是值為首位址的記憶體單元中的值)
標誌暫存器 (容器寬度)
進製標誌位
cf: 只看最高位, 兩者相加溢位cf=1(無符號)
奇偶標誌位
p: 轉為二進位制後, 如果1的個數為偶, p位為1, 否則為0(只看最低有效位元組)
輔助進製標誌位
a: ffff(16位只看倒數第二個f中的最高位)
ff(8位看倒數第乙個f中的最高位)
零位標誌位
zf:計算的結果為0, 則zf=1
符號標誌位
sf: 二進位制的最高位為1,sf=1
溢位標誌位
of: 無符號只看c位, 即cf
有符號看o, 即of 1000 | 1100 = 0100 最高兩位即 0 xor 1 = 1; of=1
方向標誌位
d: 當該位為0時, movs或stos為加;為1時, 反之;(esi, edi)
jmp 無條件修改eip的值
call 等價 push esp
sub esp,0x4
mov dword ptr ds:[esp], eip+5(eip是還沒進函式時的eip)
ret 等價 pop eip
mov eip, dword ptr ds:[esp];
add esp, 4
單個函式堆疊圖debug版
x86彙編學習筆記
debug 是dos,windows都提供的實模式 8086 方式 程式的除錯工具.windows下使用dosbox模擬dos環境,掛載所在目錄後開啟debug.exe r指令 顯示r ax 0000 bx 0000 cx 0000 dx 0000 sp 00fd bp 0000 si 0000 d...
彙編學習(3)x86常用彙編指令學習
剛學習彙編,菜鳥乙個。記下學習筆記 mov指令 mov 目標運算元,源運算元 類似c語言的等於號 拷貝 源運算元 到 目標運算元。例如mov eax,ebx 前後的位數 寬度 必須是相同的,8位對應8位,16對應16,32位對應32位。彙編有三種運算元 暫存器運算元,儲存器運算元,立即數。暫存器運算...
32位x86彙編學習總結
大學裡的微機原理課學的讓我汗顏,工作之餘,重新學習了一遍x86的彙編。彙編主要包括暫存器,指令操作,控制迴圈結構以及棧幀中的 esp和 ebp的變化。32位x86包括8個暫存器,分別是 eax accumulate ecx conuter edx data ebx base esi source i...