Intel 8086 CPU Emulator
An Intel 8086 CPU Emulator written in pure PHP.
The project outlines as described in my blog post about Open Source Software Collaboration.
- The main purpose of this software is to emulate the Intel 8086 CPU using pure PHP.
- The features should not go beyond Intel's features and functions. So the features of this software are limited to those of the Intel 8086 CPU.
- This list is open. Feel free to request features.
In order to have a TTY for the in- and output you can specify
--tty <path>. This will start a
socat subprocess to create an interface between PHP and TTY. The TTY then can be accessed using
Optional, to use a different installation path for the
socat binary you can specify
- Open a shell and run
- Open another shell and run
Byte- 8 bit, one single character.
Word- 16 bit, or 2 Byte.
- Wikipedia: Intel 8086
- Wikipedia: Processor Register
- Wikipedia: FLAGS Register
- Wikipedia: Parity Flag
- Wikipedia: Word
- 8086 opcodes
- StackExchange: Emulate an Intel 8086 CPU
- x86 Registers
- Encoding x86 Instructions
- Encoding x86 Instruction Operands, MOD-REG-R/M Byte
- X86 Assembly/X86 Architecture
- X86-64 Instruction Encoding
- OUT -- Output to Port
- MDA, CGA, HGC, EGA, VGA, SVGA, TIGA (German)
- 8086/88 Assembler Befehlsreferenz (German)
- X86 Opcode and Instruction Reference
- Understanding Intel Instruction Sizes
Copyright (C) 2017 Christian Mayer https://fox21.at
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.