在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 8086指令系統(tǒng)---數(shù)據(jù)傳送指令

            8086指令系統(tǒng)---數(shù)據(jù)傳送指令

            作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏


              注意:
               ● 只限于在AL或AX與I/O端口之間傳送信息
               ● 不影響標(biāo)志位

              XLAT   ; 換碼指令(translate)
              執(zhí)行操作: (AL) ← ((DS)×16+(BX)+(AL))
              這條指令根據(jù)AL寄存器提供的位移量,將BX指示的字節(jié)表格中的代碼換存在AL中。該指令還可寫為:XLAT opr,opr為字節(jié)表格的首地址,因為opr所表示的偏移地址已存入BX寄存器,所以opr在換碼指令中可有可無,有則可提高程序的可讀性。

              注意:
               ● 所建字節(jié)表格的長度不能超過256字節(jié),因為存放位移量的是8位寄存器AL;
               ● XLAT指令不影響標(biāo)志位。

             例 IN   AL, 61H   ; (AL) ← 端口61H的內(nèi)容
                     MOV   DX, 278H   ; (DX) ← 端口地址278H
                      IN   AL, DX    ; (AL) ← 端口278H的內(nèi)容

              例 OUT   61H, AL   ; 61H端口 ← (AL)
                     MOV   DX, 279H   ; (DX) ← 端口地址279H
                     OUT   DX, AX    ; 279H端口 ← (AX)

             3 地址傳送指令

              這組指令完成把地址送到指定寄存器的功能。

              LEA reg, src ; 有效地址送寄存器(load effective address)
              執(zhí)行操作:(reg) ← offset of src
              LEA指令把源操作數(shù)的有效地址送到指定的寄存器,這個有效地址是由src選定的一種存儲器尋址方式確定的。

              LDS reg, src ; 指針?biāo)图拇嫫骱虳S(load DS with point)
              執(zhí)行操作: (reg) ← (src)
                   (DS) ← (src+2)

              LES reg, src ; 指針?biāo)图拇嫫骱虴S(load ES with point)
              執(zhí)行操作: (reg) ← (src)
                   (ES) ← (src+2)

              LDS和LES指令把確定內(nèi)存單元位置的偏移地址送寄存器,段地址送DS或ES。這個偏移地址和段地址(也稱地址指針)是由src指定的兩個相繼字單元提供的。

              注意:
              ● 指令中的reg不能是段寄存器;
              ● 指令中的src必須使用存儲器尋址方式;
              ● 該指令不影響標(biāo)志位。

            例假設(shè)某數(shù)據(jù)段定義如下:
              0000        DATA SEGMENT
              0000 0040      TABLE   DW  0040H
              0002 3000           DW  3000H
              0004        DATA ENDS

              請指出下列指令的執(zhí)行結(jié)果,并說明它們之間的區(qū)別。
             ?、?MOV BX, TABLE
             ?、?LEA BX, TABLE
             ?、?MOV BX, OFFSET TABLE

              答:第①條指令執(zhí)行后,(BX)=0040H,
                第②條指令執(zhí)行后,(BX)=0000,
                第③條指令執(zhí)行后,(BX)=0000。

             比較①②兩條指令,第①條MOV指令是用直接尋址方式把變量TABLE的內(nèi)容送入BX,而LEA指令是把TABLE的地址送入BX。

              比較②③兩條指令可以看到,LEA和用OFFSET指示符實現(xiàn)的功能是相同的,都是將TABLE的偏移地址0000送BX。既然功能相同,它們之間還有什么區(qū)別呢?

              首先,LEA指令可以使用各種存儲器尋址方式,如,LEA BX,[DI],LEA BX,TABLE[DI],LEA SI,[BX+DI]等,這些指令都是把計算出來的有效地址送目的寄存器,而OFFSET不能使用這些尋址方式,它只作用于像TABLE這樣的簡單變量(或標(biāo)號)。

              其次,對簡單變量,OFFSET指示符比LEA執(zhí)行速度快,因為MOV BX, OFFSET TABLE指令在匯編時,由匯編程序計算出了TABLE的偏移地址,并被匯編成立即數(shù)傳送指令,因此效率很高,而LEA指令是在執(zhí)行時才計算地址,然后再傳送到指定寄存器,因此執(zhí)行速度相對慢一些。

              例 對例3.17的數(shù)據(jù)定義,下列兩條指令的執(zhí)行結(jié)果是什么?
                  ① LDS BX, TABLE
                  ② LES BX, TABLE

              答:LDS指令執(zhí)行后,(BX)=0040H, (DS)=3000H
                LES指令執(zhí)行后,(BX)=0040H, (ES)=3000H

             4 標(biāo)志寄存器傳送指令

             這組指令完成和標(biāo)志位有關(guān)的操作。

             LAHF 標(biāo)志寄存器的低字節(jié)送AH(load AH with flags) 

             SAHF AH送標(biāo)志寄存器低字節(jié)(store AH into flags)
             
             PUSHF 標(biāo)志進棧(push the flags)
             
             POPF 標(biāo)志出棧(pop the flags)
             

            注意:
               ● LAHF和SAHF指令隱含的操作寄存器是AH和FLAGS
               ● LAHF和PUSH不影響標(biāo)志位,SAHF和POPF則由裝入的值來確定標(biāo)志位的值。

            LAHF 標(biāo)志寄存器的低字節(jié)送AH(load AH with flags)
              執(zhí)行操作:
              (AH) ← (FLAGS)0-7

            SAHF AH送標(biāo)志寄存器低字節(jié)(store AH into flags)
              執(zhí)行操作:
              (FLAGS) 0-7 ← (AH)

            PUSHF 標(biāo)志進棧(push the flags)
              執(zhí)行操作:
              (SP) ← (SP)-2
              ((SP)+1,(SP)) ← (FLAGS)0-15
              
            POPF 標(biāo)志出棧(pop the flags)
              執(zhí)行操作:
              (FLAGS) 0-15 ← ((SP)+1,(SP))
              (SP) ← (SP)+2

            上一頁 1 2 下一頁

            評論


            技術(shù)專區(qū)

            關(guān)閉