0
1
00:00:03,320 --> 00:00:06,250
我們在前面的部分中已經提到了寄存器。
1

2
00:00:06,260 --> 00:00:10,830
最後，我們開始討論它們。皮質M寄存器庫
2

3
00:00:10,880 --> 00:00:17,930
由16個寄存器組成。其中13個是通用寄存器，三個是特殊功能
3

4
00:00:17,940 --> 00:00:24,260
寄存器。通用寄存器分為低位寄存器和高位寄存器。
4

5
00:00:24,380 --> 00:00:33,420
較低的寄存器從R0到R7，然後R8到R12是較高的寄存器。一般
5

6
00:00:33,420 --> 00:00:41,940
專用寄存器的範圍為R0至R12，其中包含數據和地址。 R13是
6

7
00:00:41,970 --> 00:00:47,430
被稱為堆棧指針寄存器，它指向股票的頂部元素。
7

8
00:00:47,490 --> 00:00:54,600
稍後我們將討論堆棧。 R14被稱為鏈接寄存器，用於存儲返回值
8

9
00:00:54,600 --> 00:01:00,270
函數的位置。 R15被稱為程序計數器，
9

10
00:01:00,630 --> 00:01:08,300
它是可讀和可寫的。讀返回當前指令地址加四。並寫入程序計數器
10

11
00:01:08,300 --> 00:01:11,710
導致分支運行。
11

12
00:01:11,760 --> 00:01:19,230
當我們開始在彙編中編碼時，我們會看到這一點。除了登記銀行中的登記簿之外，
12

13
00:01:19,230 --> 00:01:26,140
有許多特殊寄存器。這些寄存器包含程序狀態和已定義的操作
13

14
00:01:26,140 --> 00:01:28,020
聲明一個中斷。
14

15
00:01:28,390 --> 00:01:36,400
通常，我們僅在開發高度複雜和低級的應用程序時訪問這些寄存器，例如
15

16
00:01:36,490 --> 00:01:45,820
作為嵌入式操作系統。這些寄存器是程序狀態寄存器PSR，三個中斷異常
16

17
00:01:45,820 --> 00:01:54,340
寄存器，它們是primask，故障掩碼和basePRI。和一個處理器控制寄存器
17

18
00:01:54,450 --> 00:01:55,020
這裡。
18

19
00:01:56,500 --> 00:02:00,250
現在讓我們看一下程序狀態寄存器。
19

20
00:02:00,250 --> 00:02:07,330
我們不會談論其他四個特殊寄存器。但是當我們編碼時，我們發現
20

21
00:02:07,330 --> 00:02:13,640
我們可能需要更改那些寄存器中的內容，我們將給出詳細的解釋。
21

22
00:02:13,960 --> 00:02:26,380
因此，讓我們深入了解程序狀態寄存器PSR。該寄存器由三個狀態寄存器組成。
22

23
00:02:27,240 --> 00:02:35,600
應用程序狀態寄存器，執行程序狀態寄存器和中斷程序狀態
23

24
00:02:35,720 --> 00:02:45,640
寄存器。這些寄存器可以單獨訪問，也可以作為PSR組合訪問
24

25
00:02:45,700 --> 00:02:46,040
.
