Compile INTERPRET
This commit is contained in:
51
wipforth.wat
51
wipforth.wat
@@ -1585,6 +1585,57 @@
|
|||||||
;; DROP 1 ERROR !
|
;; 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] ;
|
;; : QUIT R0 RSP! INTERPRET BRANCH [-8] ;
|
||||||
|
|
||||||
;; The trampoline is a workaround for WebAssembly's lack of indirect
|
;; The trampoline is a workaround for WebAssembly's lack of indirect
|
||||||
|
|||||||
Reference in New Issue
Block a user