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

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開(kāi)心的工作
            簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            匯編中的test和cmp比較

            Posted on 2009-10-06 00:24 S.l.e!ep.¢% 閱讀(8616) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Crack

            首先看看:狀態(tài)寄存器(即標(biāo)志寄存器)

            PSW(Program Flag)程序狀態(tài)字(即標(biāo)志)寄存器,是一個(gè)16位寄存器,由條件碼標(biāo)志(flag)和控制標(biāo)志構(gòu)成,
            如下所示:

            15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
                    OF DF IF TF SF ZF   AF   PF   CF

            條件碼:
            ①OF(Overflow Flag)溢出標(biāo)志,溢出時(shí)為1,否則置0.標(biāo)明一個(gè)溢出了的計(jì)算,如:結(jié)構(gòu)和目標(biāo)不匹配.
            ②SF(Sign Flag)符號(hào)標(biāo)志,結(jié)果為負(fù)時(shí)置1,否則置0.
            ③ZF(Zero Flag)零標(biāo)志,運(yùn)算結(jié)果為0時(shí)置1,否則置0.
            ④CF(Carry Flag)進(jìn)位標(biāo)志,進(jìn)位時(shí)置1,否則置0.注意:Carry標(biāo)志中存放計(jì)算后最右的位.
            ⑤AF(Auxiliary carry Flag)輔助進(jìn)位標(biāo)志,記錄運(yùn)算時(shí)第3位(半個(gè)字節(jié))產(chǎn)生的進(jìn)位置。
            有進(jìn)位時(shí)1,否則置0.
            ⑥PF(Parity Flag)奇偶標(biāo)志.結(jié)果操作數(shù)中1的個(gè)數(shù)為偶數(shù)時(shí)置1,否則置0.

            控制標(biāo)志位:
            ⑦DF(Direction Flag)方向標(biāo)志,在串處理指令中控制信息的方向。
            ⑧IF(Interrupt Flag)中斷標(biāo)志。
            ⑨TF(Trap Flag)陷井標(biāo)志。


            為舉例方便說(shuō)一下jnz和jz
            測(cè)試條件
            JZ ZF=1
            JNZ ZF=0
            即Jz=j(luò)ump if zero (結(jié)果為0則設(shè)置ZF零標(biāo)志為1,跳轉(zhuǎn))
            Jnz=j(luò)ump if not zero

            好,接著來(lái)看test和cmp

            *******************************************************************************
            test屬于邏輯運(yùn)算指令

            功能: 執(zhí)行BIT與BIT之間的邏輯運(yùn)算
            測(cè)試(兩操作數(shù)作與運(yùn)算,僅修改標(biāo)志位,不回送結(jié)果).
            Test對(duì)兩個(gè)參數(shù)(目標(biāo),源)執(zhí)行AND邏輯操作,并根據(jù)結(jié)果設(shè)置標(biāo)志寄存器,結(jié)果本身不會(huì)保存。EST AX,BX 與 AND AX,BX 命令有相同效果

            語(yǔ)法: TEST r/m,r/m/data
            影響標(biāo)志: C,O,P,Z,S(其中C與O兩個(gè)標(biāo)志會(huì)被設(shè)為0)

            運(yùn)用舉例:
            1.Test用來(lái)測(cè)試一個(gè)位,例如寄存器:

            test eax, 100b; b后綴意為二進(jìn)制
            jnz ******; 如果eax右數(shù)第三個(gè)位為1,jnz將會(huì)跳轉(zhuǎn)

            我是這樣想的,jnz跳轉(zhuǎn)的條件是ZF=0,ZF=0意味著ZF(零標(biāo)志)沒(méi)被置位,即邏輯與結(jié)果為1.

            2.Test的一個(gè)非常普遍的用法是用來(lái)測(cè)試一方寄存器是否為空:

            test ecx, ecx
            jz somewhere

            如果ecx為零,設(shè)置ZF零標(biāo)志為1,Jz跳轉(zhuǎn)

            *******************************************************************************
            CMP屬于算術(shù)運(yùn)算指令

            功能: 比較兩個(gè)值(寄存器,內(nèi)存,直接數(shù)值)
            語(yǔ)法: CMP r/m,r/m/data
            標(biāo)志位: C,P,A,Z,O

            CMP比較.(兩操作數(shù)作減法,僅修改標(biāo)志位,不回送結(jié)果).
            cmp實(shí)際上是只設(shè)置標(biāo)志不保存結(jié)構(gòu)的減法,并設(shè)置Z-flag(零標(biāo)志).
            零標(biāo)志很像carry,也是內(nèi)部標(biāo)志寄存器的一位.

            例如:
            Cmp eax, 2; 如果eax-2=0即eax=2就設(shè)置零標(biāo)志為1
            Jz ****; 如果設(shè)置了零標(biāo)志就跳轉(zhuǎn)


            *******************************************************************************
            我得出的結(jié)論
            test邏輯與運(yùn)算結(jié)果為零,就把ZF(零標(biāo)志)置1;
            cmp 算術(shù)減法運(yùn)算結(jié)果為零,就把ZF(零標(biāo)志)置1.

            Feedback

            # re: 匯編中的test和cmp比較  回復(fù)  更多評(píng)論   

            2015-06-04 14:44 by xx
            666666666
            亚洲国产小视频精品久久久三级| 伊人色综合久久天天人手人婷 | 国产精品久久永久免费| 久久久国产精品亚洲一区| 狠狠色丁香婷婷综合久久来| 国产精品美女久久久网AV| 成人综合久久精品色婷婷| 久久久久人妻精品一区二区三区 | 国产亚洲色婷婷久久99精品| 99久久精品免费国产大片| 一本一道久久综合狠狠老| 日韩亚洲欧美久久久www综合网 | 久久精品不卡| 无码超乳爆乳中文字幕久久| 久久精品中文字幕久久| 久久久久亚洲AV片无码下载蜜桃| 97久久国产亚洲精品超碰热| 美女久久久久久| 97久久精品人人澡人人爽| 久久综合给合久久狠狠狠97色| 99久久国产热无码精品免费久久久久| 久久久这里只有精品加勒比| 青青草国产成人久久91网| 人妻精品久久无码区| 中文字幕久久精品| 久久国产精品偷99| 国产午夜精品久久久久九九电影| 久久精品麻豆日日躁夜夜躁| 久久99这里只有精品国产| 久久影院午夜理论片无码| 国产精品久久99| 久久青草国产手机看片福利盒子| 色综合久久久久综合体桃花网| 久久婷婷五月综合97色直播 | 成人精品一区二区久久| 亚洲AV无码一区东京热久久| 久久精品国产免费观看| 中文成人无码精品久久久不卡 | 久久九九全国免费| 色综合久久综合网观看| www亚洲欲色成人久久精品|