Skip to content

Bytecode Format targeted by Hades and eBF, and utilized by ePU Computer Project

Notifications You must be signed in to change notification settings

Nadelio/eBin-Bytecode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

eBin Bytecode

Function IDs (aka Dependency IDs) are prefixed by an F.

F0 // Function ID = 0

Label IDs are prefixed by an L.

L0 // Label ID = 0

Comparison IDs are prefixed by a C.

C0 // Comparison ID = 0

Numbers are prefixed by a N.

N0 // Number = 0

Instructions are not prefixed by any character.

1 // increment pointer value instruction

File names are not translated, but have a D prefixed.

Dsomefile.hds

ePU ROM Positions are translated.

CDP [10 12] [foo]
10 N10 N12 F0

Example of eBin program

Hades

CDP [somefile.hds] [bar]
INCV
CLB [foo]
INCP
INT [foo == 1] [bar]
HLT

eBin

10 Dsomefile.hds F0 0 15 L0 2 23 L0 C1 N1 F0 14

Full Instruction List

0 : increment pointer value
1 : decrement pointer value
2 : increment pointer position
3 : decrement pointer position
4 : start loop
5 : end loop
6 : write value
7 : request next character
8 : push to stack
9 : pop from stack
10 : create function
11 : call function
12 : read value from tape
13 : syscall/write to terminal
14 : end program/return from function
15 : create label
16 : jump to label
17 : delete label
18 : read pointer position into pointer value
19 : set pointer value to following number
20 : subtract 255 from pointer position
21 : add 255 to pointer position
22 : set pointer position to following number
23 : conditional function call
24 : No operation
25 : write following number to tape

ePU Storage Format

Non-program data is stored with 00 appended before the actual data Program data is stored with 1 then the corresponding type indicator:

  • 0 : Instructions
  • 1 : F
  • 2 : L
  • 3 : N
  • 4 : C

About

Bytecode Format targeted by Hades and eBF, and utilized by ePU Computer Project

Topics

Resources

Stars

Watchers

Forks