-
Notifications
You must be signed in to change notification settings - Fork 2
/
copyvec.lst
63 lines (53 loc) · 1.45 KB
/
copyvec.lst
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
copyvec.elf: file format elf32-littlearm
Disassembly of section .text:
20000000 <start>:
start: LDR R0,=intvec
20000000: 4817 ldr r0, [pc, #92] ; (20000060 <shortvec+0x10>)
LDR R1,=shortvec
20000002: 4918 ldr r1, [pc, #96] ; (20000064 <shortvec+0x14>)
MOV R2,#8
20000004: 2208 movs r2, #8
BL copyvec
20000006: f000 f801 bl 2000000c <copyvec>
B start
2000000a: e7f9 b.n 20000000 <start>
2000000c <copyvec>:
copyvec: PUSH {R4,R5}
2000000c: b430 push {r4, r5}
MOV R3, #0
2000000e: 2300 movs r3, #0
20000010 <copyvec1>:
copyvec1: CMP R3,R2
20000010: 4293 cmp r3, r2
BGE copyvec2
20000012: da06 bge.n 20000022 <copyvec2>
LSL R5, R3,#1
20000014: 005d lsls r5, r3, #1
LDRSH R4,[R1,R5]
20000016: 5f4c ldrsh r4, [r1, r5]
SXTH R4,R4
20000018: b224 sxth r4, r4
LSL R5,R3,#2
2000001a: 009d lsls r5, r3, #2
STR R4,[R0,R5]
2000001c: 5144 str r4, [r0, r5]
ADD R3,R3,#1
2000001e: 3301 adds r3, #1
B copyvec1
20000020: e7f6 b.n 20000010 <copyvec1>
20000022 <copyvec2>:
copyvec2: POP {R4,R5}
20000022: bc30 pop {r4, r5}
BX LR
20000024: 4770 bx lr
20000026: 46c0 nop ; (mov r8, r8)
...
20000030 <intvec>:
...
20000050 <shortvec>:
20000050: 00020001 .word 0x00020001
20000054: 00040003 .word 0x00040003
20000058: fffeffff .word 0xfffeffff
2000005c: fffcfffd .word 0xfffcfffd
20000060: 20000030 .word 0x20000030
20000064: 20000050 .word 0x20000050