精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹8個32位通用寄存器

冬至子 ? 來源:半同桌 ? 作者:lanlan ? 2023-09-20 14:58 ? 次閱讀

一般我們分析的程序大多都是32位的,所以這里就先介紹x86匯編,也就是32位下的匯編,64位下的匯編后續(xù)會介紹。

x86匯編一共有8個32位通用寄存器,名稱分別為:EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI。

這些寄存器用來在程序運行過程中的算術(shù)運算和數(shù)據(jù)傳輸。其中EAX,EBX,ECX,EDX這四個寄存器又可以分為低16位,高8位和低8位,這樣分的目的是為了傳輸不同字節(jié)大小的數(shù)據(jù)。

比如說一個字節(jié)的數(shù)據(jù),也就是8位,那么就可以放到寄存器的低8位中;一個四字節(jié) 32位的數(shù)據(jù),剛好就可以放到一個寄存器中。

下面是EAX,EBX,ECX,EDX這四個寄存器的低16位,高8位,低8位的表示方法

1.jpg

剩下的4個通用寄存器只能用32位和16位名稱來訪問

1.jpg

這些寄存器不需要死記硬背,在以后的分析過程中就會慢慢熟悉。

雖然這8個通用寄存器都是用來存儲數(shù)據(jù),但是還是有一些區(qū)別的:

EAX:乘除指令默認使用EAX寄存器保存結(jié)果數(shù)據(jù);計算加法的時候結(jié)果也是保存在EAX中;函數(shù)調(diào)用完成后返回值也是默認保存在EAX中

imul:乘法指令

imul 操作數(shù)1,操作數(shù)2 ,表示操作數(shù)1*操作數(shù)2,并把結(jié)果放到操作數(shù)1中

可以看到下面的乘法操作都是用EAX保存結(jié)果

圖片

圖片

圖片

圖片

加法操作也是把結(jié)果放到EAX中

圖片

圖片

ECX:默認作為循環(huán)計數(shù)器,用來記錄循環(huán)次數(shù)

EBP/ESP:這兩個寄存器一般是用來記錄棧的棧頂和棧底,EBP的值是指向棧底的指針,ESP的值是指向棧頂?shù)闹羔?/p>

ESI/EDI:這兩個寄存器大多是用在串操作指令中,比如字符串拷貝等操作

ESI就是擴展源變址寄存器(extended source index),EDI是擴展目的寄存器(extended destination index)

下面是一個字符串拷貝的匯編偽代碼:

MOV ECX,EAX     ;把字符串長度放到ECX中,用來計數(shù)
INC ECX         ;因為有零字節(jié),計數(shù)器+1
MOV ESI,SOURCE  ;SOURCE 是源字符串的地址
MOV EDI,TARGET  ;TARGET 是用來保存復(fù)制后字符串的地址,也就是目的字符串
CLD             ;方向標志清零,ESI和EDI沿著正向(地址增大的方向)遞增
                ;也就是字符串的處理是由前往后
REP MOVSB       ;復(fù)制字符串,按字節(jié)傳送數(shù)據(jù)

除了這8個通用寄存器外,還有一個寄存器使用的很多,這就是EIP(指令指針寄存器),這個寄存器的作用就是保存了下一條將要執(zhí)行指令的地址,更改EIP的值可以改變程序的執(zhí)行流程

8個通用寄存器加上一個指令指針寄存器EIP,這9個寄存器就是今后逆向過程中接觸最多的寄存器了,在以后的使用過程中會慢慢對這些寄存器有更多了解。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5225

    瀏覽量

    118948
  • 計數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2229

    瀏覽量

    93819
  • ESP
    ESP
    +關(guān)注

    關(guān)注

    0

    文章

    176

    瀏覽量

    33685
