17 个版本
0.1.17 | 2024 年 4 月 21 日 |
---|---|
0.1.16 | 2024 年 4 月 20 日 |
#51 in 模拟器
每月 30 次下载
59KB
686 行
Osiris/Set:Standard
此软件包为使用 osiris-data 和 osiris-process 软件包构建的虚拟机提供指令集。
在我的工作区中的示例实现。
警告
在 v1.0.0 之前,API 可能会发生变化很多 :
- 此集合不完整。计划了很多,但还需要定义更多,
- 将添加操作,
- 参数方案可能会改变,
- 操作可能会被移动或删除。
操作
0x0000
无操作
流程控制
0x0101
跳转:地址
0x0102
调用:地址
0x0103
返回0x0104
gotodirect:32
0x0105
gosubdirect:32
0x0108
loop:counter_init
0x0109
nextdirect:32
0x010A
goto-if:CMP
direct:32
0x010B
gosub-if:CMP
direct:32
0x010C
goto-check:checked
direct:32
0x010D
gosub-check:checked
direct:32
0x010E
skip-if:CMP
0x010F
skip-check:checked
0x01FF
停止
寄存器控制
0x0201
设置顶部:target
top:32
0x0202
设置底部:target
bottom:32
0x0203
清除范围0x0204
移动到浮点数:float
unsigned:16
0x0205
从浮点数移动:unsigned
float:16
0x0210
入栈:unsigned
0x0211
出栈:unsigned
0x0220
获取比较:target
内存控制
0x0301
存储单词:target
[start:end]
0x0302
加载单词:target
[start:end]
0x0303
获取内存大小:target
0x0304
存储浮点数:target
[start:end]
0x0305
加载浮点数:target
[start:end]
逻辑运算
0x0400
是:CMP
target:16
:compare:16
0x0401
非:target
0:origin:16
0x0402
或:target
[start:end]
0x0403
与:target
[start:end]
0x0404
异或:target
[start:end]
0x0405
按位非:target
[start:end]
0x0406
按位与非:target
[start:end]
0x0407
按位异或非:target
[start:end]
无符号整数算术
0x1001
sum-unsigned:target
[start:end]
0x1002
product-unsigned:target
[start:end]
0x1003
difference-unsigned:target
[start:end]
0x1004
quotient-unsigned:target
[start:end]
0x100F
compare-unsignedr1:16
:r2:16
许可证
- 版权所有 (c) 2024 Sébastien Geldreich
- MIT 许可证
依赖项
~75KB