Experiment 0 - PowerPoint PPT Presentation

About This Presentation
Title:

Experiment 0

Description:

MOV, INC, are examples of mnemonics. MOV move. INC increment. 28. CISC architecture ... to program since there are more registers and mnemonics to use. ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 33
Provided by: mas63
Category:

less

Transcript and Presenter's Notes

Title: Experiment 0


1
Experiment 0
  • COE 205
  • Computer Organization Assembly Language
    Programming
  • Term 043

2
Outline
  • Definition of a program
  • Instruction atomicity
  • Assembly language
  • Tools
  • Setting up the environment
  • Policy

3
Definition of a Program
  • A sequence of instructions and data that causes a
    machine to perform a given task.
  • An Instruction has two fields Operation
    Operands
  • ? Operation (Opcode)
  • ? Operands Data

4
Instruction Atomicity
  • An instruction is atomic.
  • ? Indivisible
  • ? Non-interruptible operation
  • Hardware ensures the non-interruptible execution
    of an instruction.
  • A complex operation is made of simple
    instructions.
  • Example
  • ? Multiplication
  • - SHIFT
  • - ADD

5
A Users View of Computer Systems
  • Depends on the degree of abstraction provided by
    the underlying software
  • We consider a hierarchy of six levels
  • Moving to the top of hierarchy shields the user
    from the lower-level details
  • The top two levels are system independent

6
A Users View of Computer Systems (cont.)
  • The other lower four levels are system dependent
  • Assembly and machine languages are specific to a
    particular processor
  • One-to-one correspondence between assembly
    language and machine language

7
A Users View of Computer Systems (cont.)
8
General Properties of a Personal Computer
  • I/O devices keyboard, scanner, monitor,
    printer, projector, light pen, etc.
  • Memory unit where program is kept (debug, d100
    lets look at memory) (u 100 unassemble memory,
    see what is there)
  • CPU registers, ALU and stack pointer, control
    unit and IP (instruction pointer)

9
RAM-Random Access Memory
  • This is where our program stays when we run it.
    16000100 is an example of a RAM address.

10
ROMRead Only Memory
  • ROM is read only memory and cannot be changed.
    ROM has a program burned in the chip.
  • PROM
  • EPROM is erasable programmable read only memory
    and is expensive and is done with very special
    equipment.
  • EEPROM

11
BOOTUP- FIRMWARE
  • Firmware lies between hardware and software.
    Firmware is the software that is burned into the
    chip.
  • When you turn on the PC. An address is loaded
    into the CPUs IP. The address is of the ROMs
    firmware. This firmware program is called the
    BOOTSTRAP program. Then the program runs and
    loads the operating system. The computer is ready
    to be used !

12
ROM BIOS
  • Address 0 1024 interrupt vectors
  • --------------------------------------------------
    -------------
  • 1024 (2028 4096) BIOS Data
  • --------------------------------------------------
    -------------
  • (about 2028-4096) 640 KB (about 640,000) RAM
    for your program
  • --------------------------------------------------
    -------------
  • Above 640KB lt 1 MB Video Memory
  • --------------------------------------------------
    -------------
  • 1MB 1.5 MB ROM BIOS this is Basic Input
    Output System.

13
Real Mode / Protected Mode
  • All PCs even the real old ones start in REAL MODE
    where the first 1 MB is usable. All modern
    operating systems such as LINUX, Widows
    95/98/2000/Millennium / XP immediately switch to
    PROTECTED MODE letting us use all the memory
    (except ROM BIOS and where the OS is located and
    memory where others programs run)

14
CPU
  • Contained in one IC integrated circuit
  • 8080, 80x86 80286, 80386, 80486, etc.
  • Pentium, Pentium 2, Celeron (similar), Pentium 3,
    Pentium 4, etc.
  • ALU arithmetic logical unit
  • CU control unit
  • Fetch, decode, execute

15
A Small Program in Debug
  • C\windowsgt debug
  • - a 100
  • 16000100 MOV AX,5
  • 16000103 INC AX
  • Hit Enter
  • -r
  • -t
  • Watch IP and current instruction

16
Machine Cycles
  • Business Executives, e.g., Discuss Machine Cycles
    when they say their PC is 900 MHZ or 3 GHz.
  • Each command such as MOV AX, 5 (move 5 to AX
    register) takes a few computer cycles to execute.
  • The faster your computer, the more cycles per
    second it performs. Cycles per second.

