在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

介紹8個32位通用寄存器

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

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

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

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

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

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

1.jpg

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

1.jpg

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

雖然這8個通用寄存器都是用來存儲數據,但是還是有一些區別的:

EAX:乘除指令默認使用EAX寄存器保存結果數據;計算加法的時候結果也是保存在EAX中;函數調用完成后返回值也是默認保存在EAX中

imul:乘法指令

imul 操作數1,操作數2 ,表示操作數1*操作數2,并把結果放到操作數1中

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

圖片

圖片

圖片

圖片

加法操作也是把結果放到EAX中

圖片

圖片

ECX:默認作為循環計數器,用來記錄循環次數

EBP/ESP:這兩個寄存器一般是用來記錄棧的棧頂和棧底,EBP的值是指向棧底的指針,ESP的值是指向棧頂的指針

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

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

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5427

    瀏覽量

    123701
  • 計數器
    +關注

    關注

    32

    文章

    2290

    瀏覽量

    96142
  • ESP
    ESP
    +關注

    關注

    0

    文章

    192

    瀏覽量

    34784
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ATtiny2313通用寄存器詳解

    8 結果·輸出兩 8 操作數,輸入一 1
    發表于 11-04 07:21

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

    使用N+2 雙極繼電器的通用N寄存器電路圖
    發表于 06-30 13:18 ?704次閱讀
    使用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開始學了一年,第一ASM的程序就是變32換16進制的程序,不過現在叫我從新
    發表于 03-08 17:26 ?1.8w次閱讀

    74HC595D_3態8位移位寄存器

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

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

    IO 配置常用的 8 寄存器: MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR 、AFRH 和 AFRL。MODER 寄存器(輸入狀態
    發表于 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 架構,AArch64 提供了大量的通用寄存器。除通用寄存器之外,本節還會介紹特殊寄存器
    的頭像 發表于 08-24 09:57 ?6691次閱讀

    ARM通用寄存器及狀態寄存器詳解

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

    8通用移位寄存器;三態-74HC299

    8通用移位寄存器;三態-74HC299
    發表于 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>;三態-74HC299

    8通用移位寄存器;三態-74HC299_Q100

    8通用移位寄存器;三態-74HC299_Q100
    發表于 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>;三態-74HC299_Q100

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

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

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

    電子發燒友網站提供《具有同步清除和3-St輸出的8通用移位/存儲寄存器數據表.pdf》資料免費下載
    發表于 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>數據表

    具有3態輸出的8通用移位/存儲寄存器數據表

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

    8通用移位/存儲寄存器數據表

    電子發燒友網站提供《8通用移位/存儲寄存器數據表.pdf》資料免費下載
    發表于 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>數據表

    帶3態輸出的8通用移位/存儲寄存器SN54F299 SN74F299數據表

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

    寄存器有哪幾種?可以實現什么功能?

    寄存器是計算機中最基本的寄存器類型,用于存儲數據和指令。它們通常具有相同的大小和功能,可以用于執行各種操作。通用寄存器的數量和大小因計算機架構而異,但常見的有
    的頭像 發表于 07-12 10:32 ?2173次閱讀
    主站蜘蛛池模板: 色宅男午夜电影在线观看 | 国产一区二区在线观看免费 | 永久免费观看午夜视频在线 | 国产成人啪精品午夜在线观看 | 久久怡红院国产精品 | 午夜影视网 | 永久免费的啪啪免费的网址 | 天天摸天天干天天操 | 亚洲一区在线观看视频 | 在线 | 一区二区三区 | 国产h视频在线观看网站免费 | 成人精品视频在线观看播放 | 天天干亚洲 | 美女网色 | 高清xxx | 四虎4hu | 97福利影院 | 女的扒开尿口让男人桶爽 | 四虎4hu永久免费国产精品 | 韩国三级视频在线观看 | 黄色a三级免费看 | 国产三级视频 | 亚洲国产精品久久网午夜 | 521色香蕉网在线观看免费 | 欧美肥穴 | 亚洲综合一二三区 | 1024 cc香蕉在线观看看中文 | 老熟女毛片 | 天天天天操| 国产成人精品曰本亚洲78 | 手机免费看a | 寡妇一级a毛片免费播放 | 插插天天 | 亚洲 欧美 自拍 卡通 综合 | 福利视频欧美 | 超级乱淫视频播放日韩 | 国产亚洲一区二区三区在线 | 一区二区三区四区视频 | 四虎一影院区永久精品 | 国产成人综合网 | 五月激情丁香 |