Download Assembly Language - EngineersConnect

Document related concepts

Abstraction (computer science) wikipedia , lookup

Programming language wikipedia , lookup

Compiler wikipedia , lookup

History of compiler construction wikipedia , lookup

Assembly language wikipedia , lookup

Interpreter (computing) wikipedia , lookup

Go (programming language) wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Transcript
Computer Basics
What do you mean by Computer …?
It is an electronic device that is able to take raw input or “data”
from a user, store it, process it and output information as per
requirement.
Significance: Computer is Intelligent machine
Has left great impact on our day to day life.
Responsible for reducing our efforts by automating many tasks
and saves our time also.
Eg: Online booking tickets (Railway, Plane and Bus), ATM
Machine , update our bank passbook.
Evolution Of Computers
Two ERA’s
• Machine Era (Before 1965)
• Electronic Era (1945 –till Date)
• Generation of Computers:
First Generation (1945-1954)
 Use of bulky electric tubes
 Large Space
 Slow Speed
Second Generation (1955-1964)
 Use of Transistors
 Reduced Size
Third Generation (1965-1974)
 Use of IC’s
 Low Cost
 High Processing Speed
Forth Generation (1975-1989)
 Use of VLSI
 Use of Microprocessor
Fifth Generation (1990-Till Date)
 Characterized by very high speed
 Implements parallel processing
Features of Computer
 Performs Information processing with amazing
speed
Reliability
Accuracy
Ability to store huge amount of data and
Information
Ability to communicate with Computers
Operation Performed By Computer
Computers perform four general operation:
a) Input
b) Process
c) Output
d) Storage
Components of Computer System
Input Devices:
Means to collect information from user and insert into the
computer.
Eg: Keyboard, Mouse, Joystick, Scanner etc.
Central Processing Unit:
CPU contains electronic circuits that cause processing to occur.
CPU interprets Instructions.
CPU performs logical and arithmetic operations.
CPU is brain of the computer.
CPU has two parts:
1)Control Unit:
It controls signals between memory and ALU.
1)Arithmetic and Logic Unit:
It performs arithmetic and logic operations.
Memory:
Memory is also called as Random Access Memory(RAM) i.e
Temporary Memory.
RAM is main memory of the computer.
RAM is electronic component that store data i.e numbers, letters,
alphabets, graphics and sound.
ROM is memory that is etched on the chip that startup directions
for the computer. ROM is the permanent memory.
Measurement of the Memory:
Measurement of the memory is done in the Kilobytes and
Megabytes.
Memory:
1 KB = 1000 memory locations
1 MB = Approx One Million memory locations
RAM= Random Access Memory
ROM= Read Only Memory
PROM= Programmable Read Only Memory
EPROM= Erasable Programmable Read Only Memory
EEPROM=Electrically Erasable Programmable Read
Only Memory
OUTPUT DEVICE :
The output device are 1)Printer 2)Computer Screen
STORAGE DEVICE :
The auxiliary storage device are 1) Floppy Disk 2)Hard Disk
3)CD-ROM’s 4)Pendrive
HARDWARE AND SOFTWARE :
USER
SOFTWARE
ss
HARDWARE
HARDWARE: Physical components of the Computer
SOFTWARE : Instructions that make computer work
What is Open source…?
• Open source describes a broad general type of software licence
that makes source code available to the general public nonexistent copyright restrictions.
• Open source usually available to the user to view, modify and
again redistribute under certain licensing term.
It offers following freedom to its user:
 Free to use
 Free to change
 Free to distribute
 An alternative to commercial software
What is Open Source Software..?
• It is computer software that is available in the source code form.
• It can evolve through the community co-operation.
• The community is an individual or well large company.
• Few are popular example of open source software:
 Eclipse - Development environment comprising an IDE
 Mozilla Firefox- Web Browser
 Perl- A general purpose programming language
 PHP-A scripting language suited for web
 Ruby- A general purpose programming language
 Python – A general purpose programming language.
