Compile INTERPRET

This commit is contained in:
2026-02-27 16:19:42 +00:00
parent 62f3bff926
commit bf65c7470a

View File

@@ -1585,6 +1585,57 @@
;; DROP 1 ERROR !
;; ;
(data (i32.const 0x0ab4)
"\74\0a\00\00"
"\09INTERPRET\00\00"
"\00\00\00\00"
"\74\06\00\00" ;; WORD
"\08\02\00\00" ;; DUP
"\98\07\00\00" ;; FIND
"\08\02\00\00" ;; DUP
"\b4\04\00\00" ;; 0BRANCH
"\48\00\00\00" ;; 72
"\28\02\00\00" ;; SWAP
"\18\02\00\00" ;; DROP
"\08\02\00\00" ;; DUP
"\84\0a\00\00" ;; IMMEDIATE?
"\b4\03\00\00" ;; INVERT
"\b4\04\00\00" ;; 0BRANCH
"\20\00\00\00" ;; 32
"\5c\05\00\00" ;; STATE
"\cc\03\00\00" ;; @
"\b4\04\00\00" ;; 0BRANCH
"\10\00\00\00" ;; 16
"\28\08\00\00" ;; >CFA
"\50\0a\00\00" ;; ,
"\0c\04\00\00" ;; EXIT
"\28\08\00\00" ;; >CFA
"\24\04\00\00" ;; >R
"\0c\04\00\00" ;; EXIT
"\18\02\00\00" ;; DROP
"\08\02\00\00" ;; DUP
"\58\09\00\00" ;; NUMBER?
"\b4\04\00\00" ;; 0BRANCH
"\2c\00\00\00" ;; 44
"\28\02\00\00" ;; SWAP
"\18\02\00\00" ;; DROP
"\5c\05\00\00" ;; STATE
"\cc\03\00\00" ;; @
"\b4\04\00\00" ;; 0BRANCH
"\10\00\00\00" ;; 16
"\18\04\00\00" ;; LIT-CFA
"\50\0a\00\00" ;; ,
"\50\0a\00\00" ;; ,
"\0c\04\00\00" ;; EXIT
"\18\02\00\00" ;; DROP
"\18\04\00\00" ;; LIT
"\01\00\00\00" ;; 1
"\dc\05\00\00" ;; ERROR
"\c0\03\00\00" ;; !
"\0c\04\00\00") ;; EXIT
;; => 0xc4 bytes
;; : QUIT R0 RSP! INTERPRET BRANCH [-8] ;
;; The trampoline is a workaround for WebAssembly's lack of indirect