• <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

            靜以修身,儉以養德,非澹薄無以明志,非寧靜無以致遠。
            隨筆 - 398, 文章 - 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調用q,q可以覆蓋這些寄存器,但是不會改變p中的數據。

            %ebx、%esi、%edi:被調用者保存(數據)寄存器,當過場p調用q,q必須在覆蓋這些寄存器數據前,要把它們保存到棧,
                                  并在調用結束返回時恢復它們,這些數據
            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必須是1、248中的一個,最后一個常用在數組中

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

             

             

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

            久久久久亚洲精品天堂久久久久久| 久久国产影院| 精品久久久久久中文字幕| 99久久精品免费看国产| 免费一级做a爰片久久毛片潮| 99久久国产综合精品女同图片| 久久精品国产亚洲av麻豆小说| 人人狠狠综合久久亚洲婷婷| 一本大道久久东京热无码AV| 久久久久久久99精品免费观看| 亚洲人成网站999久久久综合| 91精品国产高清91久久久久久| 亚洲国产香蕉人人爽成AV片久久| 国内精品久久久久影院免费| 久久婷婷国产剧情内射白浆| 精品久久人人爽天天玩人人妻| 精品熟女少妇av免费久久| 尹人香蕉久久99天天拍| 国产AV影片久久久久久| 精品人妻久久久久久888| 狠狠色丁香久久婷婷综合蜜芽五月 | 亚洲国产香蕉人人爽成AV片久久| 精品999久久久久久中文字幕| 久久婷婷五月综合色奶水99啪| 久久精品人妻一区二区三区| 色综合久久久久| 99久久综合国产精品二区| 国产精品福利一区二区久久| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 久久高潮一级毛片免费| 亚洲一区二区三区日本久久九| 99久久国语露脸精品国产| 国产午夜久久影院| 久久99精品国产麻豆宅宅| 久久精品国产69国产精品亚洲| 国产成人久久激情91| 久久线看观看精品香蕉国产| 久久99久久无码毛片一区二区| 久久久久99精品成人片牛牛影视| 香蕉aa三级久久毛片| 漂亮人妻被黑人久久精品|