What is Open Source Operating
Systems
o Operating System is the software that you use to operate your PC
(like Windows or Linux).
o Linux is example of Open Source Operating System
o Windows and Macintosh both are closed proprietary system.
o “Linux”, is a Unix like OS assembled under the model of free and
open source software development and distribution.
o The defining component of Linux is “Linux Kernel”, an OS kernel
first released on 5th Oct 1991 by “Linus Torvalds”.
o BOSS : Bharat Operating System is also one of the good example
of O.S.
Features
Distribution
Linux
Windows
Open Source
Closed Source
Price
Free or at a much lower price
than Microsoft Windows
Microsoft Windows can
run between $50.00 or
$150.00 US Dollars per
each license copy
Ease
It is bit harder to use new
computer users
Windows is still much
easier to use to new users
The majority of Linux Variants
are reliable i.e can run for
months and years without
reboot
It still can not match
reliability of Linux
Linux has a large variety of
available software prog
It has much large
selection of available soft
It is Secure OS
It may fall prey to Virus
and other attacks
Reliability
Software
Security
Bharat Operating System
Fig: GUI of Bharat Operating System
Bharat Operating System(BOSS)
BOSS is GNU/Linux distribution developed by C-DAC(Centre
for development of Advanced Computing)
GNU is a computer operating system composed entirely of free
software.
GNU is developed by the GNU Project and the development of
GNU was initiated by Richard Stallman and then publicly
announced as GNU operating system on September 27, 1983,
which was the original focus of the Free Software Foundation
(FSF).
• It is developed by “Debian” for enhancing the use of
Free/Open Source Software throughout India.
• This release aims more at the security part and comes with an
easy to use application to harden your desktop.
• BOSS GNU is available in all official Indian Languages such
as Assamese, Bengali, Marathi, Gujrati, Telgu, Kashmiri and
many more.
• Debian is one of the flavour of linux.
• Flavour is nothing but linux technical terminology used to
refer the distribution type.
• Some popular flavours of linux are:
Redhat, SUSE, Fedora,Ubuntu,Mandrake
Features of BOSS:
 3D Desktop
 Kennel an Application to send SMS
 Multimedia Support
 Hardware Support for digital camera, printers, scanners,
bluetooth, WiFi
 Auto Detection of the devices.
Interaction with Linux Through
Commands
Programming Languages
Fig : Programming Languages
Programming Language :
It is used to communicate Instructions to the machine.
The language acceptable to the computer is called as
computer language or programming language.
The process of writing sentences in such language is called as
“Programming or Coding”.
Using program we can control activity of the computer.
There are different types of languages for the different task.
Each is having some ADV & DISADV.
Types of Programming Language :
There are two types of Programming
Language:
1) Low Level Language
2) High Level Language
Low Level Language :
Low Level language is simple but very difficult to use.
Low Level Language is the M/C codes.
Computer can understand only the program written in the
low-level language.
 M/C Language and Assembly Language are Low Level Language
