0% found this document useful (0 votes)
45 views

Chapter 4 - Requirements For Coding in Assembly Language

The document discusses requirements for coding in assembly language, including defining data types using directives like DB, DW, DD, DQ and DT. It also covers defining arrays, numeric constants, character strings, and using the EQU directive to assign names to constants.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Chapter 4 - Requirements For Coding in Assembly Language

The document discusses requirements for coding in assembly language, including defining data types using directives like DB, DW, DD, DQ and DT. It also covers defining arrays, numeric constants, character strings, and using the EQU directive to assign names to constants.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 13

Lecture 2

Chapter 4 Requirements for coding in Assembly


Language

Chapter Outline
Assembly Language Features
Simplified segment Directive
Defining Types of data
Equate Directive

Defining Types of data


[[name
name]]

Dn
Dn

expression
expression

Name: a program that references a data item does so by


means of name
Dn (Directive): define the data item see next slide
Expression: is an operand may specify an uninitialized value
or constant value
an uninitialized value defined by item ?
EXAMPLE :
DATAX DB ?
3

Defining Types of data (Directive):

Pseudo-op

Stands for

DB
DW
DD
DQ
DT

Define Byte
Define Word
Define Doubleword
Define Quadword
Define Tenbytes

Defining Types of data -Examples


Syntax:
name

DB initial_value

Example:
ALPHA DB 4
BYT
WRD

DB ?
DW -2

a memory byte is associated with the name


ALPHA, and initialized to 4.
a memory byte is associated with the name
BYT, and uninitialized.
a memory word is associated with the
name WRD, and initialized to -2.

The decimal range is:


Unsigned representation: 0 to 255
Signed representation: -128 to 127
5

Defining Types of data Array byte


an array is a sequence of memory bytes or words.
Example:
B_ARRAY DB 10H,20H,30H
Symbol

Address

B_ARRAY
B_ARRAY+1
B_ARRAY+2

200H
201H
202H

Contents
10H
20H
30H

Defining Types of data Array word


Example:
W_ARRAY DW 1000,40,29887,329

Symbol

Address

W_ARRAY
0300H
W_ARRAY+2 0302H
W_ARRAY+4 0304H
W_ARRAY+6 0306H

Contents
1000D
40D
29887D
329D

Defining Types of data :The DUP Operator


It is possible to define arrays whose elements share a common initial
value by using the DUP (duplicate) operator.
Syntax:
[name]

Example:
DELTA DB

Dn

212 DUP (?)

GAMMA DW 100 DUP (0)

Repeat-count(exp)

creates an array of 212


uninitialized bytes.
set up an array of 100 words,
with each entry initialized to 0.
8

High and Low Bytes of a Word


WORD1

DW

1234H

high byte
WORD1+1

low byte
WORD1

Character String
ASCII codes can be initialized with a string of
characters using single quotes like PC or double quotes like PC.
Example:
LETTERS DB
=
LETTERS DB

'ABC'
41H,42H,43H

Inside a string, the assembler differentiates between upper and lower


case.
It is possible to combine characters and numbers in one definition:
Example: MSG
DB
'HELLO',0AH,0DH, '$'
10

Numeric Constant
In an assembly language program we may express data as:
Binary: bit string followed by B or b
Decimal: string of decimal digits followed by an optional D or
d
Hex: begins with a decimal digit and ends with H or h
Real : end with R and the assembler converts a given a
decimal or hex constant to floating point number
Any number may have an optional sign.

11

Numeric Constant
Number

Type

11011
1101B
64223
-21843D
1,234
1B4DH
1B4D
FFFFH
0FFFFH

decimal
binary
decimal
decimal
illegal
hex
illegal
illegal
hex

12

Named Constants - EQU (Equates)


To assign a name to a constant, we can use the EQU pseudo-op.
Syntax:
name EQU constant
Examples:
LF
EQU 0AH
MOV DL,0AH = MOV DL,LF
PROMPT EQU 'Any Thing'
MSG DB 'Any Thing' = MSG DB PROMPT
Note: no memory is allocated for EQU names.
13

You might also like