├── .gitignore
├── .hgtags
├── CONTRIBUTING.adoc
├── Makefile
├── README.adoc
├── armasm-hl.xml
├── c-hl.xml
├── code
├── add-mem.s
├── add-ram.s
├── csum.c
├── csum.lds
├── flash-ram.lds
├── main.s
├── startup.s
├── strlen.s
├── sum-data.lds
├── sum-data.s
├── sum-sub.s
└── sum.s
├── csections.dia
├── docbook.conf
├── docbook.xsl
├── flash-ram-mm.dia
├── gnu-eprog-revhistory.xml
├── gnu-eprog.asciidoc
├── images
├── blank.png
├── caution.png
├── caution.svg
├── draft.png
├── home.png
├── home.svg
├── important.png
├── important.svg
├── next.png
├── next.svg
├── note.png
├── note.svg
├── prev.png
├── prev.svg
├── tip.png
├── tip.svg
├── toc-blank.png
├── toc-minus.png
├── toc-plus.png
├── up.png
├── up.svg
├── warning.png
└── warning.svg
├── linker.dia
├── relocation.dia
├── rss.xsl
├── sections.dia
├── stack.dia
├── style.css
├── upload.lftp
└── xslthl-config.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | *~
2 | *.swp
3 | *.html
4 | *.png
5 | revision.rss
6 | gnu-eprog.xml
7 |
--------------------------------------------------------------------------------
/.hgtags:
--------------------------------------------------------------------------------
1 | f714bdca445389a274b4a84bb14c874e7f922cd7 0.1.0
2 | 67bdc74810d373f74fc46a5d420f7ebe75045027 0.2.0
3 | 06977448985148c030fa0d5b1ebefe25bba8b2a6 0.3.0
4 | 06977448985148c030fa0d5b1ebefe25bba8b2a6 0.3.0
5 | 0000000000000000000000000000000000000000 0.3.0
6 | 0000000000000000000000000000000000000000 0.3.0
7 | 4714f4e341a4e65819432bd4a39655ec092bca24 0.3.0
8 |
--------------------------------------------------------------------------------
/CONTRIBUTING.adoc:
--------------------------------------------------------------------------------
1 | = Contributing to the Tutorial
2 |
3 | == Contributing
4 |
5 | Like every other open source project, we gladly accept
6 | contributions. Sections that need help have been marked with
7 | FIXMEs. All contributions will be duly credited in the credits page.
8 |
9 | This document's source is maintained in a public git repo located at
10 | https://github.com/bravegnu/gnu-eprog To contribute to the project,
11 | fork the project on github and send in a pull request.
12 |
13 | The document is written in
14 | http://www.methods.co.nz/asciidoc/[asciidoc], and converted to HTML
15 | using the http://docbook.sourceforge.net/[docbook-xsl] stylesheets.
16 |
17 | * Fork this repo into your GitHub account.
18 |
19 | * Install required software, for Debian / Ubuntu, use the following command.
20 | +
21 | ------
22 | sudo apt install asciidoc docbook libsaxon-java libxslthl-java imgsizer dia
23 | ------
24 | +
25 | * Clone your repo.
26 | +
27 | ------
28 | git clone -o gh https://github.com/yourname/gnu-eprog
29 | cd gnu-eprog
30 | ------
31 | +
32 | * Make your changes.
33 |
34 | * Push you changes with `git`. Do use desriptive comments in your
35 | commits.
36 |
37 | * Send pull request to `gnu-eprog` maintainer, to review your
38 | changes and merge them into `master` `gnu-eprog` branch.
39 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | images = flash-ram-mm.png \
2 | linker.png \
3 | relocation.png \
4 | sections.png \
5 | stack.png \
6 | csections.png
7 |
8 | htmls = arm-iset.html \
9 | asm-directives.html \
10 | data-in-ram.html \
11 | index.html \
12 | using-ram.html \
13 | arm-lab.html \
14 | copyright.html \
15 | lds.html \
16 | arm-prog-model.html \
17 | hello-arm.html \
18 | linker.html \
19 | c-startup.html \
20 | exc-handle.html \
21 | contributing.html \
22 | credits.html \
23 | c-library.html \
24 | inline-assembly.html \
25 | arm-stacks.html
26 |
27 | sources = code/sum.s code/strlen.s code/sum-sub.s code/main.s
28 |
29 | # available multilanguage versions see lang-*.conf files
30 | # use make ALANG=ru override for translated version build
31 | ALANG = en
32 |
33 | all: $(htmls) $(images) revision.rss
34 |
35 | gnu-eprog.epub: gnu-eprog.asciidoc $(images)
36 | a2x -d book -f epub $<
37 |
38 | $(htmls): gnu-eprog.xml
39 | java -cp "/usr/share/java/saxon.jar:/usr/share/java/xslthl.jar" \
40 | -Dxslthl.config="file://$(PWD)/xslthl-config.xml" \
41 | com.icl.saxon.StyleSheet gnu-eprog.xml docbook.xsl
42 | imgsizer $(htmls)
43 | -tidy --quiet -m $(htmls) 2> /dev/null
44 |
45 | revision.rss: gnu-eprog.xml
46 | xsltproc rss.xsl gnu-eprog.xml | tr -s "\n" > revision.rss
47 |
48 | %.xml: %.asciidoc $(sources)
49 | asciidoc -a lang=$(ALANG) -b docbook $<
50 |
51 | %.png: %.dia
52 | dia --export=$@ --filter=png-libart $<
53 |
54 | clean:
55 | rm -f *.html
56 | rm -f gnu-eprog.xml
57 | rm -f $(images)
58 |
59 | distclean: clean
60 | find . -name "*~" -exec rm -f {} ";"
61 |
62 | upload:
63 | lftp -f upload.lftp
64 |
--------------------------------------------------------------------------------
/README.adoc:
--------------------------------------------------------------------------------
1 | = Embedded Programming using the GNU Toolchain
2 |
3 | This is a short tutorial on using the GNU toolchain for bare metal
4 | programming. The tutorial uses Qemu to simulate an ARM board, and
5 | provides instructions to test programs within the simulated
6 | machine. The following topics will be covered.
7 |
8 | * Writing assembly language programs
9 | * Using make for build automation
10 | * Writing linker scripts
11 | * Writing C Startup code
12 | * Using the C library
13 | * Inline Assembler
14 |
15 | The tutorial is written in asciidoc. The asciidoc source is converted
16 | to DocBook and then rendered to HTML.
17 |
18 | The instructions to build the documentation on Debian Jessie is given
19 | below.
20 |
21 | ------
22 | # apt-get install openjdk-7-jre libsaxon-java libxslthl-java docbookxsl asciidoc imgsizer dia
23 | $ make
24 | ------
25 |
26 | The official rendered version of the is book is available from
27 | http://www.bravegnu.org/gnu-eprog/
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/armasm-hl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ;;
5 |
6 |
7 | @
8 |
9 | "
10 | \
11 |
12 |
13 | #0x
14 |
15 |
16 |
17 | 0x
18 |
19 |
20 |
21 | #
22 | .
23 |
24 |
25 |
26 |
27 | .
28 |
29 |
30 |
31 |
32 |
33 | MULTILINE
34 | ^[a-zA-Z0-9_]+[:]
35 |
36 |
37 |
38 | .
39 | data
40 | text
41 | global
42 | asciz
43 | space
44 | align
45 | skip
46 | equ
47 | 4byte
48 | 2byte
49 | byte
50 |
51 |
--------------------------------------------------------------------------------
/c-hl.xml:
--------------------------------------------------------------------------------
1 |
2 |
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 | 0x
45 | ul
46 | lu
47 | u
48 | l
49 |
50 |
51 |
52 | .
53 |
54 | e
55 | ul
56 | lu
57 | u
58 | f
59 | l
60 |
61 |
62 |
63 | auto
64 | _Bool
65 | break
66 | case
67 | char
68 | _Complex
69 | const
70 | continue
71 | default
72 | do
73 | double
74 | else
75 | enum
76 | extern
77 | float
78 | for
79 | goto
80 | if
81 | _Imaginary
82 | inline
83 | int
84 | long
85 | register
86 | restrict
87 | return
88 | short
89 | signed
90 | sizeof
91 | static
92 | struct
93 | switch
94 | typedef
95 | union
96 | unsigned
97 | void
98 | volatile
99 | while
100 |
101 |
--------------------------------------------------------------------------------
/code/add-mem.s:
--------------------------------------------------------------------------------
1 | .data
2 | val1: .4byte 10 @ First number
3 | val2: .4byte 30 @ Second number
4 | result: .4byte 0 @ 4 byte space for result
5 |
6 | .text
7 | .align
8 | start:
9 | ldr r0, =val1 @ r0 = &val1
10 | ldr r1, =val2 @ r1 = &val2
11 |
12 | ldr r2, [r0] @ r2 = *r0
13 | ldr r3, [r1] @ r3 = *r1
14 |
15 | add r4, r2, r3 @ r4 = r2 + r3
16 |
17 | ldr r0, =result @ r0 = &result
18 | str r4, [r0] @ *r0 = r4
19 |
20 | stop: b stop
21 |
--------------------------------------------------------------------------------
/code/add-ram.s:
--------------------------------------------------------------------------------
1 | .data
2 | val1: .4byte 10 @ First number
3 | val2: .4byte 30 @ Second number
4 | result: .space 4 @ 1 byte space for result
5 |
6 | .text
7 |
8 | ;; Copy data to RAM.
9 | start:
10 | ldr r0, =flash_sdata
11 | ldr r1, =ram_sdata
12 | ldr r2, =data_size
13 |
14 | copy:
15 | ldrb r4, [r0], #1
16 | strb r4, [r1], #1
17 | subs r2, r2, #1
18 | bne copy
19 |
20 | ;; Add and store result.
21 | ldr r0, =val1 @ r0 = &val1
22 | ldr r1, =val2 @ r1 = &val2
23 |
24 | ldr r2, [r0] @ r2 = *r0
25 | ldr r3, [r1] @ r3 = *r1
26 |
27 | add r4, r2, r3 @ r4 = r2 + r3
28 |
29 | ldr r0, =result @ r0 = &result
30 | str r4, [r0] @ *r0 = r4
31 |
32 | stop: b stop
33 |
--------------------------------------------------------------------------------
/code/csum.c:
--------------------------------------------------------------------------------
1 | static int arr[] = { 1, 10, 4, 5, 6, 7 };
2 | static int sum;
3 | static const int n = sizeof(arr) / sizeof(arr[0]);
4 |
5 | int main()
6 | {
7 | int i;
8 |
9 | for (i = 0; i < n; i++)
10 | sum += arr[i];
11 | }
12 |
--------------------------------------------------------------------------------
/code/csum.lds:
--------------------------------------------------------------------------------
1 | SECTIONS {
2 | . = 0x00000000;
3 | .text : {
4 | * (vectors);
5 | * (.text);
6 | }
7 | .rodata : {
8 | * (.rodata);
9 | }
10 | flash_sdata = .;
11 |
12 | . = 0xA0000000;
13 | ram_sdata = .;
14 | .data : AT (flash_sdata) {
15 | * (.data);
16 | }
17 | ram_edata = .;
18 | data_size = ram_edata - ram_sdata;
19 |
20 | sbss = .;
21 | .bss : {
22 | * (.bss);
23 | }
24 | ebss = .;
25 | bss_size = ebss - sbss;
26 | }
--------------------------------------------------------------------------------
/code/flash-ram.lds:
--------------------------------------------------------------------------------
1 | SECTIONS {
2 | . = 0x00000000;
3 | .text : { * (.text); }
4 |
5 | . = 0xA0000000;
6 | .data : { * (.data); }
7 | }
--------------------------------------------------------------------------------
/code/main.s:
--------------------------------------------------------------------------------
1 | .text
2 | b start @ Skip over the data
3 | arr: .byte 10, 20, 25 @ Read-only array of bytes
4 | eoa: @ Address of end of array + 1
5 |
6 | .align
7 | start:
8 | ldr r0, =arr @ r0 = &arr
9 | ldr r1, =eoa @ r1 = &eoa
10 |
11 | bl sum @ Invoke the sum subroutine
12 |
13 | stop: b stop
14 |
--------------------------------------------------------------------------------
/code/startup.s:
--------------------------------------------------------------------------------
1 | .section "vectors"
2 | reset: b start
3 | undef: b undef
4 | swi: b swi
5 | pabt: b pabt
6 | dabt: b dabt
7 | nop
8 | irq: b irq
9 | fiq: b fiq
10 |
11 | .text
12 | start:
13 | @@ Copy data to RAM.
14 | ldr r0, =flash_sdata
15 | ldr r1, =ram_sdata
16 | ldr r2, =data_size
17 |
18 | @@ Handle data_size == 0
19 | cmp r2, #0
20 | beq init_bss
21 | copy:
22 | ldrb r4, [r0], #1
23 | strb r4, [r1], #1
24 | subs r2, r2, #1
25 | bne copy
26 |
27 | init_bss:
28 | @@ Initialize .bss
29 | ldr r0, =sbss
30 | ldr r1, =ebss
31 | ldr r2, =bss_size
32 |
33 | @@ Handle bss_size == 0
34 | cmp r2, #0
35 | beq init_stack
36 |
37 | mov r4, #0
38 | zero:
39 | strb r4, [r0], #1
40 | subs r2, r2, #1
41 | bne zero
42 |
43 | init_stack:
44 | @@ Initialize the stack pointer
45 | ldr sp, =0xA4000000
46 |
47 | bl main
48 |
49 | stop: b stop
50 |
--------------------------------------------------------------------------------
/code/strlen.s:
--------------------------------------------------------------------------------
1 | .text
2 | b start
3 |
4 | str: .asciz "Hello World"
5 |
6 | .equ nul, 0
7 |
8 | .align
9 | start: ldr r0, =str @ r0 = &str
10 | mov r1, #0
11 |
12 | loop: ldrb r2, [r0], #1 @ r2 = *(r0++)
13 | add r1, r1, #1 @ r1 += 1
14 | cmp r2, #nul @ if (r1 != nul)
15 | bne loop @ goto loop
16 |
17 | sub r1, r1, #1 @ r1 -= 1
18 | stop: b stop
19 |
--------------------------------------------------------------------------------
/code/sum-data.lds:
--------------------------------------------------------------------------------
1 | SECTIONS {
2 | . = 0x00000000;
3 | .text : { * (.text); }
4 |
5 | . = 0x00000400;
6 | .data : { * (.data); }
7 | }
--------------------------------------------------------------------------------
/code/sum-data.s:
--------------------------------------------------------------------------------
1 | .data
2 | arr: .byte 10, 20, 25 @ Read-only array of bytes
3 | eoa: @ Address of end of array + 1
4 |
5 | .text
6 | start:
7 | ldr r0, =eoa @ r0 = &eoa
8 | ldr r1, =arr @ r1 = &arr
9 | mov r3, #0 @ r3 = 0
10 | loop: ldrb r2, [r1], #1 @ r2 = *(r1++)
11 | add r3, r2, r3 @ r3 += r2
12 | cmp r1, r0 @ if (r1 != r2)
13 | bne loop @ goto loop
14 | stop: b stop
15 |
--------------------------------------------------------------------------------
/code/sum-sub.s:
--------------------------------------------------------------------------------
1 | @ Args
2 | @ r0: Start address of array
3 | @ r1: End address of array
4 | @
5 | @ Result
6 | @ r3: Sum of Array
7 |
8 | .global sum
9 |
10 | sum: mov r3, #0 @ r3 = 0
11 | loop: ldrb r2, [r0], #1 @ r2 = *r0++ ; Get array element
12 | add r3, r2, r3 @ r3 += r2 ; Calculate sum
13 | cmp r0, r1 @ if (r0 != r1) ; Check if hit end-of-array
14 | bne loop @ goto loop ; Loop
15 | mov pc, lr @ pc = lr ; Return when done
16 |
--------------------------------------------------------------------------------
/code/sum.s:
--------------------------------------------------------------------------------
1 | .text
2 | entry: b start @ Skip over the data
3 | arr: .byte 10, 20, 25 @ Read-only array of bytes
4 | eoa: @ Address of end of array + 1
5 |
6 | .align
7 | start:
8 | ldr r0, =eoa @ r0 = &eoa
9 | ldr r1, =arr @ r1 = &arr
10 | mov r3, #0 @ r3 = 0
11 | loop: ldrb r2, [r1], #1 @ r2 = *r1++
12 | add r3, r2, r3 @ r3 += r2
13 | cmp r1, r0 @ if (r1 != r0)
14 | bne loop @ goto loop
15 | stop: b stop
16 |
--------------------------------------------------------------------------------
/csections.dia:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | #A4#
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 | #0xA000_0000#
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 | #0xA400_0000#
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 | #RAM#
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 | ##
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 | #.data#
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 | #.data#
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 | #.bss#
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 | #Flash#
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 |
617 | #0x0000_0000#
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 | #0x0100_0000#
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 | #.rodata#
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 | ##
750 |
751 |
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
796 |
797 | ##
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 | ##
846 |
847 |
848 |
849 |
850 |
851 |
852 |
853 |
854 |
855 |
856 |
857 |
858 |
859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 |
869 |
870 |
871 |
872 |
873 |
874 |
875 | #Load Location#
876 |
877 |
878 |
879 |
880 |
881 |
882 |
883 |
884 |
885 |
886 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 |
896 |
897 |
898 |
899 |
900 |
901 |
902 |
903 |
904 |
905 |
906 |
907 |
908 | #Runtime Location#
909 |
910 |
911 |
912 |
913 |
914 |
915 |
916 |
917 |
918 |
919 |
920 |
921 |
922 |
923 |
924 |
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 |
933 |
934 |
935 |
936 |
937 |
938 |
939 |
940 |
941 | #Both Load and Runtime Location#
942 |
943 |
944 |
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 |
961 |
962 |
963 |
964 |
965 |
966 |
967 |
968 |
969 |
970 |
971 |
972 |
973 |
974 |
975 |
976 |
977 |
978 |
979 |
980 |
981 |
982 |
983 |
984 |
985 |
986 |
987 |
988 |
989 |
990 |
991 |
992 | #vectors#
993 |
994 |
995 |
996 |
997 |
998 |
999 |
1000 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
1007 |
1008 |
1009 |
1010 |
1011 |
1012 |
1013 |
1014 |
1015 |
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 |
1023 |
1024 |
1025 |
1026 |
1027 |
1028 |
1029 |
1030 |
1031 |
1032 |
1033 |
1034 |
1035 |
1036 |
1037 |
1038 |
1039 |
1040 | #.text#
1041 |
1042 |
1043 |
1044 |
1045 |
1046 |
1047 |
1048 |
1049 |
1050 |
1051 |
1052 |
1053 |
1054 |
1055 |
1056 |
1057 |
1058 |
1059 |
1060 |
1061 |
1062 |
--------------------------------------------------------------------------------
/docbook.conf:
--------------------------------------------------------------------------------
1 | [listingblock]
2 | {title}
3 |
4 | |
5 |
6 | {title#}
--------------------------------------------------------------------------------
/docbook.xsl:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | article toc,title
19 |
20 |
21 | style.css
22 |
23 |
24 |
25 |
32 |
33 | 0pt
34 |
35 |
36 | figure before
37 | example before
38 | equation before
39 | table before
40 | procedure before
41 |
42 |
43 |
45 |
46 |
47 | always
48 |
49 |
50 |
51 | 0.4em
52 | 0.4em
53 | 0.4em
54 | 0.4em
55 | 0.4em
56 | 0.4em
57 |
58 |
59 |
60 | 0.4em
61 | 0.4em
62 | 0.4em
63 | 0.4em
64 | 0.4em
65 | 0.4em
66 |
67 |
68 |
69 |
70 | 1
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 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 | The shade.verbatim parameter is deprecated.
128 | Use CSS instead,
129 |
130 |
131 | for example: pre.
132 |
133 | { background-color: #E0E0E0; }
134 |
135 |
136 |
137 |
138 |
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 |
181 |
182 |
183 | Fork me on GitHub
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
--------------------------------------------------------------------------------
/flash-ram-mm.dia:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | #A4#
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 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 | #Flash (16 MB)#
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 | #RAM (64 MB)#
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 | #0x0000_0000#
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 | #0x0100_0000#
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 | #0xA000_0000#
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 | #0xA400_0000#
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
--------------------------------------------------------------------------------
/gnu-eprog-revhistory.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 0.1.0
5 | Wed, 13 May 2009 00:00:00 +0530
6 | BVK
7 | Initial release.
8 |
9 |
10 |
11 | 0.2.0
12 | Thu, 14 May 2009 00:00:00 +0530
13 | BVK
14 | Created C startup section. Improvised introduction section.
15 |
16 |
17 |
18 | 0.3.0
19 | Sun, 17 May 2009 00:00:00 +0530
20 | BVK
21 | Added placement of read-only data, when compiling C programs.
22 |
23 |
24 |
25 | 0.4.0
26 | Sun, 17 May 2009 00:00:00 +0530
27 | BVK
28 | Code fixes reported by Goodwealth Chu and Jesus Vicenti
29 |
30 |
31 |
32 | 0.5.0
33 | Sun, 19 Sep 2011 00:00:00 +0530
34 | BVK
35 | Typo fixes reported by Jeffrey Antony, Jonathan Grant and David LeBlanc.
36 |
37 |
38 |
39 | 0.6.0
40 | Sun, 2 Mar 2013 00:00:00 +0530
41 | BVK
42 |
43 | Contributing section updated with the new location of the
44 | gnu-eprog source repository. Qemu installation updated with
45 | package installation for Squeeze and Wheezy. Grammar and typo
46 | fixes in the text.
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/images/blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/blank.png
--------------------------------------------------------------------------------
/images/caution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/caution.png
--------------------------------------------------------------------------------
/images/caution.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 | ]>
11 |
26 |
--------------------------------------------------------------------------------
/images/draft.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/draft.png
--------------------------------------------------------------------------------
/images/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/home.png
--------------------------------------------------------------------------------
/images/home.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
117 |
--------------------------------------------------------------------------------
/images/important.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/important.png
--------------------------------------------------------------------------------
/images/important.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 | ]>
11 |
26 |
--------------------------------------------------------------------------------
/images/next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/next.png
--------------------------------------------------------------------------------
/images/next.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
115 |
--------------------------------------------------------------------------------
/images/note.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/note.png
--------------------------------------------------------------------------------
/images/note.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/images/prev.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/prev.png
--------------------------------------------------------------------------------
/images/prev.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
117 |
--------------------------------------------------------------------------------
/images/tip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/tip.png
--------------------------------------------------------------------------------
/images/tip.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/images/toc-blank.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/toc-blank.png
--------------------------------------------------------------------------------
/images/toc-minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/toc-minus.png
--------------------------------------------------------------------------------
/images/toc-plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/toc-plus.png
--------------------------------------------------------------------------------
/images/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/up.png
--------------------------------------------------------------------------------
/images/up.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 | ]>
9 |
20 |
--------------------------------------------------------------------------------
/images/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bravegnu/gnu-eprog/903cfc80c0396c5334ff75ae13704db15935e0c5/images/warning.png
--------------------------------------------------------------------------------
/images/warning.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 | ]>
11 |
24 |
--------------------------------------------------------------------------------
/linker.dia:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | #A4#
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 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 | #a.s#
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 | #b.s#
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 | #c.s#
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 | #a.o#
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 | #b.o#
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 | #c.o#
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 |
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 | #abc#
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 |
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 | #assembler#
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 |
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 | #assembler#
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 | #assembler#
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 | #linker#
752 |
753 |
754 |
755 |
756 |
757 |
758 |
759 |
760 |
761 |
762 |
763 |
764 |
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
--------------------------------------------------------------------------------
/relocation.dia:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | #A4#
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 | # strcpy: ldrb r0, [r1], #1
150 | strb r0, [r2], #1
151 | cmp r0, 0
152 | bne strcpy
153 | mov pc, lr#
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 |
181 |
182 |
183 | #a.s (.text)#
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 | #b.s (.text)#
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 | # strlen: ldrb r0, [r1], #1
265 | add r2, #1
266 | cmp r0, 0
267 | bne strlen
268 | mov pc, lr#
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 | #0000_0000 strcpy: ldrb r0, [r1], #1
314 | 0000_0004 strb r0, [r2], #1
315 | 0000_0008 cmp r0, 0
316 | 0000_000C bne strcpy
317 | 0000_0010 mov pc, lr#
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 | #0000_0000 strlen: ldrb r0, [r1], #1
363 | 0000_0004 add r2, #1
364 | 0000_0008 cmp r0, 0
365 | 0000_000C bne strlen
366 | 0000_0010 mov pc, lr#
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
488 |
489 |
490 |
491 |
492 |
493 |
494 |
495 |
496 |
497 |
498 |
499 |
500 |
501 |
502 |
503 |
504 |
505 |
506 |
507 |
508 |
509 |
510 |
511 |
512 |
513 |
514 |
515 |
516 |
517 |
518 |
519 |
520 |
521 |
522 |
523 |
524 |
525 |
526 |
527 |
528 |
529 |
530 |
531 |
532 |
533 |
534 |
535 |
536 |
537 |
538 |
539 |
540 |
541 |
542 |
543 |
544 |
545 |
546 |
547 |
548 |
549 |
550 | #Assembler#
551 |
552 |
553 |
554 |
555 |
556 |
557 |
558 |
559 |
560 |
561 |
562 |
563 |
564 |
565 |
566 |
567 |
568 |
569 |
570 |
571 |
572 |
573 |
574 |
575 |
576 |
577 |
578 |
579 |
580 |
581 |
582 |
583 | #Assembler#
584 |
585 |
586 |
587 |
588 |
589 |
590 |
591 |
592 |
593 |
594 |
595 |
596 |
597 |
598 |
599 |
600 |
601 |
602 |
603 |
604 |
605 |
606 |
607 |
608 |
609 |
610 |
611 |
612 |
613 |
614 |
615 |
616 | #Merging .text sections from two files#
617 |
618 |
619 |
620 |
621 |
622 |
623 |
624 |
625 |
626 |
627 |
628 |
629 |
630 |
631 |
632 |
633 |
634 |
635 |
636 |
637 |
638 |
639 |
640 |
641 |
642 |
643 |
644 |
645 |
646 |
647 |
648 |
649 | #Placing .text section at 0x2000_0000 #
650 |
651 |
652 |
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 |
665 |
666 |
667 |
668 |
669 |
670 |
671 |
672 |
673 |
674 |
675 |
676 |
677 |
678 |
679 |
680 |
681 |
682 |
683 |
684 |
685 |
686 |
687 |
688 |
689 |
690 |
691 |
692 |
693 |
694 |
695 |
696 |
697 |
698 |
699 |
700 |
701 |
702 |
703 |
704 |
705 |
706 |
707 |
708 |
709 |
710 |
711 |
712 |
713 |
714 |
715 |
716 |
717 |
718 |
719 |
720 |
721 |
722 |
723 |
724 |
725 |
726 |
727 |
728 |
729 |
730 |
731 |
732 |
733 |
734 |
735 |
736 |
737 |
738 |
739 |
740 |
741 |
742 |
743 |
744 |
745 |
746 |
747 |
748 |
749 |
750 |
751 |
752 |
753 |
754 |
755 | #2000_0000 strcpy: ldrb r0, [r1], #1
756 | 2000_0004 strb r0, [r2], #1
757 | 2000_0008 cmp r0, 0
758 | 2000_000C bne strcpy
759 | 2000_0010 mov pc, lr
760 | 2000_0014 strlen: ldrb r0, [r1], #1
761 | 2000_0018 add r2, #1
762 | 2000_001C cmp r0, 0
763 | 2000_0020 bne strlen
764 | 2000_0024 mov pc, lr#
765 |
766 |
767 |
768 |
769 |
770 |
771 |
772 |
773 |
774 |
775 |
776 |
777 |
778 |
779 |
780 |
781 |
782 |
783 |
784 |
785 |
786 |
787 |
788 |
789 |
790 |
791 |
792 |
793 |
794 |
795 |
796 |
797 |
798 |
799 |
800 |
801 |
802 |
803 |
804 |
805 |
806 |
807 |
808 |
809 |
810 |
811 |
812 |
813 |
814 |
815 |
816 |
817 |
818 |
819 |
820 |
821 |
822 |
823 |
824 |
825 |
826 |
827 |
828 |
829 |
830 |
831 |
832 |
833 |
834 |
835 |
836 |
837 |
838 |
839 |
840 |
841 |
842 |
843 |
844 |
845 |
846 |
847 |
848 |
849 |
850 |
851 |
852 |
853 |
854 |
855 |
856 |
857 |
858 |
859 |
860 |
861 |
862 |
863 |
864 |
865 |
866 |
867 |
868 | #Patched#
869 |
870 |
871 |
872 |
873 |
874 |
875 |
876 |
877 |
878 |
879 |
880 |
881 |
882 |
883 |
884 |
885 |
886 |
887 |
888 |
889 |
890 |
891 |
892 |
893 |
894 |
895 |
896 |
897 |
898 |
899 |
900 |
901 |
902 |
903 |
904 |
905 |
906 |
907 |
908 |
909 |
910 |
911 |
912 |
913 |
914 |
915 |
916 |
917 |
918 |
919 |
920 |
921 |
922 |
923 |
924 |
925 |
926 |
927 |
928 |
929 |
930 |
931 |
932 |
933 |
934 |
935 |
936 |
937 |
938 |
939 |
940 |
941 |
942 |
943 |
944 |
945 |
946 |
947 |
948 |
949 |
950 |
951 |
952 |
953 |
954 |
955 |
956 |
957 |
958 |
959 |
960 |
961 |
962 |
963 |
964 |
965 |
966 |
967 |
968 |
969 |
970 |
971 |
972 |
973 |
974 |
975 | #Patched#
976 |
977 |
978 |
979 |
980 |
981 |
982 |
983 |
984 |
985 |
986 |
987 |
988 |
989 |
990 |
991 |
992 |
993 |
994 |
995 |
996 |
997 |
998 |
999 |
1000 |
1001 |
1002 |
1003 |
1004 |
1005 |
1006 |
1007 |
1008 |
1009 |
1010 |
1011 |
1012 |
1013 |
1014 |
1015 |
1016 |
1017 |
1018 |
1019 |
1020 |
1021 |
1022 |
1023 |
1024 |
1025 |
1026 |
1027 |
1028 |
1029 |
1030 |
1031 |
1032 |
1033 |
1034 |
1035 |
1036 |
1037 |
1038 |
1039 |
1040 |
1041 |
1042 |
1043 |
1044 |
1045 | #New address
1046 | after merge#
1047 |
1048 |
1049 |
1050 |
1051 |
1052 |
1053 |
1054 |
1055 |
1056 |
1057 |
1058 |
1059 |
1060 |
1061 |
1062 |
1063 |
1064 |
1065 |
1066 |
1067 |
1068 |
1069 |
1070 |
1071 |
1072 |
1073 |
1074 |
1075 |
1076 |
1077 |
1078 |
1079 |
1080 |
1081 |
1082 |
1083 |
1084 |
1085 |
1086 |
1087 |
1088 |
1089 |
1090 |
1091 |
1092 |
1093 |
1094 |
1095 |
1096 |
1097 |
1098 |
1099 |
1100 |
1101 |
1102 |
1103 |
1104 |
1105 |
1106 |
1107 |
1108 |
1109 |
1110 |
1111 |
1112 |
1113 |
1114 |
1115 |
1116 |
1117 |
1118 |
1119 |
1120 |
1121 |
1122 |
1123 | #0000_0000 strcpy: ldrb r0, [r1], #1
1124 | 0000_0004 strb r0, [r2], #1
1125 | 0000_0008 cmp r0, 0
1126 | 0000_000C bne strcpy
1127 | 0000_0010 mov pc, lr
1128 | 0000_0014 strlen: ldrb r0, [r1], #1
1129 | 0000_0018 add r2, #1
1130 | 0000_001C cmp r0, 0
1131 | 0000_0020 bne strlen
1132 | 0000_0024 mov pc, lr#
1133 |
1134 |
1135 |
1136 |
1137 |
1138 |
1139 |
1140 |
1141 |
1142 |
1143 |
1144 |
1145 |
1146 |
1147 |
1148 |
1149 |
1150 |
1151 |
1152 |
1153 |
1154 |
--------------------------------------------------------------------------------
/rss.xsl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | http://www.bravegnu.org/gnu-eprog/revision.rss
7 | Updates for
8 |
9 | Updates for
10 |
11 |
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 |
--------------------------------------------------------------------------------
/sections.dia:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | #A4#
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 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 | #0000_0000 arr: .word 10, 20, 30, 40, 50
207 | 0000_0014 len: .word 5
208 | 0000_0018 result: .skip 4#
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 | #.data section#
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 | #.text section#
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 | #0000_0000 start: mov r1, #10
326 | 0000_0004 mov r2, #20
327 | 0000_0008 add r3, r2, r1
328 | 0000_000C sub r3, r2, r1#
329 |
330 |
331 |
332 |
333 |
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 |
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 | # .data
403 | arr: .word 10, 20, 30, 40, 50
404 | len: .word 5
405 | .text
406 | start: mov r1, #10
407 | mov r2, #20
408 | .data
409 | result: .skip 4
410 | .text
411 | add r3, r2, r1
412 | sub r3, r2, r1
413 | #
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
--------------------------------------------------------------------------------
/stack.dia:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | #A4#
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 | #Global Variables#
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 | #0xA000_0000#
176 |
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 | #0xA400_0000#
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 | #Stack#
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
270 |
271 |
272 |
273 |
274 |
275 |
276 |
277 |
278 |
279 |
280 |
281 |
282 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
298 |
299 |
300 |
301 |
302 |
303 |
304 |
305 |
306 |
307 |
308 |
309 |
310 |
311 |
312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
326 |
327 |
328 |
329 |
330 |
331 |
332 | #Initial Stack
333 | Pointer#
334 |
335 |
336 |
337 |
338 |
339 |
340 |
341 |
342 |
343 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
359 |
360 |
361 |
362 |
363 |
364 |
365 |
366 | #RAM#
367 |
368 |
369 |
370 |
371 |
372 |
373 |
374 |
375 |
376 |
377 |
378 |
379 |
380 |
381 |
382 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
390 |
391 |
392 |
393 |
394 |
395 |
396 |
397 |
398 |
399 |
400 |
401 |
402 |
403 |
404 |
405 |
406 |
407 |
408 |
409 |
410 |
411 |
412 |
413 |
414 |
415 |
416 |
417 |
418 |
419 |
420 |
421 |
422 |
423 |
424 |
425 |
426 |
427 |
428 |
429 |
430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 |
438 |
439 |
440 |
441 |
442 |
443 |
444 |
445 |
446 |
447 |
448 |
449 |
450 |
451 |
452 |
453 |
454 |
455 |
456 |
457 |
458 |
459 |
460 |
461 |
462 |
463 |
464 |
465 |
466 |
467 |
468 |
469 |
470 |
471 |
472 |
473 |
474 |
475 |
476 |
477 |
478 |
479 |
480 |
481 |
482 |
483 |
484 |
485 |
486 |
487 |
--------------------------------------------------------------------------------
/style.css:
--------------------------------------------------------------------------------
1 | .literal {
2 | font-family: dejavusansmono, courier, monospace;
3 | font-size: 110%;
4 | }
5 |
6 | body {
7 | font-family: serif;
8 | background-color: #dddddd;
9 | margin: 0px;
10 | height: 100%;
11 | }
12 |
13 | .body {
14 | background-color: #ffffff;
15 | border-left: 1px solid black;
16 | border-right: 1px solid black;
17 | max-width: 900px;
18 | margin-left: auto;
19 | margin-right: auto;
20 | padding-left: 50px;
21 | padding-right: 50px;
22 | min-height: 100%;
23 | }
24 |
25 | .navheader {
26 | padding: 10px;
27 | }
28 |
29 | .title, .author {
30 | color: #990000;
31 | font-family: dejavusans, verdana, sans-serif;
32 | }
33 |
34 | .informaltable td, .informaltable th {
35 | border-style: none;
36 | padding-left: 1em;
37 | padding-right: 1em;
38 | }
39 |
40 | .table table td, .table table th {
41 | border-style: none;
42 | padding-left: 1em;
43 | padding-right: 1em;
44 | }
45 |
46 | h1 {
47 | font-size: 200%;
48 | }
49 |
50 | h2 {
51 | font-size: 145%;
52 | }
53 |
54 | h3 {
55 | font-size: 130%;
56 | }
57 |
58 | h4 {
59 | font-size: 100%;
60 | }
61 |
62 | a img {
63 | border: 0;
64 | }
65 |
66 | .tip, .note {
67 | border: thin solid #CCCCCC;
68 | padding: 1em;
69 | background-color: #FFFFCC;
70 | }
71 |
72 | pre code {
73 | font-family: dejavusansmono, courier, monospace;
74 | display: block;
75 | background: #eeeeee;
76 | border: thin solid #cccccc;
77 | font-size: 140%;
78 | padding: 0.5em;
79 | }
80 |
81 | pre code,
82 | .ruby .subst,
83 | .xml .title,
84 | .lisp .title {
85 | color: black;
86 | }
87 |
88 | .string,
89 | .title,
90 | .parent,
91 | .tag .attribute .value,
92 | .rules .value,
93 | .rules .value .number,
94 | .preprocessor,
95 | .ruby .symbol,
96 | .instancevar,
97 | .aggregate,
98 | .template_tag,
99 | .django .variable,
100 | .smalltalk .class,
101 | .addition,
102 | .flow,
103 | .stream,
104 | .bash .variable,
105 | .apache .tag,
106 | .apache .cbracket {
107 | color: #800;
108 | }
109 |
110 | .comment,
111 | .annotation,
112 | .template_comment,
113 | .diff .header,
114 | .chunk {
115 | color: #888;
116 | }
117 |
118 | .hl-number,
119 | .number,
120 | .date,
121 | .regexp,
122 | .literal,
123 | .smalltalk .symbol,
124 | .smalltalk .char,
125 | .change {
126 | color: #080;
127 | }
128 |
129 | .label,
130 | .javadoc,
131 | .ruby .string,
132 | .decorator,
133 | .filter .argument,
134 | .localvars,
135 | .array,
136 | .attr_selector,
137 | .pi,
138 | .doctype,
139 | .deletion,
140 | .envvar,
141 | .shebang,
142 | .apache .sqbracket {
143 | color: #88F;
144 | }
145 |
146 | .keyword,
147 | .id,
148 | .phpdoc,
149 | .title,
150 | .vbscript .built_in,
151 | .rsl .built_in,
152 | .cpp .built_in,
153 | .avrasm .built_in,
154 | .armasm .built_in,
155 | .aggregate,
156 | .smalltalk .class,
157 | .winutils,
158 | .bash .variable,
159 | .apache .tag {
160 | font-weight: bold;
161 | }
162 |
163 | .html .css,
164 | .html .javascript,
165 | .html .vbscript {
166 | opacity: 0.5;
167 | }
168 |
169 | /* Github Banner */
170 |
171 | #forkongithub a {
172 | background:#000;
173 | color:#fff;
174 | text-decoration:none;
175 | font-family:arial, sans-serif;
176 | text-align:center;
177 | font-weight:bold;
178 | padding:5px 40px;
179 | font-size:1rem;
180 | line-height:2rem;
181 | position:relative;
182 | transition:0.5s;
183 | }
184 |
185 | #forkongithub a:hover {
186 | background:#060;
187 | color:#fff;
188 | }
189 |
190 | #forkongithub a::before,#forkongithub a::after {
191 | content:"";
192 | width:100%;
193 | display:block;
194 | position:absolute;
195 | top:1px;
196 | left:0;
197 | height:1px;
198 | background:#fff;
199 | }
200 |
201 | #forkongithub a::after {
202 | bottom:1px;
203 | top:auto;
204 | }
205 |
206 | @media screen and (min-width:1300px) {
207 | #forkongithub {
208 | position:absolute;
209 | display:block;
210 | top:0;
211 | right:0;
212 | width:200px;
213 | overflow:hidden;
214 | height:200px;
215 | }
216 |
217 | #forkongithub a {
218 | width:200px;
219 | position:absolute;
220 | top:60px;
221 | right:-60px;
222 | transform:rotate(45deg);-webkit-transform:rotate(45deg);
223 | box-shadow:4px 4px 10px rgba(0,0,0,0.8);
224 | }
225 | }
--------------------------------------------------------------------------------
/upload.lftp:
--------------------------------------------------------------------------------
1 | set ftp:ssl-allow no
2 | open bravegnu.org
3 | user bravegnu
4 | mirror -e --parallel=4 --exclude=.hg --verbose=3 -R . /public_html/gnu-eprog/
5 | !touch .last
6 | exit
7 |
--------------------------------------------------------------------------------
/xslthl-config.xml:
--------------------------------------------------------------------------------
1 |
2 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------