M/C Language :
M/C language instructions use series of the binary digits
“0 & 1”
It also uses series of numbers and letters but they are also represented
in “0’s & 1’s”
“It is only language understood by the Computer”.
It is M/C Dependent language and it can not run on another M/C
• M/C Language Instructions has 2 Parts:
1) Operation Code(OPCODE)
2) Operand
Fig : Instruction Format
Advantages of M/C Language:
It is only one language which is understood by the “Compiler”
It is very simple
It makes fast and efficient use of the computer
It is directly understood by the computer it does not require any
translator to translate the code
Limitations of M/C Language:
Writing program in the M/C language is difficult and time
consuming
All operation codes and memory address needs to remember
Limitations of M/C Language , Continue….
It is difficult to find error in the program
Difficult to correct and modify the program
Programmer should have detailed knowledge about the hardware
Assembly Language :
Assembly language program overcome some of the many
inconveniences of machine language
In assembly language operation codes and operands are given in
the form of alphanumeric symbols instead of binary numbers 0
and 1. These alphanumeric symbols are called as mnemonic
codes
It is also called as “Symbolic Programming Language”
Assembly language programs are translated into executable
machine code by using “Assembler”.
An Example of a Typical Assembly Language is :
MOV AX,47
MOV DS,AX
ADD AX,DS
Advantages of Assembly Language:
It is easy to understand and Use as compare to M/C language
It is easier to modify
It is efficient
It is easy to find errors and easy to debug
Limitations of Assembly Language:
Assembly Language is also machine dependent. The programs
written for one machine cannot be executed on another Machine
Writing Assembly language program is difficult and time-consuming
High Level Language :
High level language allows people to write program easily, in
their own native language
It uses “English Words, Mathematical Symbol”, rather than
mnemonic code
HLL deals with variables, arrays, objects, arithmetic, or
Boolean expressions, subroutines and function, procedures
and threads
The program written in the High Level Language must be
translated into Machine Level Language by Compiler or
Interpreter
• E.g of High Level Language are C, COBOL, PASCAL, LISP
Interpreter :
Interpreter is one of the translator which has important advantages
over compilation
The DATA & SOURCE PROGRAM are input to the interpreter,
instead of producing any object module as in the compilation, the
interpreter directly produces result by performing operation of the
source program on its data
Scripting Language :
• This is form of programming language that support writing
the script
• Scripting language are interpreted rather than compiled
• Program in scripting language is interpreted one command
at a time
• E.g: PHP, Python ,Ruby Perl ..etc
Advantages of Scripting Language:
•
•
•
•
It is easier to write a code in the scripting language
Programming knowledge is required
Complex task is performed in few steps
Editing and running scripting code is fast
Limitations of Scripting Language:
Scripting languages are slower and more time is required for
the interpretation
Scripting language is harder to debug as no development
environment is available by default
All scripting languages are not supported by all the systems
Natural Language :
• Natural language is the language which is acquired
naturally
• Natural language arises in the accidental fashion as the
result of the inborn facility for language
• A natural language is typically used for human
communication and may be spoken and written
• No training is required for these languages, this language
uses words and symbols, these set of words and symbols is
called as “Vocabulary”
• E.g: English, French, Chinese
Characteristics of Good
Programming Language :
Some programming languages are popular and some are not
popular. The Success of Programming Language is based on
following points :
 Programming language should be Simple and Readable
 Programming language should be Portable
 Programming language should be general, i.e it allows
writing wide variety of programs thus helping programmer to
get expert in many diverse programming
 Programming Language should be widely available, i.e it
should be able to provide translator for entire M/C for all OS
 Programming Language should be efficient, i.e program
written in the Programming Language should be efficiently
translated into machine code
 Programming language should provide modularity to develop
the program
 Depending upon the type of application for which a
programming language has been designed, the language must
be suitable to its environment
Selecting a Language out of many
Available Language for coding
Application :
Many languages are available for coding the particular
application or subprogram. So how to select the suitable
language……?
Following are the some points which can be considered while
selecting the language to code the application.
 If application is operating system intensive then choose C/C++
 If application is operating system independent then choose
JAVA programming
 If it is open source then PHP is best option
 If there are Multiple languages found suitable for the application
area, the language selected should be one that is easy to learn and
use
 Depending upon the size of the application programming languages
are selected
 While developing the Web-Page , Java Server Pages(JSP),PHP or
HTML scripting languages are preferred
 If there are Multiple languages found suitable for the application
area, the language selected should be one that is best known to the
programmers
 For large organization , the choice of language might involve
