عروض الجزء الخامس مع روابط مرئية

advertisement
‫بسم هللا الرحمن الرحيم‬
INTEL 8086
Microprocessor
1
Assembler Directives
Conditional and Unconditional Jumps
Complete Assembly Tutorial 1
Complete Assembly Tutorial 2
2

Introduction

8086 Assembler-Dependent
Instructions

Assembly Program Examples

Questions and Problems
3
.
4
.
5

BEGIN DB 44H ;
BEGIN is declared as a byte offset with
contents zero

START DW 25F1H ;
START is declared as a word offset with
contents 25FlH

PROG DD 3FE6D8B2H ;
PROG is declared as a double word (4
bytes) offset with
6

The EQU directive can be used to assign a
name to constants

The statement NUMB EQU 2 1 H directs the
assembler to assign the value 21H every
time it finds NUMB in the program

This means that the assembler reads the
statement MOV BH , NUMB
as
MOV BH, 21H
7

The programmer must load START into DS
as follows
8

The ASSUME directive assigns a logical
segment to a physical segment at any
given time

The ASSUME directive tells the assembler
what addresses will be in the segment
registers at execution time
9

The DUP directive can be used to initialize
several locations to zero

The statement START DW 4 DUP (0)
reserves four words starting at the offset
START in DS and initializes them to zero
10

The DUP directive can also be used to
reserve several locations that need not be
initialized

A question mark must be used with DUP in
this case

The statement BEGIN DB 1 0 0 DUP ( ? )
reserves 100 bytes of uninitialized data
space to an offset BEGIN in DS
11
12

Note that typical 8086 assemblers such as
Microsoft and Hewlett-Packard HP64000
use the ORG directive to load CS and IP

For example, CS and IP can be initialized
with 2000H and 0300H as follows:
13
14
15
16
17
18
19
20
.
21
.
22
Download