summary refs log tree commit diff
path: root/evoke.e
blob: 607242d35fa93b9ef583e5ec9c63198cc84e9f8c (plain)
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
~ (cat labels.e elf.e transform.e execution.e \
~  echo 65536 read-to-buffer; \
~  cat core.e core-plus.e log-load.e; \
~  echo pyrzqxgl; \
~  cat evoke.e) \
~     | ./quine > evoke && chmod 755 evoke && ./evoke

s" source-to-precompile" variable

1024 read-to-buffer
: fooze 4 . ;
pyrzqxgl
s" source-to-copy-to-log" variable

~ (output memory start, current output point
~  -- output memory start, current output point)

~ (output memory start, current output point
~  -- output memory start, current output point)
~
~ Everything directly called by all-contents has this same interface.
~
: all-contents
  0x08000000 L!' origin
  elf-file-header
  elf-program-header
  output-cold-start
  source-to-copy-to-log output-warm-start
  output-docol
  output-exit
  source-to-precompile label-transform
  0 L!' final-word-name
  current-offset L!' total-size
  0 L!' :
  0 L!' ;
  0 L!' ;asm
  ;

' all-contents entry-to-execution-token label-loop
swap sys-write bye