收藏 人收藏

    評論

    相關(guān)推薦

    ATtiny2313通用寄存器詳解

    8 結(jié)果·輸出兩 8 操作數(shù),輸入一 1
    發(fā)表于 11-04 07:21

    使用N+2雙極繼電器的通用N寄存器電路圖

    使用N+2 雙極繼電器的通用N寄存器電路圖
    發(fā)表于 06-30 13:18 ?645次閱讀
    使用N+2<b class='flag-5'>個</b>雙極繼電器的<b class='flag-5'>通用</b>N<b class='flag-5'>位</b><b class='flag-5'>寄存器</b>電路圖

    32寄存器,32寄存器是什么意思

    32寄存器,32寄存器是什么意思  從X8086開始學(xué)了一年,第一ASM的程序就是變32換16進制的程序,不過現(xiàn)在叫我從新
    發(fā)表于 03-08 17:26 ?1.7w次閱讀

    74HC595D_3態(tài)8位移位寄存器

    74HC595是一顆高速CMOS 83態(tài)移位寄存器/輸出鎖存芯片,采用CMOS硅柵工藝。該器件包含一
    發(fā)表于 07-12 11:54 ?14次下載

    IO口配置常用的8寄存器 1.6

    IO 配置常用的 8 寄存器: MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR 、AFRH 和 AFRL。MODER 寄存器(輸入狀態(tài)
    發(fā)表于 11-29 13:51 ?10次下載
    IO口配置常用的<b class='flag-5'>8</b><b class='flag-5'>個</b><b class='flag-5'>寄存器</b> 1.6

    AArch64寄存器介紹

    作為 RISC 架構(gòu),AArch64 提供了大量的通用寄存器。除通用寄存器之外,本節(jié)還會介紹特殊寄存器
    的頭像 發(fā)表于 08-24 09:57 ?5526次閱讀

    ARM通用寄存器及狀態(tài)寄存器詳解

    筆者來聊聊ARM通用寄存器以及狀態(tài)寄存器的認識與理解。
    的頭像 發(fā)表于 01-06 14:58 ?6094次閱讀

    8通用移位寄存器;三態(tài)-74HC299

    8通用移位寄存器;三態(tài)-74HC299
    發(fā)表于 02-16 20:28 ?1次下載
    <b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>通用</b>移位<b class='flag-5'>寄存器</b>;三態(tài)-74HC299

    8通用移位寄存器;三態(tài)-74HC299_Q100

    8通用移位寄存器;三態(tài)-74HC299_Q100
    發(fā)表于 02-20 19:16 ?0次下載
    <b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>通用</b>移位<b class='flag-5'>寄存器</b>;三態(tài)-74HC299_Q100

    單片機工作寄存器作用 單片機常用專用寄存器

    除了通用寄存器(如累加通用寄存器等),單片機中還會有特定功能的寄存器,如定時
    的頭像 發(fā)表于 04-08 14:46 ?6623次閱讀

    具有同步清除和3-St輸出的8通用移位/存儲寄存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有同步清除和3-St輸出的8通用移位/存儲寄存器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-14 10:38 ?0次下載
    具有同步清除和3-St輸出的<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>通用</b>移位/存儲<b class='flag-5'>寄存器</b>數(shù)據(jù)表

    具有3態(tài)輸出的8通用移位/存儲寄存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有3態(tài)輸出的8通用移位/存儲寄存器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-14 10:57 ?0次下載
    具有3態(tài)輸出的<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>通用</b>移位/存儲<b class='flag-5'>寄存器</b>數(shù)據(jù)表

    8通用移位/存儲寄存器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《8通用移位/存儲寄存器數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-16 10:55 ?0次下載
    <b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>通用</b>移位/存儲<b class='flag-5'>寄存器</b>數(shù)據(jù)表

    帶3態(tài)輸出的8通用移位/存儲寄存器SN54F299 SN74F299數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《帶3態(tài)輸出的8通用移位/存儲寄存器SN54F299 SN74F299數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 05-22 10:11 ?0次下載
    帶3態(tài)輸出的<b class='flag-5'>8</b><b class='flag-5'>位</b><b class='flag-5'>通用</b>移位/存儲<b class='flag-5'>寄存器</b>SN54F299 SN74F299數(shù)據(jù)表

    寄存器有哪幾種?可以實現(xiàn)什么功能?

    寄存器是計算機中最基本的寄存器類型,用于存儲數(shù)據(jù)和指令。它們通常具有相同的大小和功能,可以用于執(zhí)行各種操作。通用寄存器的數(shù)量和大小因計算機架構(gòu)而異,但常見的有
    的頭像 發(fā)表于 07-12 10:32 ?365次閱讀