5 个版本
| 0.0.5 | 2022 年 1 月 6 日 |
|---|---|
| 0.0.4 | 2022 年 1 月 4 日 |
| 0.0.3 | 2021 年 12 月 31 日 |
| 0.0.2 | 2021 年 12 月 31 日 |
| 0.0.1 | 2021 年 12 月 31 日 |
4 在 #64
60KB
1K SLoC
M64
⚠️ 此软件包处于 预alpha 阶段,目前不应用于任何目的。
MAXCOM 64 个人电脑模拟器。
用法
M64 汇编解释器
cargo install m64
m64 run my_program.m64
示例 M64 汇编程序可在 ./samples 中找到。
规格
指令集
| opcode | 参数 (未记录) |
|---|---|
| MOV | |
| LOG | |
| PSH | |
| POP | |
| ADD | |
| SUB | |
| MUL | |
| DIV | |
| MOD | |
| CMP | |
| RUN | |
| RET | |
| YLD | |
| JMP | |
| JLT | |
| JGT | |
| JEQ | |
| JNE | |
| NOP | |
| HLT |
内存映射 (NYI)
| 开始 | 结束 | 使用 | 字节表示 |
|---|---|---|---|
| 0x0000 | 0x03E7 | 屏幕内容 | 单元格中字符的索引 |
| 0x03E8 | 0x07CF | 屏幕颜色 | 0xFB,其中 F 是前景颜色,B 是背景颜色 |
| 0x07D0 | 0x0E9F | 字符映射 | 每个字符 8 个字节,每个位是一个像素,字节是行 |
| 0x0EA0 | 0x0F9F | 程序堆栈 | 任何数据 |
标准库 (NYI)
M64 随附一组函数库,可以通过将参数推送到堆栈并执行 RUN {function code} 来调用。
| 函数名 | 函数代码 | 参数... | 返回值 |
|---|---|---|---|
| 0x00 | 以 null 结尾的字符串 | ||
| getch | 0x01 | block | ASCII 码 |
| time | 0x02 | 时间戳 |
依赖项
~2.6–4MB
~76K SLoC