History of Computer Software PowerPoint PPT Presentation

presentation player overlay
1 / 16
About This Presentation
Transcript and Presenter's Notes

Title: History of Computer Software


1
History of Computer Software
  • Programming Languages
  • Program Translation (Assemblers/Compilers)
  • Interpreters

2
History of Programming Languages
  • Machine Language
  • Instructions use binary digits (ones and zeros)
  • Used for the Jacquard Loom and Analytical Engine
  • Need intimate knowledge of hardware design
  • Difficult to write program / Worse to debug/fix
    program
  • Example (Add 1 to memory at address 1000)
  • 1000 1010 1001 1110 gt 8A9E (Load Register
    A from)
  • 0001 0000 0000 0000 gt 1000 (Memory
    Location 1000)
  • 1101 0101 0000 0001 gt B501 (Add 1 to
    Register A)
  • 0000 1010 1001 1110 gt 0A9E (Store Register
    A in)
  • 0001 0000 0000 0000 gt 1000 (Memory
    Location 1000)

3
History of Programming Languages
  • Assembly Language
  • Symbolic representation of binary instructions
  • Need intimate knowledge of hardware design
  • Easier to program than machine language
  • Easier to debug/fix than machine language
  • Still used today when high efficiency/speed are
    needed
  • Example (Add 1 to memory at address 1000)
  • START LDA 1000
  • ADD 1
  • STA 1000

4
History of Programming Languages
  • High Level Languages
  • Formula Translation (FORTRAN)
  • Beginners All-purpose Symbolic Instruction Code
    (BASIC)
  • Common Business-oriented Language (COBOL)
  • Example (BASIC)
  • 100 IF (ANGLE ! 90) GO TO 300
  • 200 LET C SQRT(A2 B2)
  • 300 CONTINUE

5
History of Programming Languages
  • Block Structured Languages
  • PASCAL
  • C
  • Ada
  • Example (C)
  • if (angle 90)
  • c sqrt(aa bb)

6
History of Programming Languages
  • Object-Oriented Languages
  • C
  • Java
  • An Extension to Block Structured Languages
  • Example of Object-Oriented Operation (Java)
  • Dog rover new Dog(Rover, Poodle)
  • String yip rover.speak()

7
Program Translation
  • Conversion of Source to Machine Language
  • The Rosetta Stone
  • Human readable Source
  • Intermediate Files
  • Object File(s)
  • Java Bytecode File(s)
  • Machine Readable Binary

8
Bits and Bytes
  • One binary digit a 1 or a 0 (e.g. on or off)
  • A binary digit is called a bit
  • One hexadecimal digit 4 bits
  • One byte 8 bits
  • A single character, e.g. A may 1 byte
  • An integer may 4 bytes
  • A floating point value, e.g. 4.1x104 8 bytes

9
Binary and Hexadecimal Bytes
  • Counting in binary Counting in Hex
  • 0000 0000 0x00
  • 0000 0001 0x01
  • 0000 0010 0x02
  • 0000 1001 0x09
  • 0000 1010 0x0a
  • 0000 1111 0x0f
  • 0001 0000 0x10

10
ASCII Codes for Characters
  • There is an American National Standard for
    Information Interchange (ASCII) code chart for
    representing characters as binary values
  • Table 6.1 in the text is not the normal way to
    represent the ASCII character values
  • See ASCII code chart in Syllabus

11
Computer Architecture
  • Processor Components

Data Bus
Instruction Register
Address
2
Mux
Decode
Program Counter
Arith Logic Unit
Accumulator
Memory Data and Instructions
12
Pippin Assembly Language
  • Op Code Operand Action
  • LOD W Load acc. from mem. loc. W
  • ADD X Add mem. loc. X to acc.
  • STO W Store acc. into mem. loc. W
  • HLT None Halt

13
Pippin Machine Language
  • Op Code Operand Action
  • 00000100 10000000 Load acc. from mem. loc. 0
  • 00000000 10000001 Add mem. loc. to acc. 1
  • 00000101 10000000 Store acc. into mem. loc. 0
  • 00001111 None Halt

14
Lets Go Try It on the Web Site
  • Go to AE Online Web Site, Lab 6.1
  • Enter instructions starting at 00000000
  • LOD W
  • ADD X
  • STO W
  • HLT ---
  • Enter binary values in 10000000 10000001

15
Lets Go Try It on the Web Site
  • Change from Symbolic to Binary
  • See the difference between
  • assembly language for humans
  • binary instructions for the computer
  • Step or run through the program
  • Reset the PC to 0 and step or run again
  • What happened differently second time?

16
Homework
  • Do Lab 6.1 for your study/practice
  • Send me the answer to Part 4 Only!
Write a Comment
User Comments (0)
About PowerShow.com