1
BME303 Intro. to Computing
1
Programming Languages
•
Generally, programming
languages describe programs
at various levels of detail,
where the coarsest
classification distinguishes
–
high level languages (e.g., C,
C++, Fortran, Pascal, etc.)
–
low level languages which are
much “closer” to the
underlying ISA
•
Whatever the level, a program
written in that language must
be translated to a program in
machine language
(ML) , i.e.,
its instructions are in the
computer’s ISA.
Problem
Language
Machine (ISA) Architecture
Algorithms
Micro-architecture
Circuits
Devices
Human
Analytical thinker
Programmer
Compiler, Assembler
Electrons
BME303 Intro. to Computing
2
Chapter 7: Assembly Language
High-level
Language
Program
Assembly
Language
Program
Machine
Language
Program
Compiler
Assembler
Programmer
Programmer
Computer
Computer
Computer
•
Instead of writing in machine code we can write our programs using
a more "friendly“ programming language:
–
Assembly language (now)
–
C++, MATLAB, LabVIEW (later)
•
System software provides us with software tools to translate
programs into machine code:
–
Assembler
–
Compiler
This
preview
has intentionally blurred sections.
Sign up to view the full version.
2
BME303 Intro. to Computing
3
Chapter 7: Assembly Language
High-level
Language
Program
Assembly
Language
Program
Machine
Language
Program
Compiler
Assembler
Programmer
Programmer
Computer
Computer
Computer
•
Outline:
– Assembly Language (Instructions…)
–
Assembly process
–
Style
BME303 Intro. to Computing
4
The Instruction Mnemonics
•
Mnemonic:
A system to develop or
improve the memory.
•
Better term:
Symbolic Name
•
ADD, AND, NOT, LD, LDI, LDR, LEA
, ST,
STI, STR, BR, TRAP, JMP, JSR/JSSR,
RTI
•
Still have a one-to-one correspondence
with Machine Language Instructions