factors such a how easily the program can be ported to different
platform
Subroutine
Subroutine is set of instructions that perform a specific task for
the main routine and transfer control back to the main routine
after execution
Subroutine is part of source code within larger program that
performs a specific task and is independent of remaining code
#include<stdio.h>
void main()
{
message();
printf(“\ nAre from MESCOE”);
}
message()
{
printf(“\ENTC And MECH Students”);
}
O/P: ENTC and MECH Students
Are from MESCOE
Examples of High Level
Programming Language
 FORTRAN:
It is oldest programming language developed by the team of
programmers at IBM and was published in 1957
FORTRAN stands for FORMULA TRANSLATION as it
was designed to allow easy translation of math formulas into
the code
Ex :
PROGRAM HELLO
WRITE(UNIT=*,FMT=*) ‘HELLO WORLD’
END
COBOL:
It is earliest high level programming language
It stands for Common Buisness-Oriented Language
It was developed in 1959 by group of computer professionals
called the conference on Data Systems Language
Features:
 COBOL programming language is self documenting

It has large set of class libraries
Applications:
 It is suited for solution of business problem
 It was first used by department of Defense
 PASCAL:
Pascal is procedural programming language
Features:


Pascal contain its own built in data types of Integer,
Character, Real etc….
Pascal language is simple and expressive in the nature
Ex:
PROGRAM Hello World;
BEGIN
WRITELN(‘Hello World’)
END.
Application:
Pascal is used for the learning environment
 SNOBOL:
SNOBOL is series of computer programming language stands
for String Oriented and Symbolic Language
It was invented in 1962 by Bell Labs
Ex:
OUTPUT= ‘Hello World’
END
Applications :

Used for the database program

It is used for the research tool
 LISP:
Introduction:
 It is a family of Computer Programming Language
 LISP means “List Processing Language”
 It is based on formal functional calculus
History:
It was developed by John McCarthy in 1956
List of Interpreter to execute LISP Programs:
Emacs
Omega
Lisp Works
Program to Print Hello World
>>(print “Hello World”)
OUTPUT:
“Hello World”
OCTAVE(GNU Octave):
• This is open source free license software
• This is free Software
Advantages:
• This software works on Windows as well as on Linux
•
•
This gives 2-D and 3-D Graphics Views
All syntax of Matlab works without any change in the
software
Disadvantages :
•
•
Lack of proper support
Performance of software is not proved till now
Importance Of Documentation
What is Documentation…?
Keeping any record of an event or activity with its result is
documentation
Ex. Students Admission
a)The students may have done fairly well in the entrance test but
without document of the result it is impossible to get admission
b) Due to documentation of the previous years cutoff’s you can
guess which college to apply for….?
c) By taking real life inspiration , in the software industry
documentation was introduced
Advantages Of Documentation
 Helps to train new users
 Helps in detecting mistakes
 Guideline in creating new software
 Helps in the cost estimation
 It is used for the legal procedures
 It is used for coordination between the team members who
make the software
Five major developments of Software Development
1) Idea or Need: This level is referred as requirement. The
basic idea of the software is put.
2) Design: This step will give fair idea of how the software will
be….?, also know as modeling.
3) Development: This step converts the model developed in
previous level to actual functionality.
4) Testing: This step test the functionalities developed for
quality.
5) Delivery: Fully furnished software product is given to users.
Types Of Documentation
 Requirements Document: Part of the agreement between
company selling the software and customer. The document
contains all requirements.
 Cost Estimate Document: This document contains probable
cost of people, machinery, electricity, and other expenditures
required for making S/W.
 Architecture Documentation: Here different parts or modules
of software and their functions are described.
 Program Documentation: This documentation related to the
code of S/W. Programmer of Coder writes this documentation.
 Testing and Quality Documentation: These documents
maintain record of quality of the Software.
 User Manual: This document is used for the user. This is the
guide for user to handle the software.
 Product Brief: This is document for the marketing people. It
highlights advantages of software over others
 License: This is an agreement between user and company.
User agrees Terms and Conditions ,company gives rights to
user to install the copy or distribute.
 Actual Cost Document: This document gives actual
expenditure for the software.