• <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>
            蝸牛的家
            男兒當自強
            posts - 48,  comments - 21,  trackbacks - 0
            -- 8088匯編指令表
            一、數據傳輸指令
            ───────────────────────────────────────
              它們在存貯器和寄存器、寄存器和輸入輸出端口之間傳送數據.
              1. 通用數據傳送指令.
                MOV   傳送字或字節.
                MOVSX 先符號擴展,再傳送.
                MOVZX 先零擴展,再傳送.
                PUSH   把字壓入堆棧.
                POP   把字彈出堆棧.
                PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次壓入堆棧.
                POPA   把DI,SI,BP,SP,BX,DX,CX,AX依次彈出堆棧.
                PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次壓入堆棧.
                POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次彈出堆棧.
                BSWAP 交換32位寄存器里字節的順序
                XCHG   交換字或字節.( 至少有一個操作數為寄存器,段寄存器不可作為操作數)
                CMPXCHG 比較并交換操作數.( 第二個操作數必須為累加器AL/AX/EAX )
                XADD   先交換再累加.( 結果在第一個操作數里 )
                XLAT   字節查表轉換.
                      ── BX 指向一張 256 字節的表的起點, AL 為表的索引值 (0-255,即
                      0-FFH); 返回 AL 為查表結果. ( [BX+AL]->AL )
              2. 輸入輸出端口傳送指令.
                IN     I/O端口輸入. ( 語法: IN 累加器, {端口號│DX} )
                OUT   I/O端口輸出. ( 語法: OUT {端口號│DX},累加器 )
                  輸入輸出端口由立即方式指定時, 其范圍是 0-255; 由寄存器 DX 指定時,
                  其范圍是 0-65535.
              3. 目的地址傳送指令.
                LEA   裝入有效地址.
                  例: LEA DX,string ;把偏移地址存到DX.
                LDS   傳送目標指針,把指針內容裝入DS.
                  例: LDS SI,string ;把段地址:偏移地址存到DS:SI.
                LES   傳送目標指針,把指針內容裝入ES.
                  例: LES DI,string ;把段地址:偏移地址存到ES:DI.
                LFS   傳送目標指針,把指針內容裝入FS.
                  例: LFS DI,string ;把段地址:偏移地址存到FS:DI.
                LGS   傳送目標指針,把指針內容裝入GS.
                  例: LGS DI,string ;把段地址:偏移地址存到GS:DI.
                LSS   傳送目標指針,把指針內容裝入SS.
                  例: LSS DI,string ;把段地址:偏移地址存到SS:DI.
              4. 標志傳送指令.
                LAHF   標志寄存器傳送,把標志裝入AH.
                SAHF   標志寄存器傳送,把AH內容裝入標志寄存器.
                PUSHF 標志入棧.
                POPF   標志出棧.
                PUSHD 32位標志入棧.
                POPD   32位標志出棧.

            二、算術運算指令
            ───────────────────────────────────────
                  ADD   加法.
                ADC   帶進位加法.
                INC   加 1.
                AAA   加法的ASCII碼調整.
                DAA   加法的十進制調整.
                SUB   減法.
                SBB   帶借位減法.
                DEC   減 1.
                NEC   求反(以 0 減之).
                CMP   比較.(兩操作數作減法,僅修改標志位,不回送結果).
                AAS   減法的ASCII碼調整.
                DAS   減法的十進制調整.
                MUL   無符號乘法.
                IMUL   整數乘法.
                  以上兩條,結果回送AH和AL(字節運算),或DX和AX(字運算),
                AAM   乘法的ASCII碼調整.
                DIV   無符號除法.
                IDIV   整數除法.
                  以上兩條,結果回送:
                    商回送AL,余數回送AH, (字節運算);
                  或 商回送AX,余數回送DX, (字運算).
                AAD   除法的ASCII碼調整.
                CBW   字節轉換為字. (把AL中字節的符號擴展到AH中去)
                CWD   字轉換為雙字. (把AX中的字的符號擴展到DX中去)
                CWDE   字轉換為雙字. (把AX中的字符號擴展到EAX中去)
                CDQ   雙字擴展.   (把EAX中的字的符號擴展到EDX中去)

            三、邏輯運算指令
            ───────────────────────────────────────
                  AND   與運算.
                OR     或運算.
                XOR   異或運算.
                NOT   取反.
                TEST   測試.(兩操作數作與運算,僅修改標志位,不回送結果).
                SHL   邏輯左移.
                SAL   算術左移.(=SHL)
                SHR   邏輯右移.
                SAR   算術右移.(=SHR)
                ROL   循環左移.
                ROR   循環右移.
                RCL   通過進位的循環左移.
                RCR   通過進位的循環右移.
                  以上八種移位指令,其移位次數可達255次.
                    移位一次時, 可直接用操作碼. 如 SHL AX,1.
                    移位>1次時, 則由寄存器CL給出移位次數.
                      如 MOV CL,04
                        SHL AX,CL

            四、串指令
            ───────────────────────────────────────
                     DS:SI 源串段寄存器 :源串變址.
                    ES:DI 目標串段寄存器:目標串變址.
                    CX     重復次數計數器.
                    AL/AX 掃描值.
                    D標志 0表示重復操作中SI和DI應自動增量; 1表示應自動減量.
                    Z標志 用來控制掃描或比較操作的結束.
                MOVS   串傳送.
                    ( MOVSB 傳送字符.   MOVSW 傳送字.   MOVSD 傳送雙字. )
                CMPS   串比較.
                    ( CMPSB 比較字符.   CMPSW 比較字. )
                SCAS   串掃描.
                    把AL或AX的內容與目標串作比較,比較結果反映在標志位.
                LODS   裝入串.
                    把源串中的元素(字或字節)逐一裝入AL或AX中.
                    ( LODSB 傳送字符.   LODSW 傳送字.   LODSD 傳送雙字. )
                STOS   保存串.
                    是LODS的逆過程.
                REP         當CX/ECX<>0時重復.
                REPE/REPZ     當ZF=1或比較結果相等,且CX/ECX<>0時重復.
                REPNE/REPNZ   當ZF=0或比較結果不相等,且CX/ECX<>0時重復.
                REPC       當CF=1且CX/ECX<>0時重復.
                REPNC       當CF=0且CX/ECX<>0時重復.

            五、程序轉移指令
            ───────────────────────────────────────
               1>無條件轉移指令 (長轉移)
                JMP   無條件轉移指令
                CALL   過程調用
                RET/RETF過程返回.
              2>條件轉移指令 (短轉移,-128到+127的距離內)
                ( 當且僅當(SF XOR OF)=1時,OP1<OP2 )
                JA/JNBE 不小于或不等于時轉移.
                JAE/JNB 大于或等于轉移.
                JB/JNAE 小于轉移.
                JBE/JNA 小于或等于轉移.
                  以上四條,測試無符號整數運算的結果(標志C和Z).
                JG/JNLE 大于轉移.
                JGE/JNL 大于或等于轉移.
                JL/JNGE 小于轉移.
                JLE/JNG 小于或等于轉移.
                  以上四條,測試帶符號整數運算的結果(標志S,O和Z).
                JE/JZ 等于轉移.
                JNE/JNZ 不等于時轉移.
                JC     有進位時轉移.
                JNC   無進位時轉移.
                JNO   不溢出時轉移.
                JNP/JPO 奇偶性為奇數時轉移.
                JNS   符號位為 "0" 時轉移.
                JO     溢出轉移.
                JP/JPE 奇偶性為偶數時轉移.
                JS     符號位為 "1" 時轉移.
              3>循環控制指令(短轉移)
                LOOP         CX不為零時循環.
                LOOPE/LOOPZ   CX不為零且標志Z=1時循環.
                LOOPNE/LOOPNZ CX不為零且標志Z=0時循環.
                JCXZ         CX為零時轉移.
                JECXZ       ECX為零時轉移.
              4>中斷指令
                INT   中斷指令
                INTO   溢出中斷
                IRET   中斷返回
              5>處理器控制指令
                HLT   處理器暫停, 直到出現中斷或復位信號才繼續.
                WAIT   當芯片引線TEST為高電平時使CPU進入等待狀態.
                ESC   轉換到外處理器.
                LOCK   封鎖總線.
                NOP   空操作.
                STC   置進位標志位.
                CLC   清進位標志位.
                CMC   進位標志取反.
                STD   置方向標志位.
                CLD   清方向標志位.
                STI   置中斷允許位.
                CLI   清中斷允許位.

            六、偽指令
            ───────────────────────────────────────
                  DW     定義字(2字節).
                PROC   定義過程.
                ENDP   過程結束.
                SEGMENT 定義段.
                ASSUME 建立段寄存器尋址.
                ENDS   段結束.
                END   程序結束.
            posted on 2009-02-17 12:44 黑色天使 閱讀(781) 評論(0)  編輯 收藏 引用 所屬分類: Hacker

            <2009年2月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            1234567

            常用鏈接

            留言簿(2)

            隨筆分類

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            一本久久a久久精品亚洲| 久久se精品一区二区影院| 伊人久久大香线蕉综合5g| 色综合久久88色综合天天 | 偷窥少妇久久久久久久久| 无码久久精品国产亚洲Av影片| 亚洲午夜久久久久久久久久| 97久久精品无码一区二区| 久久精品国产一区| 久久精品中文字幕大胸| 久久99免费视频| 亚洲AV日韩精品久久久久久| 中文字幕一区二区三区久久网站| 青春久久| 久久电影网2021| 亚洲va久久久噜噜噜久久男同 | 国产农村妇女毛片精品久久| 伊人 久久 精品| 蜜桃麻豆www久久| 99久久99久久精品国产片果冻| AAA级久久久精品无码区| 精品久久久久香蕉网| 久久精品国产福利国产琪琪| 久久天天躁狠狠躁夜夜躁2O2O| 久久综合九色欧美综合狠狠| 国产国产成人精品久久| 77777亚洲午夜久久多喷| 思思久久99热免费精品6| 精品久久久久久99人妻| 日本福利片国产午夜久久| 久久99国产综合精品| 狠狠色噜噜色狠狠狠综合久久| 色婷婷噜噜久久国产精品12p| 久久久久久久综合日本亚洲| 99久久精品国产高清一区二区| 国内高清久久久久久| 国内精品久久久久影院薰衣草| 模特私拍国产精品久久| 久久笫一福利免费导航| 久久久国产打桩机| 亚洲日韩中文无码久久|