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返回0x0104gotodirect:320x0105gosubdirect:320x0108loop:counter_init0x0109nextdirect:320x010Agoto-if:CMPdirect:320x010Bgosub-if:CMPdirect:320x010Cgoto-check:checkeddirect:320x010Dgosub-check:checkeddirect:320x010Eskip-if:CMP0x010Fskip-check:checked0x01FF停止
寄存器控制
0x0201设置顶部:targettop:320x0202设置底部:targetbottom:320x0203清除范围0x0204移动到浮点数:floatunsigned:160x0205从浮点数移动:unsignedfloat:160x0210入栈:unsigned0x0211出栈:unsigned0x0220获取比较:target
内存控制
0x0301存储单词:target[start:end]0x0302加载单词:target[start:end]0x0303获取内存大小:target0x0304存储浮点数:target[start:end]0x0305加载浮点数:target[start:end]
逻辑运算
0x0400是:CMPtarget:16:compare:160x0401非:target0:origin:160x0402或:target[start:end]0x0403与:target[start:end]0x0404异或:target[start:end]0x0405按位非:target[start:end]0x0406按位与非:target[start:end]0x0407按位异或非:target[start:end]
无符号整数算术
0x1001sum-unsigned:target[start:end]0x1002product-unsigned:target[start:end]0x1003difference-unsigned:target[start:end]0x1004quotient-unsigned:target[start:end]0x100Fcompare-unsignedr1:16:r2:16
许可证
- 版权所有 (c) 2024 Sébastien Geldreich
- MIT 许可证
依赖项
~75KB