欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解匯編語言RCL(帶進位循環(huán)左移)和RCR(帶進位循環(huán)右移)指令

 更新時間:2020年01月14日 11:44:56   作者:匯編語言  
這篇文章主要介紹了匯編語言RCL(帶進位循環(huán)左移)和RCR(帶進位循環(huán)右移)指令的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

匯編語言是依賴于計算機的低級的程序設計語言。

RCL(帶進位循環(huán)左移)指令把每一位都向左移,進位標志位復制到 LSB,而 MSB 復制到進位標志位:

如果把進位標志位當作操作數(shù)最高位的附加位,那么 RCL 就成了循環(huán)左移操作。下面的例子中,CLC 指令清除進位標志位。第一條 RCL 指令將 BL 最高位移入進位標志位,其他位都向左移一位。第二條 RCL 指令將進位標志位移入最低位,其他位都向左移一位:

clc                             ; CF = 0
mov bl, 88h              ; CF,BL = 0 1000100Ob
rcl bl, 1                     ; CF,BL = 1 00010000b
rcl b1, 1                    ; CF,BL = 0 00100001b

從進位標志位恢復位

RCL 可以恢復之前移入進位標志位的位。下面的例子把 testval 的最低位移入進位標志位,并對其進行檢查。如果 testval 的最低位為 1,則程序跳轉(zhuǎn);如果最低位為 0,則用 RCL 將該數(shù)恢復為初始值:

.data
testval BYTE 01101010b
.code
shr testval, 1          ; 將lsb移入進位標志位
jc exit                     ; 如果該標志位置 1,則退出
rcl testval, 1           ; 否則恢復該數(shù)原值

RCR 指令

RCR(帶進位循環(huán)右移)指令把每一位都向右移,進位標志位復制到 MSB,而 LSB 復制到進位標志位:

從上圖來看,RCL 指令將該整數(shù)轉(zhuǎn)化成了一個 9 位值,進位標志位位于 LSB 的右邊。下面的示例代碼用 STC 將進位標志位置 1,然后,對 AH 寄存器執(zhí)行一次帶進位循環(huán)右移操作:

stc                            ; CF = 1
mov ah, 10h             ; AH, CF = 00010000 1
rcr ah, 1                    ; AH, CF = 10001000 0

有符號數(shù)溢出

如果有符號數(shù)循環(huán)移動一位生成的結(jié)果超過了目的操作數(shù)的有符號數(shù)范圍,則溢出標志位置 1。換句話說,即該數(shù)的符號位取反。下例中,8 位寄存器中的正數(shù)(+127)循環(huán)左移后變?yōu)樨摂?shù)(-2):

mov al, +127          ; AL = 01111111b
rol al, 1                   ; OF = 1, AL = 11111110b

同樣,-128 向右移動一位,溢出標志位置 1。AL 中的結(jié)果(+64)符號位與原數(shù)相反:

mov al, -128           ; AL = 10000000b
shr al, 1                  ; OF = 1, AL = 01000000b

如果循環(huán)移動次數(shù)大于 1,則溢出標志位無定義。

總結(jié)

以上所述是小編給大家介紹的匯編語言RCL(帶進位循環(huán)左移)和RCR(帶進位循環(huán)右移)指令,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 匯編語言AND指令實現(xiàn)對兩個操作數(shù)進行邏輯(按位)與操作

    匯編語言AND指令實現(xiàn)對兩個操作數(shù)進行邏輯(按位)與操作

    這篇文章主要介紹了匯編語言AND指令實現(xiàn)對兩個操作數(shù)進行邏輯(按位)與操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 匯編語言指令集學習CMPXCHG比較并交換操作指令詳解

    匯編語言指令集學習CMPXCHG比較并交換操作指令詳解

    這篇文章主要為大家介紹了匯編語言指令集學習CMPXCHG比較并交換操作的指令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 使用匯編語言實現(xiàn)if else 循環(huán)函數(shù)調(diào)用的具體方法

    使用匯編語言實現(xiàn)if else 循環(huán)函數(shù)調(diào)用的具體方法

    這篇文章主要介紹了使用匯編語言實現(xiàn)if else 循環(huán)函數(shù)調(diào)用的具體方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 匯編語言MIPS指令分類及尋址模式原理概念

    匯編語言MIPS指令分類及尋址模式原理概念

    這篇文章主要為大家介紹了匯編語言MIPS指令分類及尋址模式的原理及概念,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 匯編語言存儲及寄存器原理解析

    匯編語言存儲及寄存器原理解析

    這篇文章主要介紹了匯編語言存儲及寄存器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 詳解匯編語言 dup偽指令

    詳解匯編語言 dup偽指令

    dup它有多種意義,包括Linux c 函數(shù)、C語言函數(shù)DUP、匯編指令、化學物質(zhì)DUP。這篇文章主要介紹了匯編語言 dup偽指令的相關(guān)知識,需要的朋友可以參考下
    2020-01-01
  • 8086匯編語言nasm版本

    8086匯編語言nasm版本

    這篇文章主要介紹了8086匯編語言nasm版本,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 匯編實現(xiàn)直接插入排序的方法示例

    匯編實現(xiàn)直接插入排序的方法示例

    這篇文章主要介紹了匯編實現(xiàn)直接插入排序的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 在vs2017中編寫匯編的實現(xiàn)(圖文)

    在vs2017中編寫匯編的實現(xiàn)(圖文)

    這篇文章主要介紹了在vs2017中編寫匯編的實現(xiàn)(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • x86匯編DOS編程環(huán)境搭建過程

    x86匯編DOS編程環(huán)境搭建過程

    在學習x86匯編時,第一步是搭建一個可以編譯、運行代碼的環(huán)境,這個搭建方法也真的超簡單,本文重點給大家介紹x86匯編DOS編程環(huán)境搭建過程,感興趣的朋友一起看看吧
    2021-11-11

最新評論