14 个重大版本发布

0.19.0 2024年5月10日
0.18.0 2024年3月29日
0.17.0 2024年2月10日
0.16.0 2023年8月6日
0.12.0 2021年11月6日

#27 in 仿真器

Download history 127/week @ 2024-05-08 14/week @ 2024-05-15 16/week @ 2024-05-22 1/week @ 2024-05-29 4/week @ 2024-06-05 7/week @ 2024-06-12 1/week @ 2024-06-19 5/week @ 2024-07-03

1,004 每月下载量
teletype 中使用

MIT 许可证

135KB
3.5K SLoC

intel8080

Current Crates.io Version Current docs Version Downloads badge

又一个Intel 8080仿真器。它通过了TST8080、8080PRE、CPUTEST和8080EXM测试。

小型循环示例

use intel8080::CPU;
let mut c = CPU::new();
c.pc = 0x0100;                      // sets pc to $100
// Here we create a small machine code program for demo purpose.
// Usually you will rather load an assembled code in memory (see below).
c.bus.write_byte(0x0100, 0x3e);     // MVI A,$0F
c.bus.write_byte(0x0101, 0x0F);
c.bus.write_byte(0x0102, 0x3d);     // DCR A
c.bus.write_byte(0x0103, 0xc2);     // JNZ $0102
c.bus.write_word(0x0104, 0x0102);
c.bus.write_byte(0x0106, 0xc9);     // RET
loop {
    c.execute();
    if c.pc == 0x0000 { break }
}

调试模式在每个execute()之后将CPU状态和反汇编代码输出到内部字符串

3E 0f     MVI A,$0f
PC : 0x0003	SP : 0xff00	S : 0	Z : 0	A : 0	P : 0	C : 0
B : 0x00	C : 0x00	D : 0x00	E : 0x00	H : 0x00	L : 0x00 ...

包括一个“cpmloader”,可以加载并执行基本的CP/M程序

cargo run --release --example cpmrun bin/helloworld.bin

您还可以检查我的 Altair 8800 / 88-SIO / teletype仿真器

提供的源代码示例可以使用Retro Assembler进行汇编。

许可证:MIT

无运行时依赖