彙編指令 資料處理指令之邏輯指令

2021-06-27 13:06:51 字數 2383 閱讀 8513

邏輯指令集有:and/orr/eor/bic

1)與邏輯指令一般用於置零某位:and

logical and operation.

syntax

and  rd, rn, op2

description

load rd with logical and of rn with op2. rd := rn and op2

condition flags

if s is specified, n, z flags are updated. c flag may be updated by calculation of op2.

example

and  r9,r2,#0xff00     // load r9 with r2 and value in 0xff00

area my_kano,code,readonly

code32

entry

start

loop

mvn r0, #0 ;這裡通過取反得到的r0是0xffffffff

;and r0, r0, 0xfffffff0 將r0的低四位清零,顯然這裡不是立即數,不可以直接使用

mvn r1, #0xf

and r0,r0, r1

mvn r2, #0

bic r2, r2, #0xf ;這裡直接通過bic置零指令可以直接置零想要的某一位

mvn r3, #0

bic r3, r3, #0x20 ;把第五位當想置零 0x20表示的就是0010-0000

;而0xdf表示的二進位制就是1101-1111

2)邏輯或指令:orr(或邏輯一般用於某位的置 1 )

logical or operation.

syntax

orr  rd, rn, op2

description

or operations on the values in rn and op2.

condition flags

ifsis specified, n, z flags are updated. c flag may be updated by calculation of op2.

example

orr     r2, r0, r5    // rd = r0 or r5

area my_kano,code,readonly

code32

entry

start

loop

mov r0, #0x0

mov r1, r0

orr r0, r0, #0xf ;將r0的低四位置1

orr r1, r1, #0xc0 ;將r1的第六,七位置1,要求達到 1100-0000

mov r3, #0x0

mov r4, #0x3c

eor r3, r0, #0x0 ;異或(不同才取1)

eor r4, r3, #0x3c

;;實現兩個暫存器值的交換(a = a ^ b , b = b ^ a ,a = a ^ b)

3)比較指令:cmp  /    cmn    /tst   /   teq

area my_kano,code,readonly

code32

entry

start

loop

cmp r1, #0x10 ;cpsr = r1 - 0x10

cmn r1, r2 ;反值比較 cspr = r1 + r2

tst r1, #0x3 ;位測試指令 cspr = r1 and #0x3

teq r1, r2 ;相等測試 cspr = r1 eor r2

mov r1, r2 ;資料傳輸指令 r1 = r2

mvn r1,r2 ;取反傳送指令 r1 = ~ r2

b loop

end

ARM指令集 資料處理指令

arm彙編指令集 arm彙編檔案的組成 指令 編譯完成後作為一條指令 機器碼 儲存在記憶體單元中,cpu執行時能夠完成處理的操作 偽指令 在編譯時替換成能被識別的arm指令 偽操作 知道編譯器進行編譯,編譯完成後不生成指令,也不占用記憶體空間。arm彙編指令型別 資料處理指令 跳轉指令 實現程式執行...

彙編指令之資料傳送指令續集 三

4 堆疊指令 在8086 8088系統中,堆疊實際是一段隨機訪問ram區域。稱為棧底的一端位址較大,稱為棧頂的一端位址較小。堆疊的段值在堆疊暫存器ss中 堆疊的指標暫存器sp始終指向棧頂 堆疊是以 後進先出 方式工作 堆疊的訪問必須以字為單位 16bit 2btye 堆疊的指令分為如下兩種 1 進棧...

彙編邏輯運算指令

1.否操作指令not not oprd 把oprd取反,再回送給oprd 對標誌位沒有影響 2.與操作指令and 與 and oprd1,oprd2 oprd1和oprd2執行與操作,結果送到oprd1 執行後,cf of 0,標誌pf,zf,sf反映運算結果,af未定義 某個運算元自身與,值不變,...