最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

(基于ARM的)微機(jī)原理與接口技術(shù)筆記(6)

2021-10-24 12:09 作者:會(huì)整活的劍人  | 我要投稿

尋址方式(復(fù)習(xí))

操作數(shù)可以在3個(gè)地方

(1)指令含有操作數(shù) 立即數(shù)尋址

(2)處理器內(nèi)的寄存器 寄存器尋址 寄存器移位尋址

(3)存儲(chǔ)器里面

間接尋址(操作數(shù)在存儲(chǔ)器中 寄存器里面是指針)

基址尋址(指針+offset)

多寄存器尋址(寄存器組合[r0到r15])

堆棧尋址(指令里有sp 會(huì)有A/D,F/E的標(biāo)志 在ldm或stm出現(xiàn))

相對(duì)尋址

堆棧 STACK 內(nèi)存中開的一片區(qū)域 初始化時(shí)規(guī)定大小

注:新一些的ARM有push和pop指令

起始:棧底 棧指針SP(指向棧頂)

遞增棧:進(jìn)棧SP向上增長(zhǎng)

遞減棧:進(jìn)棧SP向下增長(zhǎng)

空/滿 堆棧

存儲(chǔ)器訪問

裝載LDRxx

多寄存器加載LDM 把一片連續(xù)內(nèi)存區(qū)域copy 低地址對(duì)應(yīng)小編號(hào)寄存器

存儲(chǔ)STRxx

多寄存器加載STM

后綴 A執(zhí)行后增減 B執(zhí)行前增減 I增加 D減少

舉例:

ldmfd sp!,{r0-r7,pc}^ ;`^`表示帶狀態(tài)寄存器的恢復(fù)
stmfd sp!,{r0-r7,lr}
stmfd sp!,{r0-r7,pc}

數(shù)據(jù)處理指令

只能直接操作寄存器,不能操作內(nèi)存.可以加s后綴以影響狀態(tài)寄存器.

數(shù)值傳送指令:movmvn(寄存器到寄存器/立即數(shù)到寄存器,不能訪問內(nèi)存) ?和ldr不同的是ldr從存儲(chǔ)器加載(只能訪問內(nèi)存)

mov r0,r1 ;把r0傳送給r1
mvn r0,r1 ;把r0按位取反后傳送給r1

算術(shù)運(yùn)算 邏輯運(yùn)算 位運(yùn)算

加 減 與 或 異或 格式:opcode{cond}{s} rd,rn,opcode2

add r3,r1,#0x08 ;加法 r3=r1+8
adds r3,r1,#0x08 ;影響cpsr的高4位
adc r1,r2,r1;帶進(jìn)位加法
sub r1,r2,r1;減法
rsb r1,r2,r1;逆向減法
sbc r1,r2,r1;帶進(jìn)位減法
rsc r1,r2,r1;帶進(jìn)位逆向減法
and r3,r1,#0xff ;r3=r1取低8位 r3=r1&(0xff)
orr r3,r1,r2 ;r3=r1|r2 (位或`|` 組合一些數(shù))
eor r3,r1,r2,lsl 0x03 ;r3=r1^(r2*8) `^`按位異或 有桶型移位器
bic r1,r2,#0x0f ;位清零 r1=r2&(~(0x0f))


比較

格式opcode{cond} reg,op 必然影響狀態(tài)寄存器

;假設(shè)r3=5
cmp r3,r1;數(shù)值比較 做r3-r1(減法) cpsr[31:28]NZCV 1010 影響NZCV
cmn r3,r1;做r3-(~r1)
tst r3,#0x02 ;做r3&r2(位與) 測(cè)試第2位 cpsr[31:28] NZCV 0100
teq r3,r2; 做r3^r2(位異或)影響Z不影響CV


分支(branch)指令

分支跳轉(zhuǎn)

格式B{L}{cond} <target_addr>

24位跳轉(zhuǎn)范圍 不能任意跳轉(zhuǎn) 24位擴(kuò)展到30位,左移2位,加上pc值

mov pc,r14 ;直接改pc跳轉(zhuǎn) 仿真器調(diào)試
b main;強(qiáng)制跳轉(zhuǎn)到main
bx ;跳轉(zhuǎn)切換模式A/T
bl label;把下一條指令地址放到鏈接寄存器 多用于子程序跳轉(zhuǎn) 有的處理器用call指令

ARM匯編程序

  • 指示命令

    • if else endif

    • while wend

    • {標(biāo)號(hào)} dcd {}

    • 全局變量 GBLA數(shù)值 GBLL邏輯 GBLS字符串

    • 局部變量 LCLA數(shù)值LCLL邏輯 LCLS字符串

    • 變量賦值 SETA SETL SETS

    • RLIST 寄存器組合

    • 符號(hào)定義

    • 數(shù)據(jù)定義

    • 匯編控制assembly control 條件匯編

    • 宏定義

  • 語法

    [標(biāo)號(hào)]<指令|偽指令|匯編指示指令>[;注釋]

    程序段area

area word,core,readonly
num equ 28
entry
start
ldr r0,=src
ldr r1,=dst
mov r2,#num
wordcopy
ldr r3,[r0],#4
str r3,[r1],#4
subs r2,r2,#1
bne wordcopy
stop
mov r0,#0x18
ldr r1,=0x20026
svc #0x123456
area blockdata,data,readwrite
src dcd 1,2,3,4,5
dst dcd 0,0,0,0,0
end

gitee鏈接:


(基于ARM的)微機(jī)原理與接口技術(shù)筆記(6)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
疏附县| 时尚| 贵港市| 册亨县| 西丰县| 合江县| 潮安县| 湟源县| 宝兴县| 温州市| 灵台县| 漾濞| 石嘴山市| 滨海县| 平谷区| 衡东县| 德化县| 理塘县| 曲阜市| 响水县| 镇坪县| 大田县| 榆树市| 栖霞市| 夹江县| 鹿邑县| 南涧| 西平县| 曲靖市| 田阳县| 景宁| 海晏县| 罗城| 平江县| 梨树县| 屏边| 兰西县| 丰宁| 安康市| 定兴县| 铁力市|