The User's View: A User Is A Person Employing The Computer To Do Useful Work Examples of Useful Work Include
The User's View: A User Is A Person Employing The Computer To Do Useful Work Examples of Useful Work Include
mov alx, 34h 1011 1000 0011 0100 0000 0000 B8 34 00 Data transfer
3
Useful tools for
Assembly Language Programmers
• The assembler
• The linker
• The debugger or monitor
• The development system
4
The Assembler
Assembler is a program written for converting
the assembly language program into its
equivalent machine language program, and the
process of conversion is called the assembly
process
The assembly process can also be done
without using a computer, but it is very
tedious and error-prone
An “assembler” that runs on one processor
and translates an assembly language program
into the machine language of another
5
processor is called a “cross assembler”
The Linker
• When developing large programs,
separate modules can be developed
and assembled by different persons
working at the same time
• The linker links those different
modules together to form a single
module for loading and execution.
• It also resolves cross references and
determines the starting point for
execution of the program
6
The Debugger
• Working in assembly language is
tedious and error-prone
• “Run-time” errors often crash the
system instead of smoothly
returning the user to the operating
system
• A “debugger”, also called a
“monitor”, is a computer program
used to help in finding the logical
errors in the program
7
The Debugger (continued…)
• Useful functions which are
available with most of the
debuggers include:
• Display and alter the contents of
memory, CPU registers and flags
• Disassembly of machine code
• Single-stepping and breakpoints
8
Differences between
HLLs and Assembly Language
9
Differences between
HLLs and Assembly Language
(continued…)
10
Difference between
HLLs and Assembly Language
(continued…)
20
Concept of the
Implementation Domain
(continued…)
21
A 2-1 multiplexer in different
implementation domains
1. Generic logic gates (abstract domain)
I0
O
I1
(a ) A b s tra c t v ie w o f
B o o le a n lo g ic 22
A 2-1 multiplexer in different
implementation domains
(continued…)
I0 O
I1