Add some pseudocode to examples
This commit is contained in:
@@ -1,4 +1,15 @@
|
||||
; Evaluate 2*3+5
|
||||
;
|
||||
; pseudocode:
|
||||
; sum(prd(2, 3), 5)
|
||||
;
|
||||
; sum(a, b) {
|
||||
; return a+b
|
||||
; }
|
||||
;
|
||||
; prd(a, b) {
|
||||
; return a*b;
|
||||
; }
|
||||
|
||||
main: push 2
|
||||
push 3
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
; I/O example - simple echo
|
||||
;
|
||||
; pseudocode:
|
||||
; do { // read
|
||||
; x = in()
|
||||
; out(x)
|
||||
; while(x - 0x0A != 0)
|
||||
|
||||
read: in
|
||||
dup
|
||||
|
||||
@@ -1,7 +1,23 @@
|
||||
; Evaluate 2^10 - loop variant
|
||||
;
|
||||
; pseudocode
|
||||
; pow(2, 10)
|
||||
;
|
||||
; pow(base, exp) {
|
||||
; acc = 1
|
||||
;
|
||||
; do { // .loop
|
||||
; if (exp == 0) {
|
||||
; return acc // .done
|
||||
; }
|
||||
;
|
||||
; acc = acc * base
|
||||
; exp = exp - 1
|
||||
; } while(true)
|
||||
; }
|
||||
|
||||
push 2
|
||||
push 10
|
||||
push 2 ; base
|
||||
push 10 ; exp
|
||||
call &pow
|
||||
clr 2
|
||||
halt
|
||||
|
||||
@@ -1,4 +1,15 @@
|
||||
; Evaluate 2^10 - recursive variant
|
||||
;
|
||||
; pseudocode:
|
||||
; pow(2, 10)
|
||||
;
|
||||
; pow(base, exp) {
|
||||
; if (exp == 0) {
|
||||
; return 1 // .edge
|
||||
; }
|
||||
;
|
||||
; return base * pow(base, exp - 1)
|
||||
; }
|
||||
|
||||
push 2 ; base
|
||||
push 10 ; exp
|
||||
|
||||
@@ -1,4 +1,17 @@
|
||||
; The N-th element of Fibbonaci sequence - recursive variant
|
||||
;
|
||||
; pseudocode:
|
||||
; fibb(n) {
|
||||
; if (n == 0) {
|
||||
; return 1 // .done0
|
||||
; }
|
||||
;
|
||||
; if ((n-1) == 0) {
|
||||
; return 1 // .done1
|
||||
; }
|
||||
;
|
||||
; return fibb(n-2) + fibb(n-1)
|
||||
; }
|
||||
|
||||
push 6
|
||||
call &fibb
|
||||
|
||||
Reference in New Issue
Block a user