1/82
Historical Development of Computer
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
DEBUG
A line-oriented debugger in DOS, used as an assembler, disassembler, or hex dump tool
DEBUG allows to
Examine memory contents interactively
Modify memory data
Execute assembly programs
Command: CLS | Function: ?
Clear screen
Command: CD | Function: ?
Change directory
Command: DIR | Function: ?
List directory
Command: COPY | Function: ?
Copy files
Command: DEL | Function: ?
Delete file
Command: REN | Function: ?
Rename file
Command: MD | Function: ?
Make directory
Command: RD | Function: ?
Remove directory
Advantages of DEBUG
Free and universally available
Simple to use
Requires minimal memory
Command: Q | Description: ? | Example: -Q
Quit DEBUG and return to DOS
Command: H | Description: ? | Example: -H 000C 0008
Perform hex addition and subtraction (4-bit numbers)
Command: R | Description: ? | Example: -R, -R CX
Display or modify registers
Command: E | Description: ? | Example: -E 0200
Enter data or instructions into memory at a given address
Command: D | Description: ? | Example: -D 0200
Display memory contents (hex and ASCII) starting at address
Command: A | Description: ? | Example: -A 0100
Assemble program from mnemonic code into machine code
Command: T | Description: ? | Example: -T
Trace execution one instruction at a time
Command: G | Description: ? | Example: -G
Run the loaded program in memory
Command: U | Description: ? | Example: -U 0100
Unassemble machine code to mnemonic starting at address
Command: N | Description: ? | Example: -N A:SAMPLE.COM
Name the program file (8 character base + .COM extension)
Command: W | Description: ? | Example: -W
Write the program to disk
Rules of Debug Commands
Commands are not case sensitive.
Numbers are assumed to be hexadecimal unless specified.
Syntax for segment:offset is <segment>:<offset>.
Command: MOV | Description: ?
Copy/transfer data
Command: ADD | Description: ?
Add values
Command: SUB | Description: ?
Subtract values
Command: MUL | Description: ?
Multiply register by AX
Command: DIV | Description: ?
Divide AX by register
Command: DIV | Description: ?
Divide AX by register
Command: INC | Description: ?
Increment register by 1
Command: DEC | Description: ?
Decrement register by 1
Command: LOOP | Description: ?
Repeat block CX times
Von Neumann Architecture
Foundation of most modern computers
Stores both data and instructions in the same memory
Uses a single shared bus for data and instructions
Fixed Program Computers
Non-programmable, specific tasks (e.g., calculators)
Stored Program Computers
Can be programmed with different tasks (general-purpose)
Component: ? | Function: Stores data and instructions
Memory
Component: ? | Function: Executes instructions; includes ALU and Control Unit
CPU
Component: ? | Function: Performs arithmetic and logical operations
Arithmetic Logic Unit (ALU)
Component: ? | Function: Directs data flow, manages CPU operations
Control Unit (CU)
Component: ? | Function: Holds address of the next instruction to execute
Program Counter (PC)
Component: ? | Function: Stores current instruction being executed
Instruction Register (IR)
Component: ? | Function: Stores memory address for data/instruction fetch or store
Memory Address Register (MAR)
Component: ? | Function: Temporarily holds data moved between memory and CPU
Memory Data Register (MDR)
Component: ? | Function: Holds intermediate results in arithmetic/logical operations
Accumulator
Component: ? | Function: Temporary data storage during processing
General Purpose Registers
Component: ? | Function: Transfers data, addresses, and control signals across CPU, memory, and I/O devices
Bus
Component: ? | Function: Interface and hardware for communication with external devices
I/O Interface & Devices
Key Characteristics of Von Neumann Architecture
Single memory for both data and instructions
Shared bus for communication
Sequential execution of instructions, one at a time
Von Neumann Bottleneck
Limits CPU performance because data and instructions share the same bus and memory
Cannot process instructions and data simultaneously
Performance constrained by memory access speed and bus bandwidth
Advantages of Von Neumann Architecture
Simplified design and hardware
Cost-effective implementation
Flexible and supports general-purpose computing
Easier programming due to unified memory
Widely used in modern computers
Limitations of Von Neumann Architecture
Memory bottleneck limits performance
Sequential processing limits speed for complex operations
Increased power consumption due to frequent memory access
Limited scalability for high-performance tasks
Latency delays in fetching instructions and data
Programs & Execution
Stored on disk (OS, data, apps)
Loaded into memory before execution
CPU uses registers then executes arithmetic, data movement, addressing
Unit: ? | Description: Smallest unit; 0 (off) or 1 (on)
Bit
Unit: ? | Description: 8 bits + 1 parity bit (odd parity)
Byte
Unit: ? | Description: 2 bytes (16 bits)
Word
Unit: ? | Description: 4 bytes (32 bits)
Doubleword
Unit: ? | Description: 8 bytes (64 bits)
Quadword
Unit: ? | Description: 16 bytes (128 bits)
Paragraph
Unit: ? | Description: 1,024 bytes (2¹⁰)
Kilobyte (KB)
Unit: ? | Description: 1,048,576 bytes (2²⁰)
Megabyte (MB)
Processor Registers
Provide fast storage inside the CPU to avoid slow memory access
General Purpose Register
For arithmetic, logical operations, and temporary data. Used as:
32-bit (EAX, EBX, ECX, EDX)
16-bit (AX, BX, CX, DX)
8-bit parts (AH, AL, etc.)
Pointer Registers
Hold addresses for instructions and stack
Instruction Pointer (IP)
Stack Pointer (SP)
Base Pointer (BP).
Index Registers
Used for string and indexed operations
Source Index (SI)
Destination Index (DI)
Control Registers
Instruction Pointer and Flags registers controlling operation states.
Register: AX | Special Use: ?
Primary accumulator, I/O, arithmetic
Register: BX | Special Use: ?
Base register for addressing
Register: CX | Special Use: ?
Count register for loops
Register: DX | Special Use: ?
Data register, I/O, multiplication/division
Flag: Overflow (OF) | Meaning: ?
Overflow occurred in arithmetic operation
Flag: Direction (DF) | Meaning: ?
String operation direction (0=left-to-right, 1=right-to-left)
Flag: Interrupt (IF) | Meaning: ?
Enables/disables external interrupts
Flag: Trap (TF) | Meaning: ?
Enables single-step processor mode
Flag: Sign (SF) | Meaning: ?
Indicates sign of result (0=positive, 1=negative)
Flag: Zero (ZF) | Meaning: ?
Zero result flag (1 if result is zero)
Flag: Auxiliary Carry (AF) | Meaning: ?
Carry between bits 3 and 4
Flag: Parity (PF) | Meaning: ?
Parity of result (even/odd number of 1-bits)
Flag: Carry (CF) | Meaning: ?
Carry from high-order bit in arithmetic/shift
Segment Registers
Used to access different segments in memory for code, data, and stack
Register: CS | Purpose: ?
Code segment (instructions)
Register: DS | Purpose: ?
Data segment
Register: SS | Purpose: ?
Stack segment
Register: ES, FS, GS | Purpose: ?
Extra segments for data