Last change
on this file since 444 was
444,
checked in by satin@…, 6 years ago
|
add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc
|
File size:
1.8 KB
|
Line | |
---|
1 | .file "memset.S" |
---|
2 | |
---|
3 | .section .text |
---|
4 | .global _memset |
---|
5 | .type _memset,@function |
---|
6 | _memset: |
---|
7 | movm [d2,d3,a2,a3], (sp) |
---|
8 | .Lend_of_prologue: |
---|
9 | mov d0, d3 |
---|
10 | mov d1, d2 |
---|
11 | mov (28, sp),a1 |
---|
12 | mov d3, a0 |
---|
13 | #ifndef __OPTIMIZE_SIZE__ |
---|
14 | cmp 3, a1 |
---|
15 | bls .L41 |
---|
16 | btst 3, d3 |
---|
17 | bne .L41 |
---|
18 | extbu d2 |
---|
19 | mov d2, d1 |
---|
20 | asl 8, d1 |
---|
21 | or d2, d1 |
---|
22 | mov d1, d0 |
---|
23 | asl 16, d0 |
---|
24 | or d0, d1 |
---|
25 | cmp 15, a1 |
---|
26 | bls .L36 |
---|
27 | setlb |
---|
28 | mov d1, (a0) |
---|
29 | inc4 a0 |
---|
30 | mov d1, (a0) |
---|
31 | inc4 a0 |
---|
32 | mov d1, (a0) |
---|
33 | inc4 a0 |
---|
34 | mov d1, (a0) |
---|
35 | inc4 a0 |
---|
36 | add -16, a1 |
---|
37 | cmp 15, a1 |
---|
38 | lhi |
---|
39 | .L36: |
---|
40 | cmp 3, a1 |
---|
41 | bls .L41 |
---|
42 | setlb |
---|
43 | mov d1, (a0) |
---|
44 | inc4 a0 |
---|
45 | add -4, a1 |
---|
46 | cmp 3, a1 |
---|
47 | lhi |
---|
48 | .L41: |
---|
49 | #endif |
---|
50 | cmp 0, a1 |
---|
51 | beq .Lepilogue |
---|
52 | setlb |
---|
53 | movbu d2, (a0) |
---|
54 | inc a0 |
---|
55 | sub 1, a1 |
---|
56 | lne |
---|
57 | .Lepilogue: |
---|
58 | mov d3,a0 |
---|
59 | ret [d2,d3,a2,a3], 16 |
---|
60 | .Lend_of_memset: |
---|
61 | .size _memset, .Lend_of_memset - _memset |
---|
62 | |
---|
63 | .section .debug_frame,"",@progbits |
---|
64 | .Lstart_of_debug_frame: |
---|
65 | # Common Information Entry (CIE) |
---|
66 | .4byte .Lend_of_CIE - .Lstart_of_CIE # CIE Length |
---|
67 | .Lstart_of_CIE: |
---|
68 | .4byte 0xffffffff # CIE Identifier Tag |
---|
69 | .byte 0x1 # CIE Version |
---|
70 | .ascii "\0" # CIE Augmentation |
---|
71 | .uleb128 0x1 # CIE Code Alignment Factor |
---|
72 | .sleb128 -4 # CIE Data Alignment Factor |
---|
73 | .byte 0x32 # CIE RA Column |
---|
74 | .byte 0xc # DW_CFA_def_cfa |
---|
75 | .uleb128 0x9 |
---|
76 | .uleb128 0x0 |
---|
77 | .byte 0xb2 # DW_CFA_offset, column 0x32 |
---|
78 | .uleb128 0x0 |
---|
79 | .align 2 |
---|
80 | .Lend_of_CIE: |
---|
81 | |
---|
82 | # Frame Description Entry (FDE) |
---|
83 | .4byte .Lend_of_FDE - .Lstart_of_FDE # FDE Length |
---|
84 | .Lstart_of_FDE: |
---|
85 | .4byte .Lstart_of_debug_frame # FDE CIE offset |
---|
86 | .4byte _memset # FDE initial location |
---|
87 | .4byte .Lend_of_memset - _memset # FDE address range |
---|
88 | .byte 0x4 # DW_CFA_advance_loc4 |
---|
89 | .4byte .Lend_of_prologue - _memset |
---|
90 | .byte 0xe # DW_CFA_def_cfa_offset |
---|
91 | .uleb128 0x4 |
---|
92 | .byte 0x87 # DW_CFA_offset, column 0x7 |
---|
93 | .uleb128 0x1 |
---|
94 | .align 2 |
---|
95 | .Lend_of_FDE: |
---|
Note: See
TracBrowser
for help on using the repository browser.