Assembler, Compiler, Interpreter - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Assembler, Compiler, Interpreter

Description:

* * * * * Assembler Compiler Interpreter ASSEMBLER To convert the assembly language into machine code. Translate mnemonic operation codes to their machine language ... – PowerPoint PPT presentation

Number of Views:488
Avg rating:3.0/5.0
Slides: 25
Provided by: Syst56
Category:

less

Transcript and Presenter's Notes

Title: Assembler, Compiler, Interpreter


1
Assembler, Compiler, Interpreter
  • Skill Area 311 Part D

Prepared by Dhimas Ruswanto, BMm
2
Lecture Overview
  • Assembler
  • Compiler
  • Interpreter

3
assembler
4
Assembler
  • To convert the assembly language into machine
    code.
  • Translate mnemonic operation codes to their
    machine language equivalents.
  • Assigning machine addresses to symbolic labels.

5
Assembler Directives
  • The assembler can also process assembler
    directives.
  • Assembler directives (or pseudo-instructions)
    provide instructions to the assembler itself.
    They are not translated into machine instructions
  • E.g.
  • START (specify name and starting address for the
    program).
  • END (indicate the end of the source program and
    (optionally) specify the first executable
    instruction in the program)

6
Working of Assembler
  • Programmer write a program using a sequence of
    assemble instructions.
  • This sequence of assembler instructions, known as
    the source code/source program, then specified to
    the assembler program when that program is
    started.
  • It translates a source code into machine
    language.
  • The output of the assembler program is called the
    object code or object program.

7
Example of Assembler
  • We use Flat Assembler (FASM)
  • Download on
  • http//flatassembler.net/
  • Download for Windows
  • The Linker is the program that ties all the loose
    end together and makes a single program out of
    the pieces. FASM comes with its own built in
    linker

8
Setting up FASM
  • Go to Start -gt Control Panels -gt System -gt
    Advanced -gt Environment Variables
  • Make a new system variable, called include, with
    value C\(your directory of fasm folder)
  • Run fasmw.exe
  • Note Please refer to the http//www.friedspace.co
    m/assembly/first.php

9
Run First Program
  • Inside FASM, open the EXAMPLES directory, open
    the directory called HELLO, open the file
    Hello.asm
  • Go to Run menu, Compile and Run
  • The program will assemble and then the pop
    message box up on the screen

10
Run First Program (contd)
include 'win32ax.inc' you can simply switch
between win32ax, win32wx, win64ax and win64wx
here .code start invoke
MessageBox,HWND_DESKTOP,"Hi! I'm the example
program!",invoke GetCommandLine,MB_OK
invoke ExitProcess,0 .end start
11
Hello World Program
  • First line, win32ax.in is a special macro file.
  • The next line, .code tells the assembler we are
    going to include some code now.
  • The line start is a label. It gives a name to
    one of the lines.
  • The program is ended with the .end directive. The
    execution of the program will begin at this point
  • The remaining two line are calls to the Windows
    API to tell it to display a message box and then
    quit.

12
Compiler
13
Compiler
  • A program that changes source code (high-level
    language) to object code which that can be
    executed by a machine.
  • Compiler
  • Checks syntax of program
  • Checks at a time all the program
  • Primary reason for compiling source code is to
    create an executable program
  • Examples of compiler based language
  • C, C, JAVA

14
Executables
  • Executables Files that actually do something by
    carrying out a set of instructions.
  • E.g., .exe files in Windows
  • Once the executable is there, it can be called
    by the user to process the given inputs to a
    program and produce the desired outputs.

15
Example of Compiler
  • Some of examples of Compiler
  • Microsoft Visual Studio
  • BlueJ
  • Quincy 2005
  • We use Quincy 2005 (Open Source)
  • Link http//www.codecutter.net/tools/quincy/
  • We use C programming language.

16
First Program
  • Open Quincy 2005.
  • File -gt New -gt C Source File -gt OK
  • File -gt Save as.. -gt Hello.cpp
  • Write the following code
  • include ltiostreamgt
  • using namespace std
  • int main()
  • cout ltlt "Hello World!" ltlt endl
  • return 0

17
First Program (contd)
  • The first line include ltiostreamgt, input/output
    library
  • The second line using namespace std , allows us
    to group a set of global classes, objects and/or
    functions under a name
  • int main() , the main function of program
  • cout ltlt "Hello World!" ltlt endl print the Hello
    World! message to the screen.
  • return 0, terminate the main function of
    program. A return value of 0 means that the
    program finished correctly

18
INterpreter
19
Interpreter
  • A computer program that executes instructions
    written in a programming language and do not
    produces the executable file.
  • Interpreter
  • Checks the keywords of a program
  • Taking one instruction at a time and convert it
    into machine language before taking upon the next
    instruction.
  • Examples of interpreter based language
  • PHP, JavaScript, BASIC

20
Compiler vs. Interpreter
21
Example of Interpreter
  • We use JavaScript language.
  • JavaScript engine is specialized computer
    software which interprets and executes
    JavaScript. Mostly used in web browsers.

22
JavaScript
  • Open Notepad -gt Save as.. -gt Name the file as
    hello.html
  • Write the following code
  • lthtmlgt
  • ltbodygt
  • ltscriptgt
  • name prompt("Hello World")
  • lt/scriptgt
  • lt/bodygt
  • lt/htmlgt

23
JavaScript (contd)
  • lthtmlgt, open a html page
  • ltbodygt, put all the website contents inside
  • ltscript), open a script function
  • name prompt("Hello World"), shows the Hello
    World! Message
  • lt/scriptgt, close the script function
  • lt/bodygt, close the body of a web page
  • lt/htmlgt, close a html page

24
Summary
  • Assembler To convert the assembly language into
    machine code.
  • Compiler A program that changes source code
    (high-level language) to object code which that
    can be executed by a machine.
  • A computer program that executes instructions
    written in a programming language and do not
    produces the executable file.
Write a Comment
User Comments (0)
About PowerShow.com