【方輝專欄】Armv7 M 架構(gòu)簡介(五)--寄存器
2022-10-28
摘要: 本文主要對Armv7-M架構(gòu)中指令集對寄存器進(jìn)行介紹。關(guān)鍵字:Armv7-M架構(gòu)、寄存器、偽代碼、SP、LR、PC、APSR在程序員模型下提供了以一些通用的和專用的寄存器。本文主要介紹的是寄存器,將內(nèi)存中數(shù)據(jù)加載寄存器,或?qū)⒓拇嫫鲾?shù)據(jù)存儲到內(nèi)存中這些情況。Arm核心寄存器Arm 核心寄存器有16個,其中R0-R12為通用寄存器,還有3個特殊功能寄存器。SP: 堆棧指針,用于指向正在活動的堆棧。默認(rèn)初始化位置在堆棧的頂部。SP有時也被稱作R13.LR: 鏈接寄存器,用于存儲返回鏈接。存儲的值為子程序返回地址。默認(rèn)初始化值為:OxFFFFFF。LR有時也被稱作R14。注:如果在子程序返回時重置這個值會導(dǎo)致故障,不需要子程序返回時,可以用于別的用途。PC:程序計數(shù)器。默認(rèn)初始化時為復(fù)位處理程序的起始地址。PC有時也被稱作R15。應(yīng)用程序狀態(tài)寄存器(APSR)應(yīng)用程序狀態(tài)寄存器APSR的位分配如下:Reserved是保留位,用于系統(tǒng)功能或未來擴(kuò)展。在編寫程序時需要忽略從保留位讀出的數(shù)值,在寫入時要保留其值。N,bit[31] 負(fù)號標(biāo)志位。二進(jìn)制補(bǔ)碼的有符號數(shù),如果是負(fù)數(shù)則設(shè)置為1; 如果是正數(shù)或零則設(shè)置為0。Z,bit[30] 零標(biāo)志位。如果結(jié)果是零,則設(shè)置為1,否則設(shè)置為0;結(jié)果為零通常表示比較的結(jié)果是相等。C,bit[29] 進(jìn)位標(biāo)志位。如果指令導(dǎo)致進(jìn)位,例如無符號數(shù)加法的溢出,則設(shè)置為1.V,bit[28] 溢出標(biāo)志位。如果指令導(dǎo)致溢出,例如有符號數(shù)加法的溢出,則設(shè)置為1.Q,bit[27] 如果使用SSAT或USAT指令更改輸入值為飽和則設(shè)置為1,在DSP擴(kuò)展的處理器中,處理器將此位設(shè)置為1,來表示某些乘法上的溢出。將該位設(shè)置為1稱為飽和。注:SSAT 可將有符號值飽和到有符號范圍內(nèi);USAT 可將無符號值飽和到無符號范圍內(nèi)。GE[3:0],bits[19:16] 大于或等于標(biāo)志僅用于DSP指令。使用SIMD指令可以更新這些標(biāo)志,用于指示操作的單字或半字的結(jié)果。軟件可以用這些標(biāo)志來控制后續(xù)的SEL指令。在沒有用DSP擴(kuò)展的處理器中,這些位需要被當(dāng)做保留位。來源:《Armv7-M Architecture Reference Manual 》+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++關(guān)于億道電子億道電子技術(shù)有限公司(英文名稱:Emdoor Electronics Technology Co.,Ltd)是國內(nèi)資深的研發(fā)工具軟件提供商,公司成立于 2002 年,面向中國廣大的制造業(yè)客戶提供研發(fā)、設(shè)計、管理過程中使用的各種軟件開發(fā)工具,致力于幫助客戶提高研發(fā)管理效率、縮短產(chǎn)品設(shè)計周期,提升產(chǎn)品可靠性。20 年來,先后與 Altium、ARM、Ansys、QT、Adobe、Visu-IT、Minitab、Testplant、EPLAN、HighTec、GreenHills、PLS、Ashling、MSC Software 、Autodesk、Source Insight、TeamEDA、MicroFocus等多家全球知名公司建立戰(zhàn)略合作伙伴關(guān)系,并作為他們在中國區(qū)的主要分銷合作伙伴服務(wù)了數(shù)千家中國本土客戶,為客戶提供從芯片級開發(fā)工具、EDA 設(shè)計工具、軟件編譯以及測試工具、結(jié)構(gòu)設(shè)計工具、仿真工具、電氣設(shè)計工具、以及嵌入式 GUI 工具等等。億道電子憑借多年的經(jīng)驗(yàn)積累,真正的幫助客戶實(shí)現(xiàn)了讓研發(fā)更簡單、更可靠、更高效的目標(biāo)。歡迎關(guān)注“億道電子”公眾號了解更多研發(fā)工具軟件知識
查看更多→