mirror of
https://github.com/MPSU/APS.git
synced 2025-09-16 01:30:10 +00:00
BREAKING CHANGE! Сдвиг нумерации в лабах
Лабу по дейзи-цепочке необходимо вставить сразу после лабы по интеграции контроллера прерываний, поэтому приходится увеличить нумерацию оставшихся лаб.
This commit is contained in:
@@ -0,0 +1,599 @@
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
||||
5f5e5d5c
|
||||
63626160
|
||||
67666564
|
||||
6b6a6968
|
||||
6f6e6d6c
|
||||
73727170
|
||||
77767574
|
||||
7b7a7978
|
||||
7f7e7d7c
|
||||
03020100
|
||||
07060504
|
||||
0b0a0908
|
||||
0f0e0d0c
|
||||
13121110
|
||||
17161514
|
||||
1b1a1918
|
||||
1f1e1d1c
|
||||
23222120
|
||||
27262524
|
||||
2b2a2928
|
||||
2f2e2d2c
|
||||
33323130
|
||||
37363534
|
||||
3b3a3938
|
||||
3f3e3d3c
|
||||
43424140
|
||||
47464544
|
||||
4b4a4948
|
||||
4f4e4d4c
|
||||
53525150
|
||||
57565554
|
||||
5b5a5958
|
@@ -0,0 +1,128 @@
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00011110000100000001000000010000000100000001000000010000000100000001000000010000000111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000010000000100000000000000010000000100000001000000010000000100000001000000010000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010100000101000001010000000000000000
|
||||
00000000000000000000000000000000000100100001001000111111000100100001001000010010001111110001001000010010000000000000000000000000
|
||||
00000000000000000000000000000100000011100001000100010001000100000001000000001110000000010001000100010001000011100000010000000000
|
||||
00000000000000000000000000100000010100000101000100100010000001000000100000010000001000100100010100000101000000100000000000000000
|
||||
00000000000000000000000000000000010011100011000100100001001100010100101001001100000100100001001000010010000011000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000010000000100000000000000000
|
||||
00000000000000000000000000000100000000100000000100000001000000010000000100000001000000010000000100000010000001000000000000000000
|
||||
00000000000000000000000000000001000000100000010000000100000001000000010000000100000001000000010000000010000000010000000000000000
|
||||
00000000000000000000000000000000000000000000000000010010000011000011111100001100000100100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000100000001000001111100000100000001000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000001000000100000001000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000111100000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000010000000100000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000010000000100000010000000100000010000000100000010000000100000010000000100000000000000000000
|
||||
00000000000000000000000000000000000111100010000100100011001001010010010100101001001010010011000100100001000111100000000000000000
|
||||
00000000000000000000000000000000000010000000100000001000000010000000100000001000000010010000101000001100000010000000000000000000
|
||||
00000000000000000000000000000000001111110000000100000001000000100000010000001000000100000010000000100001000111100000000000000000
|
||||
00000000000000000000000000000000000111100010000100100000001000000010000000011100001000000010000000100001000111100000000000000000
|
||||
00000000000000000000000000000000000100000001000000010000000100000011111100010001000100100001010000011000000100000000000000000000
|
||||
00000000000000000000000000000000000111100010000100100000001000000010000000011111000000010000000100000001001111110000000000000000
|
||||
00000000000000000000000000000000000111100010000100100001001000010010000100011111000000010000000100000010000111000000000000000000
|
||||
00000000000000000000000000000000000001000000010000000100000001000000100000010000001000000010000000100000001111110000000000000000
|
||||
00000000000000000000000000000000000111100010000100100001001000010010000100011110001000010010000100100001000111100000000000000000
|
||||
00000000000000000000000000000000000111100010000100100000001000000010000000111110001000010010000100100001000111100000000000000000
|
||||
00000000000000000000000000000000000000010000000100000000000000000000000000000001000000010000000000000000000000000000000000000000
|
||||
00000000000000000000000000000001000000100000001000000000000000000000000000000010000000100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000100000000100000000100000000100000000100000010000001000000100000010000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000001111110000000000111111000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000010000001000000100000010000001000000001000000001000000001000000001000000000000000000000000
|
||||
00000000000000000000000000000000000001000000010000000000000001000000100000010000001000000010000100100001000111100000000000000000
|
||||
00000000000000000000000000000000011111000000001001111001101001011011100110100001100110010100001000111100000000000000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001001000010011111100100001001000010010000100100001000111100000000000000000
|
||||
00000000000000000000000000000000000111110010000100100001001000010010000100011111001000010010000100100001000111110000000000000000
|
||||
00000000000000000000000000000000000111100010000100000001000000010000000100000001000000010000000100100001000111100000000000000000
|
||||
00000000000000000000000000000000000011110001000100100001001000010010000100100001001000010010000100010001000011110000000000000000
|
||||
00000000000000000000000000000000001111110000000100000001000000010000000100001111000000010000000100000001001111110000000000000000
|
||||
00000000000000000000000000000000000000010000000100000001000000010000000100001111000000010000000100000001001111110000000000000000
|
||||
00000000000000000000000000000000000111100010000100100001001000010011100100000001000000010000000100100001000111100000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001001000010010000100111111001000010010000100100001001000010000000000000000
|
||||
00000000000000000000000000000000000000010000000100000001000000010000000100000001000000010000000100000001000000010000000000000000
|
||||
00000000000000000000000000000000000111100010000100100001001000000010000000100000001000000010000000100000001000000000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001000100010000100100000111000010010001000100100001001000010000000000000000
|
||||
00000000000000000000000000000000001111110000000100000001000000010000000100000001000000010000000100000001000000010000000000000000
|
||||
00000000000000000000000000000000010000010100000101000001010000010100000101001001010010010101010101100011010000010000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001001000010010000100110001001010010010010100100011001000010000000000000000
|
||||
00000000000000000000000000000000000111100010000100100001001000010010000100100001001000010010000100100001000111100000000000000000
|
||||
00000000000000000000000000000000000000010000000100000001000000010000000100011111001000010010000100100001000111110000000000000000
|
||||
00000000000000000000000000100000001111100011000100101001001000010010000100100001001000010010000100100001000111100000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001001000010001000100011111001000010010000100100001000111110000000000000000
|
||||
00000000000000000000000000000000000111100010000100100000001000000001000000001100000000100000000100100001000111100000000000000000
|
||||
00000000000000000000000000000000000010000000100000001000000010000000100000001000000010000000100000001000011111110000000000000000
|
||||
00000000000000000000000000000000000111100010000100100001001000010010000100100001001000010010000100100001001000010000000000000000
|
||||
00000000000000000000000000000000000010000000100000010100000101000010001000100010010000010100000101000001010000010000000000000000
|
||||
00000000000000000000000000000000010000010110001101010101010010010100100101001001010000010100000101000001010000010000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001000100100000110000001100000100100010000100100001001000010000000000000000
|
||||
00000000000000000000000000000000000010000000100000001000000010000000100000010100001000100010001001000001010000010000000000000000
|
||||
00000000000000000000000000000000001111110000000100000001000000100000010000001000000100000010000000100000001111110000000000000000
|
||||
00000000000000000000000000000111000000010000000100000001000000010000000100000001000000010000000100000001000001110000000000000000
|
||||
00000000000000000000000000000000000100000001000000001000000010000000010000000100000000100000001000000001000000010000000000000000
|
||||
00000000000000000000000000000111000001000000010000000100000001000000010000000100000001000000010000000100000001110000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000010100000010000000000
|
||||
00000000000000000011111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000001000000010000000000000000
|
||||
00000000000000000000000000000000001111100010000100100001001000010011111000100000000111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000111110010000100100001001000010010000100100001000111110000000100000001000000010000000000000000
|
||||
00000000000000000000000000000000000111100010000100000001000000010000000100100001000111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000001111100010000100100001001000010010000100100001001111100010000000100000001000000000000000000000
|
||||
00000000000000000000000000000000000111100010000100000001001111110010000100100001000111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000100000001000000010000000100000001000001111000000100000001000100010000111000000000000000000
|
||||
00000000000111100010000100100000001011100011000100100001001000010010000100100001000111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001001000010010000100100001000111110000000100000001000000010000000000000000
|
||||
00000000000000000000000000000000000000010000000100000001000000010000000100000001000000010000000000000001000000000000000000000000
|
||||
00000000000011100001000100010001000100000001000000010000000100000001000000010000000100000000000000010000000000000000000000000000
|
||||
00000000000000000000000000000000001000010010000100010001000011110001000100100001001000010000000100000001000000010000000000000000
|
||||
00000000000000000000000000000000000000100000000100000001000000010000000100000001000000010000000100000001000000010000000000000000
|
||||
00000000000000000000000000000000010000010100100101001001010010010100100101001001001101110000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000001000010010000100100001001000010010000100100001000111110000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000111100010000100100001001000010010000100100001000111100000000000000000000000000000000000000000
|
||||
00000000000000010000000100000001000111110010000100100001001000010010000100100001000111110000000000000000000000000000000000000000
|
||||
00000000001000000010000000100000001111100010000100100001001000010010000100100001001111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000010000000100000001000000010000000100000011000111010000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000111100010000100100000000111100000000100100001000111100000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000110000000010000000100000001000000010000000100000111110000010000000100000000000000000000000000
|
||||
00000000000000000000000000000000001111100010000100100001001000010010000100100001001000010000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000010000001010000010100001000100010001001000001010000010000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000001000100101010101001001010010010100100101000001010000010000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000010000010010001000010100000010000001010000100010010000010000000000000000000000000000000000000000
|
||||
00000000000011110001000000100000001011100011000100100001001000010010000100100001001000010000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000001111110000000100000010000001000000100000010000001111110000000000000000000000000000000000000000
|
||||
00000000000000000000000000011000000001000000010000000100000001000000001100000100000001000000010000000100000110000000000000000000
|
||||
00000000000000000000000000000000000000010000000100000001000000010000000100000000000000010000000100000001000000010000000000000000
|
||||
00000000000000000000000000000011000001000000010000000100000001000001100000000100000001000000010000000100000000110000000000000000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011001001001100000000000000000
|
||||
00000000000000000000000001100000001000000010000000101100000001000000110000001100000000000000001100000101000001010000001100000000
|
@@ -0,0 +1,33 @@
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000010010000100111111001000010001001000010010000011000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000111110010000100100001000111110000000100000001000111110
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000111110010000100100001000111110001000100010001000011110
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000001000000010000000100000001001111110
|
||||
00000000000000000000000000000000000000000000000000000000000000000100000101111111001000010010001000100010001001000010010000111100
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001111110000000100000001000011110000000100000001001111110
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001111110000000100000001000011110000000100111111000100100
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001001001010010010010101000011100001010100100100101001001
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000111100010000100100000000111000010000000100010000111000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000110010010100100101001010010010100100110001001100010
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000110010010100101001001100010010000100001100000100100
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000010001000100010001000011110000010100001001000100010
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000010010000100100010001000100010010000100100001111000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001001001010010010101010101010101011000110110001101000001
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000010010000100100001001111110010000100100001001000010
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000011100001000100100001001000010010000100100010000111000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000010010000100100001001000010010000100100001001111110
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000010000000100001111000100010010000100100001000111110
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000111000010001000000001000000010000000100100010000111000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000100000001000000010000000100001111111
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000000010000001000000100000011000001001000100001001000010
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000001000001111100100100101001001010010010011111000001000
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000010010000100010010000011000001001000100001001000010
|
||||
00000000000000000000000000000000000000000000000000000000000000000100000001111110001000100010001000100010001000100010001000100010
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000000010000000101110001100010010000100100001001000010
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001111111010010010100100101001001010010010100100101001001
|
||||
00000000000000000000000000000000000000000000000000000000000000000100000001111111010010010100100101001001010010010100100101001001
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000111100010001000100010001000100001111000000010000000111
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001001111010100010101000101010001010011110100000101000001
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000011110001000100010001000100010000111100000001000000010
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000011100001000100100000001111000010000000010001000011100
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000000011001001001010100010101000111010001010100100100110001
|
||||
00000000000000000000000000000000000000000000000000000000000000000000000001000010010001000111110001000010010000100100010001111000
|
@@ -0,0 +1,600 @@
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
||||
a0a0a0a0
|
@@ -0,0 +1,43 @@
|
||||
030000b7
|
||||
04000137
|
||||
0e000193
|
||||
0f000213
|
||||
00e00413
|
||||
00f00493
|
||||
00000593
|
||||
00100293
|
||||
30429073
|
||||
03400293
|
||||
00028293
|
||||
30529073
|
||||
00000063
|
||||
0000a383
|
||||
04338263
|
||||
04438c63
|
||||
00700333
|
||||
00435313
|
||||
00612223
|
||||
00f3f393
|
||||
00712023
|
||||
00b04c63
|
||||
00012a23
|
||||
00012823
|
||||
00012623
|
||||
00012423
|
||||
00300513
|
||||
000005b3
|
||||
00356513
|
||||
02a12023
|
||||
30200073
|
||||
00812a23
|
||||
00012823
|
||||
03056513
|
||||
02a12023
|
||||
00158593
|
||||
30200073
|
||||
00912623
|
||||
00012423
|
||||
00c56513
|
||||
02a12023
|
||||
00158593
|
||||
30200073
|
@@ -0,0 +1,17 @@
|
||||
030000b7
|
||||
07000137
|
||||
070011b7
|
||||
96018193
|
||||
00100293
|
||||
30429073
|
||||
02400293
|
||||
30529073
|
||||
00000063
|
||||
0000a383
|
||||
00038403
|
||||
00810023
|
||||
00110113
|
||||
00315463
|
||||
30200073
|
||||
07000137
|
||||
30200073
|
@@ -0,0 +1,23 @@
|
||||
00000000
|
||||
00000000
|
||||
00000000
|
||||
007E0900
|
||||
00000000
|
||||
00317100
|
||||
737A0000
|
||||
00327761
|
||||
64786300
|
||||
00333465
|
||||
66762000
|
||||
00357274
|
||||
68626E00
|
||||
00367967
|
||||
6A6D0000
|
||||
00383775
|
||||
696B2C00
|
||||
0039306F
|
||||
6C2F2E00
|
||||
002D703B
|
||||
00270000
|
||||
00003D5B
|
||||
5D0D0000
|
@@ -0,0 +1,20 @@
|
||||
050000b7
|
||||
04000137
|
||||
0001c1b7
|
||||
20018193
|
||||
0030a623
|
||||
00100213
|
||||
0040a823
|
||||
00100293
|
||||
30429073
|
||||
03400293
|
||||
00028293
|
||||
30529073
|
||||
00000063
|
||||
0000a383
|
||||
00700333
|
||||
00435313
|
||||
00612223
|
||||
00f3f393
|
||||
00712023
|
||||
30200073
|
@@ -0,0 +1,31 @@
|
||||
050000b7
|
||||
02000137
|
||||
0001c1b7
|
||||
20018193
|
||||
0030a623
|
||||
00100213
|
||||
0040a823
|
||||
000011b7
|
||||
d0d18193
|
||||
00008237
|
||||
f7f20213
|
||||
0ff00493
|
||||
00100313
|
||||
00100293
|
||||
30429073
|
||||
04c00293
|
||||
00028293
|
||||
30529073
|
||||
00000063
|
||||
0000a383
|
||||
00947433
|
||||
00841413
|
||||
00746433
|
||||
00340863
|
||||
00440a63
|
||||
00812023
|
||||
30200073
|
||||
00612223
|
||||
30200073
|
||||
02612223
|
||||
30200073
|
@@ -0,0 +1,18 @@
|
||||
050000b7
|
||||
06000137
|
||||
0001c1b7
|
||||
20018193
|
||||
0030a623
|
||||
00312623
|
||||
00100213
|
||||
0040a823
|
||||
00412823
|
||||
00100293
|
||||
30429073
|
||||
03c00293
|
||||
00028293
|
||||
30529073
|
||||
00000063
|
||||
0000a383
|
||||
00712023
|
||||
30200073
|
@@ -0,0 +1,22 @@
|
||||
010000b7
|
||||
02000137
|
||||
0000b1b7
|
||||
aaa18193
|
||||
00005237
|
||||
55520213
|
||||
00100313
|
||||
00100293
|
||||
30429073
|
||||
03400293
|
||||
00028293
|
||||
30529073
|
||||
00000063
|
||||
0000a383
|
||||
00338863
|
||||
00438a63
|
||||
00712023
|
||||
30200073
|
||||
00612223
|
||||
30200073
|
||||
02612223
|
||||
30200073
|
65
Labs/13. Peripheral units/firmware/software/ps2_hex.S
Normal file
65
Labs/13. Peripheral units/firmware/software/ps2_hex.S
Normal file
@@ -0,0 +1,65 @@
|
||||
_start:
|
||||
# Инициализируем начальные значения регистров
|
||||
0: 030000b7 li x1 , 0x03000000 # сохраняем базовый адрес клавиатуры
|
||||
4: 04000137 li x2 , 0x04000000 # сохраняем базовый адрес хекс-контроллера
|
||||
8: 0e000193 li x3 , 0x000000e0 # сохраняем сканкод e0
|
||||
c: 0f000213 li x4 , 0x000000f0 # сохраняем сканкод f0
|
||||
10: 00e00413 li x8 , 0x0000000e # сохраняем значение e
|
||||
14: 00f00493 li x9 , 0x0000000f # сохраняем значение f
|
||||
18: 00000593 li x11, 0x00000000 # сохраняем ноль
|
||||
1c: 00100293 li x5 , 0x00000001 # подготавливаем маску прерывания единственного
|
||||
# (нулевого) входа
|
||||
20: 30429073 csrw mie, x5 # загружаем маску в регистр маски
|
||||
24: 03400293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
|
||||
28: 00028293 # только в случае la — это число является адресом
|
||||
# указанного места (адреса обработчика перехвата)
|
||||
# данная псевдоинструкция будет разбита на две
|
||||
# инструкции: lui и addi
|
||||
2c: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
|
||||
|
||||
# Вызов функции main
|
||||
main:
|
||||
30: 00000063 beq x0, x0, main # бесконечный цикл, аналогичный while (1);
|
||||
|
||||
# ОБРАБОТЧИК ПЕРЕХВАТА
|
||||
# Без стороннего вмешательства процессор никогда не перейдет к инструкциям ниже,
|
||||
# однако в случае прерывания в программный счетчик будет загружен адрес первой
|
||||
# нижележащей инструкции.
|
||||
# Сохраняем используемые регистры на стек
|
||||
trap_handler:
|
||||
34: 0000a383 lw x7, 0(x1) # загружаем сканкод
|
||||
38: 04338263 beq x7, x3, print_e0 # если сканкод e0, отображаем с помощью print_e0
|
||||
3c: 04438c63 beq x7, x4, print_f0 # если сканкод f0, отображаем с помощью print_f0
|
||||
40: 00700333 add x6, x0, x7 # дублируем сканкод
|
||||
44: 00435313 srl x6, x6, 4 # сдвигаем на 4, чтобы получить старший нибл
|
||||
48: 00612223 sw x6, 4(x2) # записываем старший нибл в первый семисегментник
|
||||
4c: 00f3f393 andi x7, x7, 0xf # маскируем с f, чтобы получить младший нибл
|
||||
50: 00712023 sw x7, 0(x2) # записываем младший нибл в нулевой семисегментник
|
||||
54: 00b04c63 blt x0, x11, print_code # пропускаем обнуление старших хексов
|
||||
58: 00012a23 sw x0, 20(x2)
|
||||
5c: 00012823 sw x0, 16(x2) # обнуляем 2-5 семисегментники
|
||||
60: 00012623 sw x0, 12(x2)
|
||||
64: 00012423 sw x0, 8(x2)
|
||||
68: 00300513 addi x10, x0, 3
|
||||
|
||||
print_code:
|
||||
6c: 000005b3 add x11, x0, x0 # обнуляем счетчик
|
||||
70: 00356513 ori x10, x10, 3 # инициализируем маску, включающую 2 младших хекса
|
||||
74: 02a12023 sw x10, 32(x2) # записываем маску
|
||||
78: 30200073 mret # возвращаем управление программе (pc = mepc)
|
||||
# что означает возврат в бесконечный цикл
|
||||
print_e0:
|
||||
7c: 00812a23 sw x8, 20(x2) # записываем e в 5ый семисегментник
|
||||
80: 00012823 sw x0, 16(x2) # записываем 0 в 4ый семисегментник
|
||||
84: 03056513 ori x10, x10, 0x30 # включаем отображение 4-5 хексов в маске
|
||||
88: 02a12023 sw x10, 32(x2) # записываем маску
|
||||
8c: 00158593 addi x11, x11, 1 # инкрементируем счетчик
|
||||
90: 30200073 mret
|
||||
|
||||
print_f0:
|
||||
94: 00912623 sw x9, 12(x2) # записываем f в 3ый семисегментник
|
||||
98: 00012423 sw x0, 8(x2) # записываем 0 в 2ый семисегментник
|
||||
9c: 00c56513 ori x10, x10, 0xc # включаем отображение 3-2 хексов в маске
|
||||
a0: 02a12023 sw x10, 32(x2) # записываем маску
|
||||
a4: 00158593 addi x11, x11, 1 # инкрементируем счетчик
|
||||
a8: 30200073 mret
|
37
Labs/13. Peripheral units/firmware/software/ps2_vga.S
Normal file
37
Labs/13. Peripheral units/firmware/software/ps2_vga.S
Normal file
@@ -0,0 +1,37 @@
|
||||
_start:
|
||||
# Инициализируем начальные значения регистров
|
||||
0: 030000b7 li x1, 0x03000000 # сохраняем базовый адрес клавиатуры
|
||||
4: 07000137 li x2, 0x07000000 # сохраняем базовый адрес vga-контроллера
|
||||
8: 070011b7 li x3, 0x07000960 # количество символов на экране
|
||||
c: # данная псевдоинструкция будет разбита на две
|
||||
# инструкции: lui и addi
|
||||
10: 96018193 li x5, 0x00000001 # подготавливаем маску прерывания единственного
|
||||
# (нулевого) входа
|
||||
14: 00100293 csrw mie, x5 # загружаем маску в регистр маски
|
||||
18: 30429073 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
|
||||
# только в случае la — это число является адресом
|
||||
# указанного места (адреса обработчика перехвата)
|
||||
# данная псевдоинструкция будет разбита на две
|
||||
# инструкции: lui и addi
|
||||
1c: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
|
||||
|
||||
# Вызов функции main
|
||||
main:
|
||||
20: 00000063 beq x0, x0, main # бесконечный цикл, аналогичный while (1);
|
||||
|
||||
# ОБРАБОТЧИК ПЕРЕХВАТА
|
||||
# Без стороннего вмешательства процессор никогда не перейдет к инструкциям ниже,
|
||||
# однако в случае прерывания в программный счетчик будет загружен адрес первой
|
||||
# нижележащей инструкции.
|
||||
# Сохраняем используемые регистры на стек
|
||||
trap_handler:
|
||||
24: 0000a383 lw x7, 0(x1) # загружаем сканкод
|
||||
28: 00038403 lb x8, 0(x7) # берем данные из таблицы подстановки
|
||||
2c: 00812023 sw x8, 0(x2) # загружаем ascii-значение в vga
|
||||
30: 00110113 addi x2, x2, 1 # инкрементируем адрес vga
|
||||
34: 00315463 bge x2, x3, wrap_addr # если адрес vga вышел за границы, то обнуляем
|
||||
38: 30200073 mret # возвращаем управление программе (pc = mepc)
|
||||
# что означает возврат в бесконечный цикл
|
||||
wrap_addr:
|
||||
3c: 07000137 li x2, 0x07000000 # сохраняем базовый адрес vga-контроллера
|
||||
40: 30200073 mret
|
34
Labs/13. Peripheral units/firmware/software/rx_hex.S
Normal file
34
Labs/13. Peripheral units/firmware/software/rx_hex.S
Normal file
@@ -0,0 +1,34 @@
|
||||
_start:
|
||||
# Инициализируем начальные значения регистров
|
||||
0: 050000b7 li x1 , 0x05000000 # сохраняем базовый адрес uart_rx
|
||||
4: 04000137 li x2 , 0x04000000 # сохраняем базовый адрес хекс-контроллера
|
||||
8: 0001c1b7 li x3 , 0x0001c200 # устанавливаем бодрейт 115200
|
||||
c: 20018193
|
||||
10: 0030a623 sw x3 , 0x0c(x1)
|
||||
14: 00100213 li x4 , 0x00000001 # устанавливаем parity_bit
|
||||
18: 0030a823 sw x4 , 0x10(x1)
|
||||
1c: 00100293 li x5 , 0x00000001 # подготавливаем маску прерывания единственного
|
||||
# (нулевого) входа
|
||||
20: 30429073 csrw mie, x5 # загружаем маску в регистр маски
|
||||
24: 03400293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
|
||||
28: 00028293 # только в случае la — это число является адресом
|
||||
# указанного места (адреса обработчика перехвата)
|
||||
# данная псевдоинструкция будет разбита на две
|
||||
# инструкции: lui и addi
|
||||
2c: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
|
||||
# Вызов функции main
|
||||
main:
|
||||
30: 00000063 beq x0, x0, main # бесконечный цикл, аналогичный while (1);
|
||||
# ОБРАБОТЧИК ПЕРЕХВАТА
|
||||
# Без стороннего вмешательства процессор никогда не перейдет к инструкциям ниже,
|
||||
# однако в случае прерывания в программный счетчик будет загружен адрес первой
|
||||
# нижележащей инструкции.
|
||||
# Сохраняем используемые регистры на стек
|
||||
trap_handler:
|
||||
34: 0000a383 lw x7, 0(x1) # загружаем пришедший байт
|
||||
38: 00700333 add x6, x0, x7 # дублируем сканкод
|
||||
3c: 00435313 srl x6, x6, 4 # сдвигаем на 4, чтобы получить старший нибл
|
||||
40: 00612223 sw x6, 4(x2) # записываем старший нибл в первый семисегментник
|
||||
44: 00f3f393 andi x7, x7, 0xf # маскируем с f, чтобы получить младший нибл
|
||||
48: 00712023 sw x7, 0(x2) # записываем младший нибл в нулевой семисегментник
|
||||
4c: 30200073 mret
|
50
Labs/13. Peripheral units/firmware/software/rx_led.S
Normal file
50
Labs/13. Peripheral units/firmware/software/rx_led.S
Normal file
@@ -0,0 +1,50 @@
|
||||
_start:
|
||||
# Инициализируем начальные значения регистров
|
||||
0: 050000b7 li x1, 0x05000000 # сохраняем базовый адрес uart_rx
|
||||
4: 02000137 li x2, 0x02000000 # сохраняем базовый адрес светодиодов
|
||||
8: 0001c1b7 li x3, 0x0001c200 # устанавливаем бодрейт 115200
|
||||
c: 20018193
|
||||
10: 0030a623 sw x3, 0x0c(x1)
|
||||
14: 00100213 li x4, 0x00000001 # устанавливаем parity_bit
|
||||
18: 0040a823 sw x4, 0x10(x1)
|
||||
1c: 000011b7 li x3, 0x00000D0D # сохраняем спец-код для режима моргания
|
||||
20: d0d18193
|
||||
24: 00008237 li x4, 0x00000808 # сохраняем спец-код для сброса
|
||||
28: f7f20213
|
||||
2c: 0ff00493 li x9, 0x000000ff # сохраняем маску для обнуления старшей части
|
||||
30: 00100313 li x6, 0x00000001 # сохраняем единицу
|
||||
34: 00100293 li x5, 0x00000001 # подготавливаем маску прерывания единственного
|
||||
# (нулевого) входа
|
||||
38: 30429073 csrw mie, x5 # загружаем маску в регистр маски
|
||||
|
||||
3c: 04c00293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
|
||||
40: 00028293 # только в случае la — это число является адресом
|
||||
40: 00028293 # указанного места (адреса обработчика перехвата)
|
||||
# данная псевдоинструкция будет разбита на две
|
||||
# инструкции: lui и addi
|
||||
44: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
|
||||
# Вызов функции main
|
||||
main:
|
||||
48: 00000063 beq x0, x0, main # бесконечный цикл, аналогичный while (1);
|
||||
# ОБРАБОТЧИК ПЕРЕХВАТА
|
||||
# Без стороннего вмешательства процессор никогда не перейдет к инструкциям ниже,
|
||||
# однако в случае прерывания в программный счетчик будет загружен адрес первой
|
||||
# нижележащей инструкции.
|
||||
# Сохраняем используемые регистры на стек
|
||||
trap_handler:
|
||||
4c: 0000a383 lw x7, 0(x1) # загружаем значение из uart rx
|
||||
50: 00947433 and x8, x8, x9 # обнуляем старые 3 байта
|
||||
54: 00841413 slli x8, x8, 8 # Сдвигаем регистр x8 на 1 байт влево
|
||||
58: 00746433 or x8, x8, x7 # записываем считанный из rx байт на освободившееся место
|
||||
5c: 00340863 beq x8, x3, blink_mode # если пришел спец-код моргания, переходим в blink_mode
|
||||
60: 00440a63 beq x8, x4, reset # если пришел спец-код сброса, переходим в reset
|
||||
64: 00812023 sw x8, 0(x2) # записываем значением с переключателей в светодиоды
|
||||
68: 30200073 mret # возвращаем управление программе (pc = mepc)
|
||||
# что означает возврат в бесконечный цикл
|
||||
blink_mode:
|
||||
6c: 00612223 sw x6, 4(x2) # записываем 1 в led_mode
|
||||
70: 30200073 mret
|
||||
|
||||
reset:
|
||||
74: 02612223 sw x6, 0x24(x2) # записываем 1 в led_reset
|
||||
78: 30200073 mret
|
32
Labs/13. Peripheral units/firmware/software/rx_tx.S
Normal file
32
Labs/13. Peripheral units/firmware/software/rx_tx.S
Normal file
@@ -0,0 +1,32 @@
|
||||
_start:
|
||||
# Инициализируем начальные значения регистров
|
||||
0: 050000b7 li x1 , 0x05000000 # сохраняем базовый адрес uart_rx
|
||||
4: 06000137 li x2 , 0x06000000 # сохраняем базовый адрес uart_tx
|
||||
8: 0001c1b7 li x3 , 0x0001c200 # устанавливаем бодрейт 115200
|
||||
c: 20018193
|
||||
10: 0030a623 sw x3 , 0x0c(x1)
|
||||
14: 00312623 sw x3 , 0x0c(x2)
|
||||
18: 00100213 li x4 , 0x00000001 # устанавливаем parity_bit
|
||||
1c: 0040a823 sw x4 , 0x10(x1)
|
||||
20: 00412823 sw x4 , 0x10(x2)
|
||||
24: 00100293 li x5 , 0x00000001 # подготавливаем маску прерывания единственного
|
||||
# (нулевого) входа
|
||||
28: 30429073 csrw mie, x5 # загружаем маску в регистр маски
|
||||
2c: 03c00293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
|
||||
30: 00028293 # только в случае la — это число является адресом
|
||||
# указанного места (адреса обработчика перехвата)
|
||||
# данная псевдоинструкция будет разбита на две
|
||||
# инструкции: lui и addi
|
||||
34: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
|
||||
# Вызов функции main
|
||||
main:
|
||||
38: 00000063 beq x0, x0, main # бесконечный цикл, аналогичный while (1);
|
||||
# ОБРАБОТЧИК ПЕРЕХВАТА
|
||||
# Без стороннего вмешательства процессор никогда не перейдет к инструкциям ниже,
|
||||
# однако в случае прерывания в программный счетчик будет загружен адрес первой
|
||||
# нижележащей инструкции.
|
||||
# Сохраняем используемые регистры на стек
|
||||
trap_handler:
|
||||
3c: 0000a383 lw x7, 0(x1) # загружаем пришедший байт
|
||||
40: 00712023 sw x7, 0(x2)
|
||||
44: 30200073 mret
|
40
Labs/13. Peripheral units/firmware/software/sw_led.S
Normal file
40
Labs/13. Peripheral units/firmware/software/sw_led.S
Normal file
@@ -0,0 +1,40 @@
|
||||
_start:
|
||||
# Инициализируем начальные значения регистров
|
||||
0: 010000b7 li x1, 0x01000000 # сохраняем базовый адрес переключателей
|
||||
4: 02000137 li x2, 0x02000000 # сохраняем базовый адрес светодиодов
|
||||
8: 0000b1b7 li x3, 0x0000aaaa # сохраняем спец-код для режима моргания
|
||||
c: aaa18193
|
||||
10: 00005237 li x4, 0x00005555 # сохраняем спец-код для сброса
|
||||
14: 55520213
|
||||
18: 00100313 li x6, 0x00000001 # сохраняем единицу
|
||||
1c: 00100293 li x5, 0x00000001 # подготавливаем маску прерывания единственного
|
||||
# (нулевого) входа
|
||||
20: 30429073 csrw mie, x5 # загружаем маску в регистр маски
|
||||
24: 03400293 la x5, trap_handler # псевдоинструкция la аналогично li загружает число,
|
||||
28: 00028293 # только в случае la — это число является адресом
|
||||
# указанного места (адреса обработчика перехвата)
|
||||
# данная псевдоинструкция будет разбита на две
|
||||
# инструкции: lui и addi
|
||||
2c: 30529073 csrw mtvec, x5 # устанавливаем вектор прерывания
|
||||
# Вызов функции main
|
||||
main:
|
||||
30: 00000063 beq x0, x0, main # бесконечный цикл, аналогичный while (1);
|
||||
# ОБРАБОТЧИК ПЕРЕХВАТА
|
||||
# Без стороннего вмешательства процессор никогда не перейдет к инструкциям ниже,
|
||||
# однако в случае прерывания в программный счетчик будет загружен адрес первой
|
||||
# нижележащей инструкции.
|
||||
# Сохраняем используемые регистры на стек
|
||||
trap_handler:
|
||||
34: 0000a383 lw x7, 0(x1) # загружаем значение на переключателях
|
||||
38: 00338863 beq x7, x3, blink_mode # если пришел спец-код моргания, переходим в blink_mode
|
||||
3c: 00438a63 beq x7, x4, reset # если пришел спец-код сброса, переходим в reset
|
||||
40: 00712023 sw x7, 0(x2) # записываем значением с переключателей в светодиоды
|
||||
44: 30200073 mret # возвращаем управление программе (pc = mepc)
|
||||
# что означает возврат в бесконечный цикл
|
||||
blink_mode:
|
||||
48: 00612223 sw x6, 4(x2) # записываем 1 в led_mode
|
||||
4c: 30200073 mret
|
||||
|
||||
reset:
|
||||
50: 02612223 sw x6, 0x24(x2) # записываем 1 в led_reset
|
||||
54: 30200073 mret
|
Reference in New Issue
Block a user