Professional Documents
Culture Documents
ا
ا د
Royal Commission at Yanbu ا ا
University College – Yanbu - ا ا
Department of ACS & AIT
Yanbu Al-Sinaiyah ا
CS-203 HANDOUT 2
HIGH LEVEL VS LOW LEVEL LANGUAGES
1. Programming Languages
HLLs are programming languages that look like natural language text. Their advantages
are:
1. They make programming easier and more abstract, i.e. the programmer does not
need to come up with the detailed machine instructions
2. HLL programs are machine independent. They can run on different hardware
platforms (i.e. different computers with different instruction sets):
3. Assembly language
Assembly language is the most basic programming language available for any
processor. With assembly language, a programmer works only with operations
implemented directly on the physical CPU. Assembly language lacks high-level
conveniences such as variables and functions, and it is not portable between various
families of processors. Nevertheless, assembly language is the most powerful computer
programming language available, and it gives programmers the insight required to write
effective code in high-level languages.
4. The Compiler
Compiler is a program that translates the high level programs to machine code either
directly or via assembler.
The program that translates from assembly language to machine language is called an
assembler. It allows the programmer to specify the memory locations for his data and
programs and symbolically refer to them in his assembly code. It will translate these
symbolic addresses to actual (physical) addresses in the produced machine code.
6. The Linker
These are the tools that allow the assembly programmers to:
1. Display and alter the contents of memory and registers while running their code.
2. Perform disassembly of their machine code (show the assembly language
equivalent).
3. Permit them to run their programs, stop (or halt) them, run them step-by-step or
insert break points.
Break points: Positions in the program that if are encountered during run time,
the program will be halted so the programmer can examine the memory and
registers contents and determine what went wrong.
1. High level level languages are more close to the hardware (True/False)
2. Assembler is used to assemble the assembly language programs (True/False)