1
1

00:00:01,550  -->  00:00:07,770
xin chào chào mừng trở lại vì vậy hãy nói chuyện
2

2

00:00:05,160  -->  00:00:09,840
thêm một chút về trình xử lý SVC trước
3

3

00:00:07,770  -->  00:00:12,750
đi đến tầm nhìn của bạn để hoàn thành
4

4

00:00:09,840  -->  00:00:15,929
mã để khi bộ xử lý nhập
5

5

00:00:12,750  -->  00:00:20,819
Trình xử lý SVC tất nhiên nó thực thi
6

6

00:00:15,929  -->  00:00:23,789
Dịch vụ SVC được chỉ định nhưng phải làm
7

7

00:00:20,819  -->  00:00:26,819
đây là bộ xử lý phải biết SVC nào
8

8

00:00:23,789  -->  00:00:29,880
dịch vụ để thực hiện hiện tại từ chúng tôi
9

9

00:00:26,819  -->  00:00:32,430
ví dụ chúng tôi đã tuyên bố cho các dịch vụ và
10

10

00:00:29,880  -->  00:00:34,710
bộ xử lý phải biết SVC
11

11

00:00:32,430  -->  00:00:38,700
số để biết nên
12

12

00:00:34,710  -->  00:00:41,220
thực hiện theo thứ tự nào và chúng ta có thể làm điều này
13

13

00:00:38,700  -->  00:00:43,860
bằng cách nhìn vào quầy chương trình
14

14

00:00:41,220  -->  00:00:47,070
Đăng ký PC chúng ta có thể đọc giá trị
15

15

00:00:43,860  -->  00:00:49,860
từ PC và sau đó che giấu
16

16

00:00:47,070  -->  00:00:53,120
bit không mong muốn đừng lo lắng điều này nghe có vẻ
17

17

00:00:49,860  -->  00:00:56,430
bit khó hiểu nhưng bạn thấy nó trong thực tế
18

18

00:00:53,120  -->  00:00:59,070
Vì vậy, nếu chúng tôi có quyền truy cập vào PC và chúng tôi nhận được
19

19

00:00:56,430  -->  00:01:02,070
một giá trị của PC chúng ta có thể che đậy một số
20

20

00:00:59,070  -->  00:01:03,840
bit và nhận các bit mà chúng ta muốn
21

21

00:01:02,070  -->  00:01:06,090
một trong đó có thông tin hữu ích
22

22

00:01:03,840  -->  00:01:08,579
chúng ta sẽ làm điều đó trong mã nhưng
23

23

00:01:06,090  -->  00:01:10,770
Một câu hỏi khác là làm sao chúng ta biết
24

24

00:01:08,579  -->  00:01:13,770
ngăn xếp nào hiện đang được sử dụng
25

25

00:01:10,770  -->  00:01:16,950
biết bạn có thể nói vâng trước đây tôi
26

26

00:01:13,770  -->  00:01:19,560
được đề cập theo mặc định ngăn xếp chính là
27

27

00:01:16,950  -->  00:01:22,139
đang được sử dụng nhưng trong một hệ thống phức tạp như
28

28

00:01:19,560  -->  00:01:24,869
hệ điều hành chúng ta sẽ trở thành
29

29

00:01:22,139  -->  00:01:26,700
viết trong này trong khóa học này, chúng tôi
30

30

00:01:24,869  -->  00:01:29,549
sẽ có ngăn xếp chính cũng như
31

31

00:01:26,700  -->  00:01:32,399
quá trình ngăn xếp như vậy khi
32

32

00:01:29,549  -->  00:01:34,609
tình huống hoặc trường hợp bộ xử lý phải
33

33

00:01:32,399  -->  00:01:38,340
biết ngăn xếp nào hiện đang được sử dụng
34

34

00:01:34,609  -->  00:01:40,350
phải chúng ta có thể tìm thấy điều này từ liên kết
35

35

00:01:38,340  -->  00:01:42,569
đăng ký chúng tôi có thể tìm thấy thông tin của
36

36

00:01:40,350  -->  00:01:45,869
ngăn xếp hiện đang được sử dụng từ liên kết
37

37

00:01:42,569  -->  00:01:47,909
đăng ký khi bộ xử lý vào
38

38

00:01:45,869  -->  00:01:50,429
xử lý ngoại lệ hoặc ngắt
39

39

00:01:47,909  -->  00:01:53,670
dịch vụ thường xuyên giá trị của liên kết
40

40

00:01:50,429  -->  00:01:57,929
đăng ký được cập nhật với một mã được gọi là
41

41

00:01:53,670  -->  00:02:00,779
exe trả về mã này chứa
42

42

00:01:57,929  -->  00:02:04,349
trả về vị trí cho các hàm trả về
43

43

00:02:00,779  -->  00:02:06,840
chế độ và một số hướng dẫn khác nhưng
44

44

00:02:04,349  -->  00:02:11,850
điều chúng tôi quan tâm là thứ ba
45

45

00:02:06,840  -->  00:02:14,730
bit của sự trở lại exe này là bit
46

46

00:02:11,850  -->  00:02:18,760
số hai vì chúng ta đếm từ số không
47

47

00:02:14,730  -->  00:02:20,920
một hai ba bit thứ ba nếu bit
48

48

00:02:18,760  -->  00:02:24,459
số hai là bit thứ ba là 0
49

49

00:02:20,920  -->  00:02:27,430
nó có nghĩa là quay trở lại quá trình stack và nếu
50

50

00:02:24,459  -->  00:02:31,120
bit số 2 là 1 có nghĩa là quay trở lại
51

51

00:02:27,430  -->  00:02:33,459
ngăn xếp chính về cơ bản nếu bit là 1 nó
52

52

00:02:31,120  -->  00:02:35,410
có nghĩa là sau khi bạn chạy xong
53

53

00:02:33,459  -->  00:02:38,620
mã trong ngoại lệ hoặc
54

54

00:02:35,410  -->  00:02:41,349
dịch vụ thường xuyên bị gián đoạn trở lại
55

55

00:02:38,620  -->  00:02:44,319
quá trình ngăn xếp và nếu muốn có nghĩa là trở lại
56

56

00:02:41,349  -->  00:02:46,239
đến ngăn xếp chính sau khi ngắt
57

57

00:02:44,319  -->  00:02:48,280
dịch vụ thường xuyên hoặc ngoại lệ có
58

58

00:02:46,239  -->  00:02:52,780
được phục vụ tôi cũng cần lưu ý rằng
59

59

00:02:48,280  -->  00:02:56,830
bit thứ tư ở số 3 và giống nhau
60

60

00:02:52,780  -->  00:02:59,650
trả lại exe mà không được chỉ định
61

61

00:02:56,830  -->  00:03:02,110
ở đây nó có thể được sử dụng để nói
62

62

00:02:59,650  -->  00:03:03,970
bộ xử lý sẽ trở về chế độ nào
63

63

00:03:02,110  -->  00:03:05,560
có quay trở lại chế độ luồng hay không
64

64

00:03:03,970  -->  00:03:08,200
chế độ xử lý nhưng chúng tôi không
65

65

00:03:05,560  -->  00:03:10,720
quan tâm đến thông tin như vậy chưa
66

66

00:03:08,200  -->  00:03:14,220
sẽ trong vòng tay sẽ không áp đảo chính chúng ta
67

67

00:03:10,720  -->  00:03:14,220
với các bit khác
