Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/koder77/l1vm
L1VM - a tiny virtual machine with a 64 bit core
https://github.com/koder77/l1vm
assembler c compiler cpu machine tiny virtual
Last synced: about 20 hours ago
JSON representation
L1VM - a tiny virtual machine with a 64 bit core
- Host: GitHub
- URL: https://github.com/koder77/l1vm
- Owner: koder77
- License: gpl-3.0
- Created: 2018-01-04T21:37:59.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-01-18T22:07:32.000Z (9 days ago)
- Last Synced: 2025-01-19T21:11:32.658Z (8 days ago)
- Topics: assembler, c, compiler, cpu, machine, tiny, virtual
- Language: C++
- Homepage: https://midnight-coding.de/blog/index.html
- Size: 9.94 MB
- Stars: 131
- Watchers: 9
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README-interrupts.txt
- Changelog: ChangeLog
- Funding: .github/FUNDING.yaml
- License: COPYING
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
L1VM interrupts table
=====================INTR0
-----
0: load module
1: free module
2: set module function
3: call module function
4: print integer
5: print double float
6: print string
7: print newline
8: delay
9: input integer
10: input double float
11: input string
12: shell arguments number
13: get shell argument
14: show stack pointer
15: return number of CPU cores
16: return endianess of host: little endian = 0, big endian = 1
17: return current time: hh mm ss
18: return current date: year month day
19: return weekday since sunday: 0 - 6
20: print integer number with format string
21: print double number with format string setup
22: print int16 integer number
23: print int32 integer number
24: start timer
25: stop timer
26: stack check: exit program if there is something on the stack, while it should not be there!!
27: print current epos and "INTR0: 27 DEBUG marking"
251: check double number overflow
252: get overflow flag
253: run JIT-compiler
254: run JIT-code
255: EXIT programINTR1
-----
0: run new CPU
1: join threads
2: lock data mutex
3: unlock data mutex
4: return number of current CPU core
5: return number of free CPU cores
6: set global mutex
7: unset global mutex
255: thread EXIT