1
Orientation to Computing-I
L T P :2 0 0
www.lpu.in Lovely Professional University
Unit-1 (Computer Languages)
•Machine Language
•Assembly Language
•High Level Language
•Steps in development of a Program
•Compilation and Execution
•Compiler
•Interpreter
•Assembler
2
www.lpu.in Lovely Professional University
3
4www.lpu.in Lovely Professional University
MACHINE LANGUAGE
•Machinelanguageisalow-levellanguagemadeupofbinarynumbersor
bitsthatacomputercanunderstand.
•Itisalsoknownasmachinecodeorobjectcodeandisextremelytoughto
comprehend.
•Theonlylanguagethatthecomputerunderstandsismachinelanguage.All
programmesandprogramminglanguages,suchasSwiftandC++,produce
orrunprogrammesinmachinelanguagebeforetheyarerunona
computer.
•Whenaspecifictask,eventhesmallestprocessexecutes,machine
languageistransportedtothesystemprocessor.Computersareonlyable
tounderstandbinarydataastheyaredigitaldevices.
5www.lpu.in Lovely Professional University
MACHINE LANGUAGE
•Machinelanguagesconsistofstringsofnumbersultimatelyreducedto
1'sand0's.Thecomputerrespondstothesenumbersbyperforming
differentoperations.
•Eachcomputercandirectlyunderstandonlyonelanguage—itsown
machinelanguage.Withmachinelanguageaprogrammercaninstructa
computertoperformitsmostfundamentaloperations.
•Programswritteninmachinelanguagearenotportable,thatis,theymay
notberunonothercomputerswithdifferentmachinelanguages.
•Machinelanguageprogramsareeasyforcomputerstounderstand,but,
forpeople,machinelanguageprogrammingistediousworksusceptible
toerror.
6www.lpu.in Lovely Professional University
ASSEMBLY LANGUAGE
•Incomputerprogramming,assemblylanguage(orassemblerlanguage,or
symbolicmachinecode),isanylow-levelprogramminglanguagewithavery
strongcorrespondencebetweentheinstructionsinthelanguageandthe
architecture'smachinecodeinstructions.
Whatdoesassemblycodedo?
•Assemblycodeisconvertedintoexecutablemachinecodebyautilityprogram
referredtoasanassembler.
•Theconversionprocessisreferredtoasassembly,asinassemblingthesource
code.Thecomputationalstepwhenanassemblerisprocessingaprogramis
calledassemblytime.
7www.lpu.in Lovely Professional University
High Level Languages
•AHIGH-LEVELLANGUAGE(HLL)isaprogramminglanguagesuchas
C,FORTRAN,orpascalthatenablesaprogrammertowriteprogramsthat
aremoreorlessindependentofaparticulartypeofcomputer.
•Suchlanguagesareconsideredhigh-levelbecausetheyareclosertohuman
languagesandfurtherfrommachinelanguages
8www.lpu.in Lovely Professional University
Steps in development
9www.lpu.in Lovely Professional University
Work Flow
•USERWRITES APROGRAM INCLANGUAGE (HIGH-
LEVELLANGUAGE) .
•THECCOMPILER, COMPILES THEPROGRAM AND
TRANSLATES ITTOASSEMBLY PROGRAM (LOW-
LEVELLANGUAGE) .
•AN ASSEMBLER THEN TRANSLATES THE
ASSEMBLY PROGRAM INTO MACHINE CODE
(OBJECT).
•ALINKER TOOLISUSEDTOLINKALLTHEPARTS
OFTHEPROGRAM TOGETHER FOREXECUTION
(EXECUTABLE MACHINE CODE).
•ALOADER LOADS ALLOFTHEM INTOMEMORY
ANDTHENTHEPROGRAM ISEXECUTED .
10
www.lpu.in Lovely Professional University
11
www.lpu.in Lovely Professional University
Compiler
•Acompilerisaspecialprogramthattranslatesaprogramminglanguage's
sourcecodeintomachinecode,bytecodeoranotherprogramming
language.
•Thesourcecodeistypicallywritteninahigh-level,human-readable
languagesuchasJavaorC++.
12
www.lpu.in Lovely Professional University
Interpreter
•Aninterpreter,likeacompiler,translateshigh-level
languageintolow-levelmachinelanguage.Thedifference
liesinthewaytheyreadthesourcecodeorinput.
•Acompilerreadsthewholesourcecodeatonce,creates
tokens,checkssemantics,generatesintermediatecode,
executesthewholeprogramandmayinvolvemanypasses.
•Incontrast,aninterpreterreadsastatementfromtheinput,
convertsittoanintermediatecode,executesit,thentakes
thenextstatementinsequence.Ifanerroroccurs,an
interpreterstopsexecutionandreportsit.whereasa
compilerreadsthewholeprogramevenifitencounters
severalerrors.
13
www.lpu.in Lovely Professional University
Assembler
•Anassemblertranslatesassemblylanguageprogramsintomachinecode.
•Theoutputofanassembleriscalledanobjectfile,whichcontainsa
combinationofmachineinstructionsaswellasthedatarequiredtoplace
theseinstructionsinmemory.
•Anassemblerisatypeofcomputerprogramthatinterpretssoftware
programswritteninassemblylanguageintomachinelanguage,codeand
instructionsthatcanbeexecutedbyacomputer.
•Anassemblerenablessoftwareandapplicationdeveloperstoaccess,
operateandmanageacomputer'shardwarearchitectureandcomponents
14
www.lpu.in Lovely Professional University