User loginNavigation |
cicada-nymph -- a forth-like language for to teachthe little nymph is for teaching purpose only. it reuses the code and idea to teach my friends I will use assembly language (FASM for x86-64) the programming language to be implemented the following shows how to define "if" & "else" & "then" by "define-macro" : if << string[address, length] -- address, string[address, length] >> *false?branch* save-into,jo-heap *current-free-address,jo-heap* xx|swap|x 0 save-into,jo-heap end ; define-macro : else << address, string[address, length] -- address, string[address, length] >> *branch* save-into,jo-heap x|swap|xx *current-free-address,jo-heap* xxx|swap|x 0 save-into,jo-heap << address, string[address, length], address >> *current-free-address,jo-heap* over sub *jo-size* div swap save end ; define-macro : then << address, string[address, length] -- string[address, length] >> x|swap|xx *current-free-address,jo-heap* over sub *jo-size* div swap save end ; define-macro the following shows how to define factorial : factorial << number -- number >> dup one? if end then dup sub1 factorial mul end ; define-function for the code and more info :: code on github the cicada nymph is for teaching purpose at first and By xieyuheng at 2015-03-12 18:56 | LtU Forum | previous forum topic | next forum topic | other blogs | 5011 reads
|
Browse archives
Active forum topics |
Recent comments
27 weeks 2 days ago
27 weeks 2 days ago
27 weeks 3 days ago
49 weeks 4 days ago
1 year 1 week ago
1 year 3 weeks ago
1 year 3 weeks ago
1 year 6 weeks ago
1 year 10 weeks ago
1 year 10 weeks ago