• <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 、(反)匯編

            久久精品亚洲欧美日韩久久| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久Av无码精品人妻系列| 久久亚洲国产精品123区| 四虎国产精品免费久久久| 久久精品水蜜桃av综合天堂| 精品久久久无码人妻中文字幕| 久久伊人五月天论坛| 国産精品久久久久久久| 久久九色综合九色99伊人| 人妻系列无码专区久久五月天| 老司机午夜网站国内精品久久久久久久久| 国内精品伊人久久久久影院对白| 99热都是精品久久久久久| 久久久青草青青国产亚洲免观| 日韩美女18网站久久精品| 国产毛片欧美毛片久久久| 久久精品人人槡人妻人人玩AV | 亚洲中文字幕无码一久久区| 狼狼综合久久久久综合网| 免费久久人人爽人人爽av| 亚洲国产另类久久久精品小说| 欧美噜噜久久久XXX| 久久精品www| 手机看片久久高清国产日韩| 精品久久久久久中文字幕大豆网| 伊人久久大香线蕉av不卡| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产精品99久久久久久人| 日韩欧美亚洲综合久久影院Ds| 亚洲精品乱码久久久久久蜜桃 | 精品久久久久久中文字幕大豆网| 国产成人久久精品一区二区三区| 国产精品欧美亚洲韩国日本久久| 亚洲国产成人久久笫一页| 久久人妻AV中文字幕| 91精品日韩人妻无码久久不卡| 99久久国产亚洲综合精品| 99久久精品免费观看国产| 色婷婷综合久久久久中文一区二区|