thefox / i8086emu
Intel 8086 CPU 模拟器
dev-master
2020-03-23 19:54 UTC
Requires
- php: ^7.2
- nesbot/carbon: ^1.32.0
- symfony/console: ^4.1.0
- symfony/process: ^4.1.0
Requires (Dev)
- ext-pcntl: *
- ext-xdebug: *
- phpstan/phpstan: ^0.9.0
- phpunit/phpunit: ^7.2.0
- squizlabs/php_codesniffer: ^3.3.0
This package is auto-updated.
Last update: 2024-09-24 05:51:10 UTC
README
使用纯PHP编写的Intel 8086 CPU模拟器。
项目概述
- 本软件的主要目的是使用纯PHP模拟Intel 8086 CPU。
- 功能不应超出Intel的功能和功能。因此,本软件的功能仅限于Intel 8086 CPU的功能。
- 此列表是开放的。请随意提出功能请求。
编译BIOS
运行make bios/bios
。
TTY
为了有输入输出的TTY,可以指定--tty <path>
。这将启动一个socat
子进程以在PHP和TTY之间创建接口。然后可以使用screen
访问TTY。
可选,要使用不同的socat
二进制安装路径,可以指定--socat <path>
。
- 安装
socat
。 - 打开一个shell并运行
./bin/screen.sh
。 - 打开另一个shell并运行
./bin/run.sh
。
术语
字节
- 8位,一个单独的字符。字
- 16位,或2字节。
8086 资源
- 维基百科:Intel 8086
- 维基百科:处理器寄存器
- 维基百科:FLAGS 寄存器
- 维基百科:奇偶校验位
- 维基百科:字
- 8086 指令集
- StackExchange:模拟Intel 8086 CPU
- x86 寄存器
- 编码x86指令
- 编码x86指令操作数,MOD-REG-R/M字节
- X86汇编/X86架构
- X86-64指令编码
- OUT -- 输出到端口
- MDA, CGA, HGC, EGA, VGA, SVGA, TIGA (德语)
- 8086/88汇编指令参考 (德语)
- X86指令集和指令参考
- 理解Intel指令大小