• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Benjamin

            靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
            隨筆 - 397, 文章 - 0, 評論 - 196, 引用 - 0
            數據加載中……

            linux匯編之IA32數據格式及數據操作

            IA32數據格式

            類型                         Intel數據類型                         匯編代碼后綴

            Char                        字節                                      b(1字節)

            Short                                                               w(2字節)

            Int                          雙字                                      l4字節)

            Long int                  雙字                                      l4字節)

            Long long int               -                                         4字節

            Char*                    雙字                                        l4字節)

            Float                     單精度                                     s4字節)

            Double                  雙精度                                    l8字節)

            Long double          擴展精度                                   t1012字節)

            Char*這里指的是所有指針類型,注意:c語言新增加的long long是八字節,但是硬件IA32不支持這個類型。

            例如:mo
             

            寄存器(832位的寄存器,均以%e開頭)

            %eax%ecx%edx:調用者保存(數據)寄存器,當過程p調用qq可以覆蓋這些寄存器,但是不會改變p中的數據。

            %ebx%esi%edi:被調用者保存(數據)寄存器,當過場p調用qq必須在覆蓋這些寄存器數據前,要把它們保存到棧,
                                  并在調用結束返回時恢復它們,這些數據
            p或其他過程需要它們。

            %esp%ebp:有關棧指針的

             

             操作數分三種:立即數即常數,用$開頭,后面加一個整數表示;
                                 寄存器數,對字操作而言表示某個寄存器中的保存的值;對字節操作而言是8個單字節寄存器中的一個,比如:%al(eax寄存器中的低8位)
                                 存儲器引用,根據計算出的有效地址來訪問存儲器的某個位置;包括四部分:偏移數(lmm)、基地址Eb、變址寄存器Ei、比例因子s

            有關操作數格式表

            類型       格式                    操作數值                              名稱

            立即數     $Imm                 Imm                                   立即數尋址

            寄存器     Ea                           R[Ea]                                 寄存器尋址

            存儲器     Imm                   M[Imm]                              絕對尋址

            存儲器     Ea                M[R[Ea]]                             間接尋址

            存儲器     Imm(Eb)             M[Imm+R[Eb]]                    (基地址+偏移量)尋址

            存儲器     (Eb,Ei)                M[R[Eb]+R[Ei]]                   變址尋址

            存儲器     Imm(Eb,Ei)          M[Imm+R[Eb]+R[Ei]]          變址尋址

            存儲器     (,Ei,s)                 M[R[Eb].s]                         比例變址尋址

            存儲器     Imm(,Ei,,,s)         M[Imm+R[Eb].s]                比例變址尋址

            存儲器     (Eb,Ei,s)             M[R[Eb]+R[Ei].s]                比例變址尋址

            寄存器     Imm(Eb,Ei,s)       M[Imm+R[Eb]+R[Ei].s]       比例變址尋址

            S必須是1248中的一個,最后一個常用在數組中

            例如:地址0x100的值是56,那么操作數0x100的值就是56,屬于絕對尋址;$0x100的值0x100,是立即數尋址;

             

             

            posted on 2013-01-16 21:51 Benjamin 閱讀(960) 評論(0)  編輯 收藏 引用 所屬分類: linux(反)匯編

            久久精品国产精品亚洲精品 | 日韩va亚洲va欧美va久久| 久久久久久av无码免费看大片| 久久久久综合中文字幕| 久久国语露脸国产精品电影| 亚洲精品tv久久久久久久久 | 性欧美大战久久久久久久| 久久综合亚洲色一区二区三区 | 久久99精品免费一区二区| 日本精品久久久久影院日本| 久久人人爽人人爽人人片AV不 | 久久久久亚洲爆乳少妇无| 欧美亚洲国产精品久久| 精品一区二区久久| 久久99精品久久久大学生| 国产成人无码精品久久久久免费 | 欧美大香线蕉线伊人久久| 久久精品国产清自在天天线| 久久久久人妻一区精品色| 久久99精品久久久久久9蜜桃| 久久A级毛片免费观看| 亚洲欧洲精品成人久久曰影片| 国产精品青草久久久久婷婷| 狠狠色婷婷久久一区二区| 欧美粉嫩小泬久久久久久久| 久久97精品久久久久久久不卡| 麻豆精品久久久久久久99蜜桃| 欧美麻豆久久久久久中文| 久久精品免费观看| 精品久久久中文字幕人妻 | 精品综合久久久久久97| 少妇人妻综合久久中文字幕| 久久久国产一区二区三区| 久久亚洲欧美日本精品| 久久精品一区二区| 国产成人综合久久综合| 99久久久精品免费观看国产| 热re99久久6国产精品免费| 久久无码专区国产精品发布| 久久久久久国产a免费观看黄色大片| 欧美粉嫩小泬久久久久久久 |