1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
build/lrsc.elf: file format elf32-littleriscv
Disassembly of section .crt_section:
80000000 <trap_entry-0x20>:
80000000: 06c0006f j 8000006c <_start>
80000004: 00000013 nop
80000008: 00000013 nop
8000000c: 00000013 nop
80000010: 00000013 nop
80000014: 00000013 nop
80000018: 00000013 nop
8000001c: 00000013 nop
80000020 <trap_entry>:
80000020: 30002ef3 csrr t4,mstatus
80000024: 080efe93 andi t4,t4,128
80000028: 000e8a63 beqz t4,8000003c <notExternalInterrupt>
8000002c: 00002eb7 lui t4,0x2
80000030: 800e8e93 addi t4,t4,-2048 # 1800 <trap_entry-0x7fffe820>
80000034: 300e9073 csrw mstatus,t4
80000038: 30200073 mret
8000003c <notExternalInterrupt>:
8000003c: 34102ef3 csrr t4,mepc
80000040: 004e8e93 addi t4,t4,4
80000044: 341e9073 csrw mepc,t4
80000048: 30200073 mret
8000004c <flush>:
8000004c: 200002b7 lui t0,0x20000
80000050: 00001337 lui t1,0x1
80000054: 02000393 li t2,32
80000058 <flushLoop>:
80000058: 0002ae03 lw t3,0(t0) # 20000000 <trap_entry-0x60000020>
8000005c: 006282b3 add t0,t0,t1
80000060: fff38393 addi t2,t2,-1
80000064: fe039ae3 bnez t2,80000058 <flushLoop>
80000068: 00008067 ret
8000006c <_start>:
8000006c: 00100e13 li t3,1
80000070: 10000537 lui a0,0x10000
80000074: 06400593 li a1,100
80000078: 06500613 li a2,101
8000007c: 06600693 li a3,102
80000080: 00d52023 sw a3,0(a0) # 10000000 <trap_entry-0x70000020>
80000084: 18b5262f sc.w a2,a1,(a0)
80000088: 00100713 li a4,1
8000008c: 18e61863 bne a2,a4,8000021c <fail>
80000090: 00052703 lw a4,0(a0)
80000094: 18e69463 bne a3,a4,8000021c <fail>
80000098 <test2>:
80000098: 00200e13 li t3,2
8000009c: 10000537 lui a0,0x10000
800000a0: 00450513 addi a0,a0,4 # 10000004 <trap_entry-0x7000001c>
800000a4: 06700593 li a1,103
800000a8: 06800613 li a2,104
800000ac: 06900693 li a3,105
800000b0: 00d52023 sw a3,0(a0)
800000b4: 18b5262f sc.w a2,a1,(a0)
800000b8: 00100713 li a4,1
800000bc: 16e61063 bne a2,a4,8000021c <fail>
800000c0: 00052703 lw a4,0(a0)
800000c4: 14e69c63 bne a3,a4,8000021c <fail>
800000c8: f85ff0ef jal ra,8000004c <flush>
800000cc: 00052703 lw a4,0(a0)
800000d0: 14e69663 bne a3,a4,8000021c <fail>
800000d4 <test3>:
800000d4: 00300e13 li t3,3
800000d8: 10000537 lui a0,0x10000
800000dc: 00450513 addi a0,a0,4 # 10000004 <trap_entry-0x7000001c>
800000e0: 06700593 li a1,103
800000e4: 06800613 li a2,104
800000e8: 06900693 li a3,105
800000ec: 18b5262f sc.w a2,a1,(a0)
800000f0: 00100713 li a4,1
800000f4: 12e61463 bne a2,a4,8000021c <fail>
800000f8: 00052703 lw a4,0(a0)
800000fc: 12e69063 bne a3,a4,8000021c <fail>
80000100: f4dff0ef jal ra,8000004c <flush>
80000104: 00052703 lw a4,0(a0)
80000108: 10e69a63 bne a3,a4,8000021c <fail>
8000010c <test4>:
8000010c: 00400e13 li t3,4
80000110: 10000537 lui a0,0x10000
80000114: 00850513 addi a0,a0,8 # 10000008 <trap_entry-0x70000018>
80000118: 06a00593 li a1,106
8000011c: 06b00613 li a2,107
80000120: 06c00693 li a3,108
80000124: 00d52023 sw a3,0(a0)
80000128: 100527af lr.w a5,(a0)
8000012c: 18b5262f sc.w a2,a1,(a0)
80000130: 0ed79663 bne a5,a3,8000021c <fail>
80000134: 0e061463 bnez a2,8000021c <fail>
80000138: 00052703 lw a4,0(a0)
8000013c: 0ee59063 bne a1,a4,8000021c <fail>
80000140: f0dff0ef jal ra,8000004c <flush>
80000144: 00052703 lw a4,0(a0)
80000148: 0ce59a63 bne a1,a4,8000021c <fail>
8000014c <test5>:
8000014c: 00500e13 li t3,5
80000150: 10000537 lui a0,0x10000
80000154: 00850513 addi a0,a0,8 # 10000008 <trap_entry-0x70000018>
80000158: 06d00593 li a1,109
8000015c: 06e00613 li a2,110
80000160: 06f00693 li a3,111
80000164: 00d52023 sw a3,0(a0)
80000168: 18b5262f sc.w a2,a1,(a0)
8000016c: 0a060863 beqz a2,8000021c <fail>
80000170: 00052703 lw a4,0(a0)
80000174: 0ae69463 bne a3,a4,8000021c <fail>
80000178: ed5ff0ef jal ra,8000004c <flush>
8000017c: 00052703 lw a4,0(a0)
80000180: 08e69e63 bne a3,a4,8000021c <fail>
80000184: 00700e13 li t3,7
80000188: 10000537 lui a0,0x10000
8000018c: 01450513 addi a0,a0,20 # 10000014 <trap_entry-0x7000000c>
80000190: 07800593 li a1,120
80000194: 07900613 li a2,121
80000198: 07a00693 li a3,122
8000019c: 01000e93 li t4,16
800001a0 <test7>:
800001a0: 00d52023 sw a3,0(a0)
800001a4: 100527af lr.w a5,(a0)
800001a8: 18b5262f sc.w a2,a1,(a0)
800001ac: 06d79863 bne a5,a3,8000021c <fail>
800001b0: 06061663 bnez a2,8000021c <fail>
800001b4: 00052703 lw a4,0(a0)
800001b8: 06e59263 bne a1,a4,8000021c <fail>
800001bc: fffe8e93 addi t4,t4,-1
800001c0: 00450513 addi a0,a0,4
800001c4: 00358593 addi a1,a1,3
800001c8: 00360613 addi a2,a2,3
800001cc: 00368693 addi a3,a3,3
800001d0: fc0e98e3 bnez t4,800001a0 <test7>
800001d4 <test9>:
800001d4: 00900e13 li t3,9
800001d8: 10000537 lui a0,0x10000
800001dc: 10050513 addi a0,a0,256 # 10000100 <trap_entry-0x6fffff20>
800001e0: 07b00593 li a1,123
800001e4: 07c00613 li a2,124
800001e8: 07d00693 li a3,125
800001ec: 00d52023 sw a3,0(a0)
800001f0: 100527af lr.w a5,(a0)
800001f4: 00000073 ecall
800001f8: 18b527af sc.w a5,a1,(a0)
800001fc: 00000713 li a4,0
80000200: 00e79e63 bne a5,a4,8000021c <fail>
80000204: 00052703 lw a4,0(a0)
80000208: 00e59a63 bne a1,a4,8000021c <fail>
8000020c: e41ff0ef jal ra,8000004c <flush>
80000210: 00052703 lw a4,0(a0)
80000214: 00e59463 bne a1,a4,8000021c <fail>
80000218: 0100006f j 80000228 <pass>
8000021c <fail>:
8000021c: f0100137 lui sp,0xf0100
80000220: f2410113 addi sp,sp,-220 # f00fff24 <pass+0x700ffcfc>
80000224: 01c12023 sw t3,0(sp)
80000228 <pass>:
80000228: f0100137 lui sp,0xf0100
8000022c: f2010113 addi sp,sp,-224 # f00fff20 <pass+0x700ffcf8>
80000230: 00012023 sw zero,0(sp)
80000234: 00000013 nop
80000238: 00000013 nop
8000023c: 00000013 nop
80000240: 00000013 nop
80000244: 00000013 nop
80000248: 00000013 nop
|