Programming Model of 8086
Assembly Language
Program and Assembler Directives
Programming Model of 8086
• - Represents internal architecture visible to
programmer
• - Registers:
• • General Purpose: AX, BX, CX, DX
• • Pointer & Index: SP, BP, SI, DI
• • Segment Registers: CS, DS, SS, ES
• • Instruction Pointer: IP
• • Flag Register: Status & Control flags
• - Registers classified as: Data, Address, Control
8086 Assembly Language Program
• - Program consists of:
• • Code segment – instructions
• • Data segment – variables, constants
• • Stack segment – temporary data
• - Steps:
• 1. Define segments (data, code, stack)
• 2. Initialize data and registers
• 3. Write instructions (logic)
Assembler Directives (Part 1)
• - Directives: Instructions for assembler (not
executed)
• - Common directives:
• • ASSUME → Associates segment registers
• • SEGMENT / ENDS → Defines beginning &
end of a segment
• • DB → Define Byte data
• • DW → Define Word data
• • EQU → Assigns a constant value
Assembler Directives (Part 2)
• - More directives:
• • ORG → Sets starting address
• • END → Marks end of program
• • PROC / ENDP → Defines procedures
• • PUBLIC / EXTRN → For modular
programming
• - Importance:
• • Organizes program