組合語言常用指令

2021-08-02 21:20:08 字數 1241 閱讀 5277

上次說到組合語言十分重要,所以又為了避免忘記,貼上一些常用彙編指令

@mov 指令範例

mov r1, #8

mov r2, r1

mov r3, #10

@mvn 傳送取反賦值

mvn r1, #0b10

mvn r2, #5

mvn r3, r1

@sub 減法 目的暫存器 被減數(不能是立即數) 減數

mov r2,#4

sub r1,r2,#2

mov r0,#1

sub r3,r1,r0

@add 加法 目的暫存器 兩個相加的數

add r1,r2,#3

@and 邏輯與 目的暫存器 要與的兩個數

mov r1,#5

and r2,r1,#0

mov r1,#5

and r2,r1,#1

@bic 位清零 目的暫存器 被清除物件 掩碼(為1的位進行清零)

mov r1,#0b101011

bic r2,r1,#0b101

@cmp 比較 結果儲存在cpsr(程式狀態暫存器)中

mov r1,#2

cmp r1,#1

mov r1,#2

cmp r1,#3

mov r1,#2

cmp r1,#2

@tst 測試位 兩個數按位與 看是否為0 結果存在cpsr中

mov r1,#0b101

tst r1,#0b001

mov r1,#0b101

tst r1,#0b10

@b 分支

mov r1,#6

mov r2,#5

cmp r1,r2

bgt branch

branch:

sub r3,r1,r2

end@bl 帶鏈結返回的跳轉

bl func1

func1:

mov r1,#2

mov r2,#3

mov pc,lr

@msr mrs

mrs r0,cpsr

orr r0,#0b100

msr cpsr,r0

@ldr 記憶體到暫存器

mov r0,#0xff

str r0,[r1]

ldr r2,[r1]

@str 暫存器到記憶體 暫存器 記憶體位址

mov r0,#0xff

str r0,[r1]

組合語言常用指令

第一部分 組合語言 組合語言是二進位制指令的文字形式,與二進位制指令是一一對應的關係 彙編 指令 是機器碼的助記符,經過彙編器編譯後,由cpu執行。彙編 偽指令 用來指導指令執行,是彙編器的產物,最終不會生成機器碼。常用彙編指令 1 相對跳轉指令 b bl 這兩條指令的不同之處在於bl指令除了跳轉之...

組合語言 彙編指令

功能 用來進行資料傳輸。以 mov a,b 為例,相當於a b。具有以下形式 mov 暫存器,資料 mov 暫存器,暫存器 mov 暫存器,記憶體單元 mov 記憶體單元,暫存器 mov 段暫存器,暫存器 功能 用來做加法。以 add a,b 為例,相當於a a b。具有的形式,和 mov 一樣。功...

組合語言 傳送指令

一.傳送指令 1.通用傳送指令mov mov dst,src 將src傳送到dst中 dstsrc操作位數 mem reg imm8 16 mem reg seg reg8 16 reg seg mem 8 16 mem reg seg 8 16 imm是立即數,reg是暫存器,seg是段暫存器,m...