RodrigoDornelles / 3bc-lang

Low-level language, tiny virtual machine, minimal runtime, intermediate representation, embeddable, easy for beginners. (Friendly Punched cards)
https://3bc-lang.org
GNU General Public License v3.0
231 stars 25 forks source link

add example one_billion.3bc #399

Open RodrigoDornelles opened 1 year ago

RodrigoDornelles commented 1 year ago
#!/usr/bin/env 3bc

# Branch 5
MODE NILL 0d06
ALOC 0x05 100
NILL NILL 0x05

# Branch 4
MODE NILL 0d06
ALOC 0x04 100
NILL NILL 0x04

# Branch 3
MODE NILL 0d06
ALOC 0x03 100
NILL NILL 0x03

# Branch 2
MODE NILL 0d06
ALOC 0x02 100
NILL NILL 0x02

# Branch 1
MODE NILL 0d6
ALOC 0x01 100
NILL NILL 0x01
MODE NILL 0d08
PUSH 0x01 NILL
MODE NILL 0d12
MATH NILL 1
MODE NILL 0d08
PULL 0x01 0
MODE NILL 9
FGTO NILL 0x1

# Branch 2
MODE NILL 0d08
PUSH 0x02 NILL
MODE NILL 0d12
MATH NILL 1
MODE NILL 0d08
PULL 0x02 0
MODE NILL 9
FGTO NILL 0x02

# Branch 3
MODE NILL 0d08
PUSH 0x03 NILL
MODE NILL 0d12
MATH NILL 1
MODE NILL 0d08
PULL 0x03 0
MODE NILL 9
FGTO NILL 0x03

# Branch 4
MODE NILL 0d08
PUSH 0x04 NILL
MODE NILL 0d12
MATH NILL 1
MODE NILL 0d08
PULL 0x04 0
MODE NILL 9
FGTO NILL 0x04

# Branch 5
MODE NILL 0d08
PUSH 0x05 NILL
MODE NILL 0d12
MATH NILL 1
MODE NILL 0d08
PULL 0x05 0
MODE NILL 9
FGTO NILL 0x05

# Finish!
MODE NILL 0d02
STRC NILL 'O'
STRC NILL 'K'
STRC NILL '!'
STRC NILL '\n'