Compile WORD
This commit is contained in:
35
wipforth.wat
35
wipforth.wat
@@ -1157,6 +1157,41 @@
|
|||||||
;; DUP 0<> 0BRANCH [-92] \ Loop back to KEY if zero length
|
;; DUP 0<> 0BRANCH [-92] \ Loop back to KEY if zero length
|
||||||
;; ;
|
;; ;
|
||||||
|
|
||||||
|
(data (i32.const 0x0668)
|
||||||
|
"\00\60\00\00"
|
||||||
|
"\04WORD\00\00\00"
|
||||||
|
"\00\00\00\00"
|
||||||
|
"\18\04\00\00" ;; LIT
|
||||||
|
"\00\00\00\00" ;; 0
|
||||||
|
"\84\07\00\00" ;; KEY
|
||||||
|
"\f0\05\00\00" ;; TUCK
|
||||||
|
"\0c\06\00\00" ;; SPACE?
|
||||||
|
"\b4\04\00\00" ;; 0BRANCH
|
||||||
|
"\38\00\00\00" ;; 56
|
||||||
|
"\f0\05\00\00" ;; TUCK
|
||||||
|
"\ac\05\00\00" ;; WORDBUF
|
||||||
|
"\c0\02\00\00" ;; +
|
||||||
|
"\f0\03\00\00" ;; C!
|
||||||
|
"\90\02\00\00" ;; 1+
|
||||||
|
"\08\02\00\00" ;; DUP
|
||||||
|
"\18\04\00\00" ;; LIT
|
||||||
|
"\20\00\00\00" ;; 32
|
||||||
|
"\38\03\00\00" ;; >=
|
||||||
|
"\b4\04\00\00" ;; 0BRANCH
|
||||||
|
"\08\00\00\00" ;; 56
|
||||||
|
"\0c\04\00\00" ;; EXIT
|
||||||
|
"\a4\04\00\00" ;; BRANCH
|
||||||
|
"\bc\ff\ff\ff" ;; -68
|
||||||
|
"\28\02\00\00" ;; SWAP
|
||||||
|
"\18\02\00\00" ;; DROP
|
||||||
|
"\08\02\00\00" ;; DUP
|
||||||
|
"\5c\03\00\00" ;; 0<>
|
||||||
|
"\b4\04\00\00" ;; 0BRANCH
|
||||||
|
"\a4\ff\ff\ff" ;; -92
|
||||||
|
"\0c\04\00\00") ;; EXIT
|
||||||
|
|
||||||
|
;; => 0x80 bytes
|
||||||
|
|
||||||
;; : STRING= ( len str1 str2 -- bool )
|
;; : STRING= ( len str1 str2 -- bool )
|
||||||
;; 2DUP C@ SWAP C@ \ Load a byte from each address
|
;; 2DUP C@ SWAP C@ \ Load a byte from each address
|
||||||
;; = 0BRANCH [48] \ Check for byte mismatch
|
;; = 0BRANCH [48] \ Check for byte mismatch
|
||||||
|
|||||||
Reference in New Issue
Block a user