# NEMU

NEMU(NJU Emulator) is a simple but complete full-system x86 emulator designed for teaching purpose.
Small x86 programs can run under NEMU.

The main features of NEMU include
* a small monitor with a simple debugger
  * single step
  * register/memory examination
  * expression evaluation without the support of symbols
  * watch point
  * differential testing with reference design (e.g. QEMU)
* CPU core with support of most common used x86 instructions in protected mode
  * real mode is not supported
  * x87 floating point instructions are not supported
* memory
* I386 paging
  * TLB is optional
  * protection is not supported
* I386 interrupt and exception
  * protection is not supported
* 4 devices
  * serial, timer, keyboard, VGA
  * most of them are simplified and unprogrammable
* 2 types of I/O
  * port-mapped I/O and memory-mapped I/O
