Assembler Compiler Interpreter ASSEMBLER To convert the assembly language into machine code....
-
Upload
pierce-sparks -
Category
Documents
-
view
280 -
download
0
Transcript of Assembler Compiler Interpreter ASSEMBLER To convert the assembly language into machine code....
•Assembler•Compiler•Interpreter
ASSEMBLER
• To convert the assembly language into machine code.
• Translate mnemonic operation codes to their machine language equivalents.
• Assigning machine addresses to symbolic labels.
• 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)
• 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.
• We use Flat Assembler (FASM)o Download on:
o http://flatassembler.net/o 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
• Go to “Start -> Control Panels -> System -> Advanced -> 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.com/assembly/first.php
• 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
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
• 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.
COMPILER
• A program that changes source code (high-level language) to object code which that can be executed by a machine.
• Compiler:o Checks syntax of programo 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
• 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.
• Some of examples of Compiler:o Microsoft Visual Studioo BlueJo Quincy 2005
• We use Quincy 2005 (Open Source)• Link:
http://www.codecutter.net/tools/quincy/• We use C++ programming language.
• Open Quincy 2005.• File -> New -> C++ Source File -> OK• File -> Save as.. -> Hello.cpp• Write the following code:
#include <iostream>
using namespace std;
int main(){
cout << "Hello World!" << endl;
return 0;}
• The first line #include <iostream>, 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 << "Hello World!" << 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
INTERPRETER
• A computer program that executes instructions written in a programming language and do not produces the executable file.
• Interpreter:o Checks the keywords of a programo Taking one instruction at a time and convert it into machine
language before taking upon the next instruction.
• Examples of interpreter based language:o PHP, JavaScript, BASIC
• We use JavaScript language.• JavaScript engine is specialized computer
software which interprets and executes JavaScript. Mostly used in web browsers.
• Open Notepad -> Save as.. -> Name the file as hello.html
• Write the following code:<html><body>
<script>name = prompt("Hello World")
</script>
</body></html>
• <html>, open a html page• <body>, put all the website contents inside• <script), open a script function• name = prompt("Hello World"), shows the
Hello World! Message• </script>, close the script function• </body>, close the body of a web page• </html>, close a html page
• 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.