Page 17 - ARMMbedOS物聯網實戰應用超入門
P. 17
ARM Mbed OS 物聯網實戰應用超入門
1 ༶ၑόً࿒ᅲπኜAPSR: Application Program Status Registersjᜑ
ͪ༶ၑܝًٙ࿒ᅺdνڌ 1-4 הͪf
表 1-4 運算程式狀態暫存器(APSR)
名稱 位元 說明 功能
N 31 Negative 負值旗標:運算結果為負值(Negative)時,顯示 N=1。
Z 30 Zero 零旗標:運算結果為零(Zero)時,顯示 Z=1。
Carry 進位旗標:加法時,若有進位 C=1,若無進位 C=0。
C 29 /Borrow 借位旗標:減法時,若有借位 C=1,若無借位 C=0。
/Extend 擴充旗標:資科是否有擴充,有 C=1,無 C=0。
OV 28 Overflow 溢位旗標:運算結果溢位時,會顯示 OV=1。
2 ʕᓙόً࿒ᅲπኜIPSR: 表 1-5 中斷程式狀態暫存器(IPSR)
Interrupt Program Status 名稱 位元 功能
Registerj ί IPSR[5-0] ͜ 0 = Thread mode(處理器用)
ᜑͪͦۃੂБࡳԬʕᓙ 1 = 保留
2 = NMI(不可遮罩中斷)
ਕόISR: Interrupt Service 3 = HardFault(處理器用)
Routinedνڌ 1-5 הͪf Exception 11 = SVCall(Supervisor Call)
Number 5-0 4-10= 保留,12-13= 保留
3 ੂБόً࿒ᅲπኜEPSR: 中斷向量
編號 14 = PendSV(OS 用)
Execution Program Status 15 = SysTick(系統計時器)
RegisterjՉʕ EPSR[24]=T 16 = IRQ0(中斷要求 0)
47 = IRQ31(中斷要求 31)
މᜑͪ Thumb ً࿒Зʩ 48-63 = 保留
6 中斷優先遮罩暫存器(PRIMASK: Priority Mask Register)
1 PRIMASK[0] =0 ࣛdೌЪ͜f
2 PRIMASK[0] =1 ࣛd̙ଡ଼࿒הϞٙʕᓙᎴഃॴf
7 控制暫存器(CONTROL: Control Register)
່֛ͦ͜ۃהԴ਼ٙ͜ᛌܸᅺᅲπኜSPf
1 CONTROL[1]=0 ࣛdԴ͜˴਼ᛌܸᅺᅲπኜMSP: Main Stack Pointerf
2 CONTROL[1]=1 ࣛdԴ͜ஈଣኜ਼ᛌܸᅺᅲπኜPSP: Process Stack Pointerf
1-10