17
Advantages of High-Level Languages
  • Program development is faster
  • Higher level instructions less coding
  • Some simple high-level language instructions can
    be expressed by a single assembly instruction
  • But most high-level language instructions need
    more than one assembly instruction
  • Programs maintenance is easier
  • For the same reasons as above
  • Programs are portable
  • Contain few machine-dependent details
  • Can be used with little or no modifications on
    different types of machines
  • Compiler translates to the target machine language

18
Why Program in Assembly Language?
  • Two main reasons
  • Efficiency
  • Space-efficiency
  • Time-efficiency
  • Accessibility to system hardware
  • Assembly language can be used as a tool to learn
    computer organization
  • You will know more about the organization and
    internal workings of a computer system

19
Space-efficiency
  • Assembly code tends to be more compact than when
    written in HLL.
  • Not a big plus point for most applications
  • Code compactness is important in some cases
  • Portable and hand-held device software

20
Time-efficiency
  • Assembly language programs tend to run faster
  • Only a well-written assembly language program
    runs faster
  • Time Convenience (Graphics, hardware drivers)
  • Time Critical (Aircraft navigational systems,
    Process control systems, Robot control software,
    Missile control software)

21
Accessibility to system hardware
  • System software typically requires direct control
    of the system hardware devices
  • Assemblers, linkers, compilers
  • Network interfaces and other device drivers
  • Video games

22
Bits and Bytes
  • 1 or 0 is a bit
  • 4 bits a nibble (1/4 of a register)
  • 8 bits 1 byte
  • 2 bytes 1 word register size
  • 1024 bytes 1 KB 1kilobyte
  • 1,048,576 bytes 1 MB 1 megabyte
  • 1,073,741,824 bytes 1 GB 1 gigabyte

23
BITS, decimal, hexadecimal
  • 0 off, 1 on 1001 9
  • 01 1 1010
    10 or A
  • 10 2 1011
    11 or B
  • 011 3 1100
    12 or C
  • 100 4 1101
    13 or D
  • 101 5 1110
    14 or E
  • 110 6 1111
    15 or F
  • 111 7
  • 1000 8

24
Bits, Bytes, OpCode
  • Viewing machine code equivalent of instruction
    set
  • C\WINDOWSgtdebug
  • -a 100
  • 106C0100 MOV AX,5
  • 106C0103
  • -d 100
  • B8 05 in memory means MOV AX, 05

25
16 Bit Addressing
  • The IBM uses 16 bit addressing which lets us use
    only 65,536 bytes. How do we address up to 1 MB ?
  • 16000100 (Segment NumberOffset)
  • 1600 is really 16000, a zero is added.
  • Then 0100 is the other part added on to give the
    exact location !
  • 16000 (add 0 to 16-bit segment base value)
  • 0100 (offset value)
  • 16100 (Physical address)

26
Memory location
  • 106C0100 This is a memory location.
  • It is actually 106C0
  • 0100
  • 107C0
  • B8 05 is what is there. The OpCode is B8

27
MNEMONIC
  • MOV, INC, are examples of mnemonics
  • MOV move
  • INC increment

28
CISC architecture
  • Complex Instruction Set Computing
  • This is used by the INTEL 80X86 chips. It is
    pronounced SISK. CISC architecture uses very few
    registers so the instructions take many cycles
    and run slower.

29
RISC Architecture
  • Reduced Instruction Set Computing
  • This is used by APPLE 680X0 family chips and one
    instruction takes 1 machine cycle. Very fast,
    very efficient, but many registers and more
    difficult to program since there are more
    registers and mnemonics to use.
  • SPARC stations use RISC

30
PROGRAMS
  • Programs are basically a set of instructions to
    do some task. Here is a simple assembly program.
  • MOV AH,02 // get display ready
  • MOV DL,41 // Capital A
  • INT 21h // Interrupt 21
  • INT 20h //interrupt 20, quit

31
NEW Tools
  • ASCII Chart
  • What is an A (41 hex)
  • MOV AH,02h - monitor
  • MOV DL,41 41 is an A
  • INT 21h - interrupt 21 to execute I/O
  • (cout ltlt A)

32
Exiting a program
  • INT 21h
  • This is like EXIT_SUCCESS
Write a Comment
User Comments (0)
About PowerShow.com