Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Assemblers, Assembly Language - Programming Languages - Lecture Slides, Slides of Programming Languages

Assemblers, Assembly Language, Problem with machine code, Speedcoding, First Compiler, Implemented on the MIT Whirlwind computer, Influence of HW on Language Design are key points of this lecture. Programming languages is basic subject of computer science. Its not about any specific language but almost cover all of them.

Typology: Slides

2011/2012

Uploaded on 11/10/2012

omni
omni 🇮🇳

4.6

(9)

46 documents

1 / 15

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Zuse’s Plankalkül – 1945
Never implemented
Had advanced data types and structures
Floating point, arrays, records, nesting in records
No explicit goto statements
Iteration
Selection without else part
Invariants and assertions
Problems Zuse Solved
Sorting
Graph connectivity
Integer and floating point arithmetic
Expressions with operator precedence
Chess playing
Terse Notation
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Assemblers, Assembly Language - Programming Languages - Lecture Slides and more Slides Programming Languages in PDF only on Docsity!

Zuse’s Plankalkül – 1945

  • Never implemented
    • Had advanced data types and structures
    • Floating point, arrays, records, nesting in records
    • No explicit goto statements
    • Iteration
    • Selection without else part
    • Invariants and assertions
  • Problems Zuse Solved
    • Sorting
    • Graph connectivity
    • Integer and floating point arithmetic
    • Expressions with operator precedence
    • Chess playing
  • Terse Notation

Assemblers and Assembly Language

  • Problem with machine code?
    • Poor readability
    • Poor modifiability – addition and deletion of instructions was difficult
    • Expression coding was tedious
    • Machine deficiencies--no indexing or fl. pt. operation available
  • Speedcoding; 1954; IBM 701, Backus
    • Pseudo ops for arithmetic and math functions
    • Conditional and unconditional branching
    • Auto-increment registers for array access
    • Interpreted – Slow!
    • After loading the interpreter, only 700 words left for user program

FORTRAN I – John Backus

  • First implemented version of FORTRAN
  • (FORTRAN 0 - 1954 - not implemented)
  • FORmula TRANslating system
  • First compiled high-level language
  • Designed for the new IBM 704, which had index registers
  • Environment of development:
    • Computers were small and unreliable
    • Applications were scientific
    • No programming methodology or tools
    • Machine efficiency was most important
    • No need for dynamic storage
    • Need for good array handling and counting loops
    • No string handling and decimal arithmetic

Fortran IV (1960)

• Fortran IV

• Explicit type declarations

• Logical IF statement

• Passing subprogram as parameters

• ANSI standard in 1966

  • All statements of FORTRAN I were based

on 704’s instruction set

  • 3 way branch
    • computed if  If (EXPRESSION) L1, L2, L
  • Posttest counting loop
    • DO L1 I = N, M

Fortran I – 1957

Influence of HW on Language Design

Fortran 77 and 90

  • FORTRAN 77 – 1977
    • Structured Programming
    • Character string handling
    • Logical loop control statement
    • IF-THEN-ELSE statement
  • FORTRAN 90 – 1990
    • Modules
    • Dynamic arrays
    • Pointers
    • Recursion
    • CASE statement
    • Parameter type checking

ALGOL

ALGOL 58 – 1958

  • ALGOrithmic Language
  • Search for a “Universal Language”
  • Environment of development:
    • FORTRAN had (barely) arrived for IBM 70x and was owned by IBM
    • Many other languages were being developed, all for specific machines
    • No portable language; all were machine-dependent
    • No universal language for communicating algorithms
  • Goals of the language:
    • Close to mathematical notation
    • Good for describing algorithms
    • Machine independent, algorithmic language for use on all kinds of computers.

Algol 60 - 1960

  • New Features :
    • Block structure (local scope)
    • Two parameter passing methods – value and name
    • Subprogram recursion
    • Stack-dynamic arrays – run time size definition and space allocation
    • No I/O
    • Syntax was defined in BNF

Algol 60 (Continued)

  • Successes:
    • It was the standard way to publish algorithms for over 20 years
    • All subsequent imperative languages are based on it
    • First machine-independent language
    • First language whose syntax was formally defined in BNF
    • Had impact on hardware design
  • Failure:
    • Never widely used, especially in U.S.
    • Reasons:
      • No I/O and the character set made programs non-portable
      • Too flexible, so hard to understand and implement
      • IBM’s interest in FORTRAN
      • Formal syntax description – at that time BNF was considered strange and complicated!