diff --git a/wipforth.wat b/wipforth.wat index f0c76f2..3febec1 100644 --- a/wipforth.wat +++ b/wipforth.wat @@ -1255,16 +1255,16 @@ ;; LATEST @ \ Initial entry ;; ;; TUCK NAME-LEN \ Get name length - ;; OVER <> 0BRANCH [52] \ Check for length mismatch + ;; OVER = 0BRANCH [52] \ Check for length mismatch ;; OVER 5 + \ Get name address ;; OVER SWAP WORDBUF STRING= \ Check if name matches ;; 0BRANCH [12] ;; DROP EXIT ;; ;; \ Name doesn't match - ;; OVER @ 0= 0BRANCH [12] \ Check for nil link - ;; DROP EXIT - ;; SWAP @ BRANCH [-112] \ Follow link and loop + ;; OVER @ 0<> 0BRANCH [20] \ Check for nil link + ;; SWAP @ BRANCH [-104] \ Follow link and loop + ;; 2DROP FALSE \ Return false ;; ; (data (i32.const 0x078c) @@ -1276,7 +1276,7 @@ "\f0\05\00\00" ;; TUCK "\70\07\00\00" ;; NAME-LEN "\54\02\00\00" ;; OVER - "\08\03\00\00" ;; <> + "\fc\02\00\00" ;; = "\b4\04\00\00" ;; 0BRANCH "\30\00\00\00" ;; 52 "\54\02\00\00" ;; OVER @@ -1293,15 +1293,15 @@ "\0c\04\00\00" ;; EXIT "\54\02\00\00" ;; OVER "\cc\03\00\00" ;; @ - "\44\03\00\00" ;; 0= + "\50\03\00\00" ;; 0<> "\b4\04\00\00" ;; 0BRANCH - "\0c\00\00\00" ;; 12 - "\18\02\00\00" ;; DROP - "\0c\04\00\00" ;; EXIT + "\14\00\00\00" ;; 20 "\28\02\00\00" ;; SWAP "\cc\03\00\00" ;; @ "\a4\04\00\00" ;; BRANCH - "\90\ff\ff\ff" ;; -112 + "\98\ff\ff\ff" ;; -104 + "\74\02\00\00" ;; 2DROP + "\48\05\00\00" ;; FALSE "\0c\04\00\00") ;; EXIT ;; => 0x90 bytes