Podcast
Questions and Answers
Which language level is characterized by using mnemonics to represent instructions?
Which language level is characterized by using mnemonics to represent instructions?
- Binary Language
- Assembly Language (correct)
- Machine Language
- High Level Languages
What is the primary function of an assembler in the context of programming?
What is the primary function of an assembler in the context of programming?
- To convert assembly language to machine language (correct)
- To execute high-level programming languages
- To manage memory allocation
- To provide a graphical user interface
Which of the following programming languages is considered a high-level language?
Which of the following programming languages is considered a high-level language?
- FORTRAN (correct)
- 8086 Assembly
- Binary Code
- Machine Code
What does an assembler do in the process of program execution?
What does an assembler do in the process of program execution?
What is a significant disadvantage of programming directly in machine language?
What is a significant disadvantage of programming directly in machine language?
Which of the following best describes high-level programming languages?
Which of the following best describes high-level programming languages?
Which instruction types are categorized as sequential control flow instructions?
Which instruction types are categorized as sequential control flow instructions?
In which addressing mode is the immediate data incorporated directly into the instruction?
In which addressing mode is the immediate data incorporated directly into the instruction?
What significantly differentiates assembly language from high-level languages?
What significantly differentiates assembly language from high-level languages?
Which type of programming language typically requires less understanding of the underlying hardware?
Which type of programming language typically requires less understanding of the underlying hardware?
How is the effective address computed in the direct addressing mode?
How is the effective address computed in the direct addressing mode?
In the context of programming a microcomputer, what is the role of RAM?
In the context of programming a microcomputer, what is the role of RAM?
What role does a decoder play in the CPU during program execution?
What role does a decoder play in the CPU during program execution?
Which of the following is not a control transfer instruction?
Which of the following is not a control transfer instruction?
What type of data does immediate addressing mode allow as a part of the instruction?
What type of data does immediate addressing mode allow as a part of the instruction?
Which of the following best describes control transfer instructions?
Which of the following best describes control transfer instructions?
Flashcards
Machine Language
Machine Language
Binary codes representing instructions for the microcomputer.
Assembly Language
Assembly Language
Uses mnemonics (short abbreviations) to represent instructions.
High Level Languages
High Level Languages
English-like statements that represent many machine code instructions.
Assembler
Assembler
Signup and view all the flashcards
Microprocessor
Microprocessor
Signup and view all the flashcards
RAM (Random Access Memory)
RAM (Random Access Memory)
Signup and view all the flashcards
ROM (Read Only Memory)
ROM (Read Only Memory)
Signup and view all the flashcards
I/O Devices
I/O Devices
Signup and view all the flashcards
Interpreter (or Compiler)
Interpreter (or Compiler)
Signup and view all the flashcards
Addressing Mode
Addressing Mode
Signup and view all the flashcards
Sequential Control Flow
Sequential Control Flow
Signup and view all the flashcards
Control Transfer Instructions
Control Transfer Instructions
Signup and view all the flashcards
Immediate Addressing
Immediate Addressing
Signup and view all the flashcards
Direct Addressing
Direct Addressing
Signup and view all the flashcards
Effective Address
Effective Address
Signup and view all the flashcards
Study Notes
Chapter 3: Programming the 8086 in Assembly Language
- The 8086 microprocessor is the subject discussed
- Topics covered include: the programmer's view, basics of programming, 8086 addressing modes, and 8086 instruction set overview
Outline
- The microcomputer (programmer's view)
- Basics of programming
- 8086 addressing modes
- 8086 instruction set overview
Programmer's View
- A diagram shows the components of a microcomputer system, including the microprocessor, bus interface logic, memory (RAM, SRAM, DRAM, ROM, PROM, EPROM, EEPROM), I/O devices (keypad, display, HDD, serial port, parallel port) and the communication links between them.
- The microprocessor is responsible for controlling and managing the system
- The bus interface manages data exchange between components
Basics
- There are three language levels for programming microcomputers
- Machine language uses binary codes for instructions. It is complex as binary codes need to be memorized and maintained, and errors can be difficult to spot.
- Assembly language uses mnemonics (letters). It is more human-readable and easier to debug. The assembly language needs an assembler to translate it to machine code
- High-level languages (e.g., BASIC, C, C++, Java) are even more English-like, but an interpreter or compiler is required to translate them into machine code.
Addressing Modes
-
Addressing modes determine how operands are accessed
-
Sequential control flow instructions execute instructions in order.
-
Control transfer instructions jump to specified addresses
-
Detailed example addressing modes include (Immediate, Direct, Register, Register Indirect,Indexed, Relative Based Indexed)
-
Examples of instructions associated with each mode, are given
Instruction Set of 8086 Overview
- 8086 instructions are grouped into six categories
- Data transfer instructions (e.g., MOV, LEA, IN/OUT, PUSH/POP)
- Arithmetic instructions (e.g., ADD, SUB, INC, CMP, MUL, DIV)
- Bit manipulation instructions (e.g., AND, OR, XOR, NOT, shift/rotate operations)
- String instructions (e.g., MOVS, LODS, STOS)
- Program execution transfer instructions (e.g., JMP, CALL, RET, LOOP, INT)
- Processor control instructions (e.g., HLT, WAIT, NOP)
Basic Instructions
- Categorizing examples of each instruction type
- Detailed description of data transfer instructions, including examples
Assembler Directives (Preprocessors)
- ASSUME: Specifies the segment the assembler should address
- DB: Declares variables and saves storage for them
- END: Marks the end of the program
- EQU: Assigns names to values or symbols
Processor Directives
- EVEN: Aligns data/instructions to the even bank
- EXTRN / GLOBAL: Makes symbols available to other modules/files
- INCLUDE: Includes source code from external files
- LENGTH: Determines the number of element in an array or string
Processor Directives (Examples)
- NAME: Names for assembly modules
- OFFSET: Calculates offset/displacement from start of segment
- ORG: Sets the location counter to a value for program elements
Program Examples
- Includes example programs, showing the usage of various instructions.
- Demonstrating how to determine the general purpose register and flag content post-execution.
- Celsius-to-Fahrenheit conversion demonstrations
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.