1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;; UrForth level
1: self
-hosting
32-bit Forth compiler
4 ;; Copyright
(C
) 2020 Ketmar Dark
// Invisible Vector
6 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
10 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
11 code: TC-STR-NAME-HASH-ELF ( addr count -- u32hash )
20 ;; upcase it
(this also distorts other chars
, but who cares
)
23 ;; high
= hash
&0xF0000000
32 not ebx
;;xor ebx
,0xffffffff
43 code: TC-STR-NAME-HASH-JOAAT ( addr count -- u32hash )
50 ;; upcase it
(this also distorts other chars
, but who cares
)
84 code: TC-STR-NAME-HASH-ROT ( addr count -- u32hash )
89 ;; hash
= lrot
(hash
, 4)
94 ;; upcase it
(this also distorts other chars
, but who cares
)
100 ;; hash ^
= (hash
>>10)^
(hash
>>20)