From 32f1fde313ce07e086b503b08babffe60a7be05d Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Sat, 16 May 2026 13:16:12 -0700 Subject: ah, oops, there was a bug in the label transform for compiled words fixed now also a bunch of small things towards adding a log-load transform Force-Push: yes Change-Id: I6eeb94d896a7e79092886d7b60e9404c31b2ba6f --- evoke.e | 55 +++++++++++++------------------------------------------ 1 file changed, 13 insertions(+), 42 deletions(-) (limited to 'evoke.e') diff --git a/evoke.e b/evoke.e index 86e79c8..c1ee096 100644 --- a/evoke.e +++ b/evoke.e @@ -1,46 +1,16 @@ -~ cat labels.e elf.e execution.e transform.e evoke.e \ +~ (cat labels.e elf.e execution.e transform.e; \ +~ echo 65536 read-to-buffer; \ +~ cat core.e; \ +~ echo pyrzqxgl; \ +~ cat evoke.e) \ ~ | ./quine > evoke && chmod 755 evoke && ./evoke -1024 read-to-buffer -~ Any word that ends with a normal semicolon will require this, so its -~ definition has to be near the start. -: exit - [ here @ - :rsi pack-popcontrol - here ! ] ;asm - -: lit - [ here @ - lods64 - :rax push-reg64 - here ! ] ;asm - -: sys-exit - [ here @ - 60 :rax mov-reg64-imm64 - :rdi pop-reg64 - syscall - hlt - here ! ] ;asm - -: happy-path 42 sys-exit ; - -~ : lods64 ; -~ : :rax ; -~ : push-reg64 ; -~ : mov-reg64-imm64 ; -~ : :rdi ; -~ : pop-reg64 ; -~ : syscall ; -~ : hlt ; -~ : here ; -~ : @ ; -~ : ! ; -~ : [ ; -~ : ] ; +s" source-to-precompile" variable +1024 read-to-buffer +: foo 4 . ; pyrzqxgl -s" source-to-precompile" variable +s" source-to-heap-copy" variable ~ (output memory start, current output point ~ -- output memory start, current output point) @@ -54,10 +24,11 @@ s" source-to-precompile" variable 0x08000000 L!' origin elf-file-header elf-program-header - cold-start - warm-start + output-cold-start + source-to-heap-copy output-warm-start output-docol - source-to-precompile transform + output-exit + source-to-precompile label-transform 0 L!' final-word-name current-offset L!' total-size 0 L!' : -- cgit 1.4.1