Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
80% found this document useful (10 votes)
16K views

Elements of Assembly Language Programming

This document summarizes key elements of assembly language programming and the assembler process. It discusses: 1) The basic components of assembly language, including mnemonic operation codes, symbolic operands, and data declaration statements. 2) The format of assembly language statements, which typically involve an opcode, registers, and memory operands. 3) The major stages of the assembler process, including analysis of the source code to construct symbol tables and determine memory allocation, and synthesis to generate the target machine code program. 4) The pass structure of a typical assembler, with initialization, reading statements, looking up mnemonics, calculating memory usage, and ultimately generating the target code.

Uploaded by

readerSujay
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
80% found this document useful (10 votes)
16K views

Elements of Assembly Language Programming

This document summarizes key elements of assembly language programming and the assembler process. It discusses: 1) The basic components of assembly language, including mnemonic operation codes, symbolic operands, and data declaration statements. 2) The format of assembly language statements, which typically involve an opcode, registers, and memory operands. 3) The major stages of the assembler process, including analysis of the source code to construct symbol tables and determine memory allocation, and synthesis to generate the target machine code program. 4) The pass structure of a typical assembler, with initialization, reading statements, looking up mnemonics, calculating memory usage, and ultimately generating the target code.

Uploaded by

readerSujay
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Chapter 4

ASSEMBLER
Elements of Assembly
Language Programming
Assembly Language: Assembly Language is a machine dependent, low level
programming language which is specific to certain computer system.

Features that simplify programming:


qMnemonic Operation Codes(Opcodes)
Ex: MOVER or MOVEM

qSymbolic Operand:
Ex: DS – Declare as storage
DC – Declare as Constant

qData Declaration:
Ex: X DC ‘-10.5’

Statement Format:
[label] <opcode> <operand spec> [< operand spec >,…..]

01/26/10 Chapter 4: Assembler 2


A Simple Assembly
Language
 Possible Operand Forms:
 AREA – Refers to memory word with which the name is
associated.
 AREA + 5 – Refers to memory word 5 words away from
AREA.
 AREA(4) – Indexing with index register 4.
 AREA + 5(4) – By combining above two.

 Each statement has 2 operands, the first operand is always a register


(AREG, BREG, CREG & DREG). The second operand refers to a
memory word using a sysmbolicname & an optional
displacement.

01/26/10 Chapter 4: Assembler 3


Instruction Format:

Sign Opcode Reg Memory Operand

Ex: Page 88, Fig 4.3

Assembly Language Statements:


1.Imperative statements
Ex: ADD BREG, ONE

1.Declarative statements
Ex: [Label] DS <constant> [Label] DC ‘<value>’
DS (Declare as Storage): Allots memory word of block value same as tha
of the constant mentioned in the statement.
DC (Declare as constant): Constructs memory word containing the value.

Use of constants: Immediate operands and Literals

1.Assembler directives
Ex: Start <constant>

01/26/10 Chapter 4: Assembler 4


A Simple Assembly
scheme
Steps to develop a design specification for an assembler
1. Identify the information necessary to perform a task.
2. Design a suitable data structure to record the information.
3. Determine the processing necessary to obtain and maintain the
information.
4. Determine the processing necessary to perform the task.
Analysis & Synthesis Phase:


Mnemonic Table
Mnemonic Opcode Length

ADD 01 1
SUB 02 1

Source Target
Program
Analysis Phase Synthesis Phase Program

Symbol Address
N 113 Data Access
01/26/10 Chapter 4: Assembler Control Transfer5
Symbol Table
Mnemonics Table is a fixed table which is merely accessed by the analysis and
synthesis phases, while the Symbol table is constructed during analysis and
used during synthesis

Analysis Phase Synthesis Phase

01/26/10 Chapter 4: Assembler 6


Pass Structure of
Assembler
Start

Initialize Data Structures


E
Read Next Statement

Yes
Label Present ? Enter (Lable, LC) in SYMTAB

No

Search in OPTAB

01/26/10 Chapter 4: Assembler 7


Yes
M/C Instruction ?

LC = LC + Length No

No
No DC/DS ?
Literal Used ?
Type of Directive
Yes
Yes
LTORG ORIGIN END
Calculate Storage Size
Enter into LITTAB

Allocate literals update Evaluate


LITTAB POOLTAB
operand
Correct
ADD
SYMTAB E

A
01/26/10 Chapter 4: Assembler
B C D 8
E A B C D

Yes
END ?

No
Go to Pass II
Update LC

Generate Intermediate Code

01/26/10 Chapter 4: Assembler 9


Pass II Structure of
Assembler
Start

Initialize target code area/file set END FLAG=OFF

Read Next Statement

Search in OPTAB

Yes
M/C Instruction ?

No
A
B
01/26/10 Chapter 4: Assembler 10

You might also like