How amey-thakur/8086-assembly-language-programs works
This repository combines a browser-based 8086 assembler/emulator with a categorized assembly-program library. The user edits or selects a program, assembles it, then runs or steps it while inspecting processor state and output. The graph separates source preparation, instruction execution, machine state and services, interface, and the educational corpus. Edges are limited to README statements and source-index references or excerpts; unsampled catalogue categories are represented by their existing directories rather than inferred internals.
Main entry points: app.js App controller · cpu.js CPU machine · executor.js Instruction executor · programs.js Program catalogue
Components 28
Simulator interface
- App controller
Source Code/8086 Microprocessor Simulator/js/ui/app.js - Source editor
Source Code/8086 Microprocessor Simulator/js/ui/editor.js - State inspector
Source Code/8086 Microprocessor Simulator/js/ui/inspector.js - Console I/O
Source Code/8086 Microprocessor Simulator/js/ui/console.js - Keyboard shortcuts
Source Code/8086 Microprocessor Simulator/js/ui/shortcuts.js - Resizable panels
Source Code/8086 Microprocessor Simulator/js/ui/panels.js - Program browser
Source Code/8086 Microprocessor Simulator/js/ui/library.js
Assembly pipeline
- Two-pass assembler
Source Code/8086 Microprocessor Simulator/js/asm/assembler.js - Source lexer
Source Code/8086 Microprocessor Simulator/js/asm/lexer.js - Expression evaluator
Source Code/8086 Microprocessor Simulator/js/asm/expressions.js - Macro expander
Source Code/8086 Microprocessor Simulator/js/asm/macros.js - Operand parser
Source Code/8086 Microprocessor Simulator/js/asm/operands.js
8086 emulation
- Instruction executor
Source Code/8086 Microprocessor Simulator/js/exec/executor.js - CPU machine
Source Code/8086 Microprocessor Simulator/js/cpu/cpu.js - Registers
Source Code/8086 Microprocessor Simulator/js/cpu/registers.js - Segmented memory
Source Code/8086 Microprocessor Simulator/js/cpu/memory.js - Processor flags
Source Code/8086 Microprocessor Simulator/js/cpu/flags.js - Arithmetic unit
Source Code/8086 Microprocessor Simulator/js/cpu/alu.js - Shift unit
Source Code/8086 Microprocessor Simulator/js/cpu/shifter.js - Interrupt services
Source Code/8086 Microprocessor Simulator/js/exec/interrupts.js - String instructions
Source Code/8086 Microprocessor Simulator/js/exec/strings.js - Virtual devices
Source Code/8086 Microprocessor Simulator/js/exec/devices.js
Program collection
- Program catalogue
Source Code/8086 Microprocessor Simulator/programs.js - Instruction examples
Source Code/Addressing Modes - Algorithms and data
Source Code/Sorting - System interfaces
Source Code/DOS Services - Graphics programs
Source Code/Graphics
Other components
- Learner
Connections 38
- Learner → App controller: uses
README.md - App controller → Source editor: creates
Source Code/8086 Microprocessor Simulator/js/ui/app.js - App controller → State inspector: creates
Source Code/8086 Microprocessor Simulator/js/ui/app.js - App controller → Console I/O: creates
Source Code/8086 Microprocessor Simulator/js/ui/app.js - App controller → Keyboard shortcuts: registers actions
Source Code/8086 Microprocessor Simulator/js/ui/app.js - App controller → Resizable panels: creates
Source Code/8086 Microprocessor Simulator/js/ui/app.js - App controller → Program browser: uses
Source Code/8086 Microprocessor Simulator/js/ui/app.js - Program browser → Program catalogue: reads
Source Code/8086 Microprocessor Simulator/js/ui/library.js - App controller → Two-pass assembler: assembles source
Source Code/8086 Microprocessor Simulator/js/ui/app.js - App controller → CPU machine: owns machine
Source Code/8086 Microprocessor Simulator/js/ui/app.js - App controller → Instruction executor: runs instructions
Source Code/8086 Microprocessor Simulator/js/ui/app.js - Two-pass assembler → Macro expander: expands macros
Source Code/8086 Microprocessor Simulator/js/asm/assembler.js - Two-pass assembler → Source lexer: tokenizes source
Source Code/8086 Microprocessor Simulator/js/asm/assembler.js - Two-pass assembler → Operand parser: parses operands
Source Code/8086 Microprocessor Simulator/js/asm/assembler.js - Macro expander → Expression evaluator: evaluates expressions
Source Code/8086 Microprocessor Simulator/js/asm/macros.js - Expression evaluator → Source lexer: parses literals
Source Code/8086 Microprocessor Simulator/js/asm/expressions.js - Operand parser → Expression evaluator: evaluates expressions
Source Code/8086 Microprocessor Simulator/js/asm/operands.js - Operand parser → Source lexer: parses numbers
Source Code/8086 Microprocessor Simulator/js/asm/operands.js - Instruction executor → Operand parser: resolves operands
Source Code/8086 Microprocessor Simulator/js/exec/executor.js - Instruction executor → CPU machine: executes against
Source Code/8086 Microprocessor Simulator/js/exec/executor.js - Instruction executor → Arithmetic unit: dispatches arithmetic
Source Code/8086 Microprocessor Simulator/js/exec/executor.js - Instruction executor → Shift unit: dispatches shifts
Source Code/8086 Microprocessor Simulator/js/exec/executor.js - Instruction executor → Interrupt services: dispatches interrupts
Source Code/8086 Microprocessor Simulator/js/exec/executor.js - Instruction executor → String instructions: dispatches strings
Source Code/8086 Microprocessor Simulator/js/exec/executor.js - CPU machine → Registers: creates
Source Code/8086 Microprocessor Simulator/js/cpu/cpu.js - CPU machine → Segmented memory: creates
Source Code/8086 Microprocessor Simulator/js/cpu/cpu.js - CPU machine → Processor flags: creates
Source Code/8086 Microprocessor Simulator/js/cpu/cpu.js - CPU machine → Virtual devices: creates services
Source Code/8086 Microprocessor Simulator/js/cpu/cpu.js - Arithmetic unit → Processor flags: updates flags
Source Code/8086 Microprocessor Simulator/js/cpu/alu.js - Shift unit → Processor flags: updates flags
Source Code/8086 Microprocessor Simulator/js/cpu/shifter.js - Interrupt services → CPU machine: uses machine state
Source Code/8086 Microprocessor Simulator/js/exec/interrupts.js - String instructions → CPU machine: uses machine state
Source Code/8086 Microprocessor Simulator/js/exec/strings.js - State inspector → Learner: shows state
README.md - Console I/O → Learner: shows output
README.md - Program catalogue → Instruction examples: indexes programs
Source Code/8086 Microprocessor Simulator/programs.js - Program catalogue → Algorithms and data: indexes programs
Source Code/8086 Microprocessor Simulator/programs.js - Program catalogue → System interfaces: indexes programs
Source Code/8086 Microprocessor Simulator/programs.js - Program catalogue → Graphics programs: indexes programs
Source Code/8086 Microprocessor Simulator/programs.js