Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

21
Assembly Microprocessors session 1 ing. Ernst E. Mak MSc

Transcript of Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Page 1: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Assembly Microprocessorssession 1

ing. Ernst E. Mak MSc

Page 2: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Programming

• Programming is any set of formalized instructions to be executed in a skilful but in a rather slave like fashion.

• Programs tend to be sequential in nature

• Programs act upon?– computers but also Video recorders, DVD recorders,

Television sets, Oven, Home baking Machines, Alarm Clocks etc etc and even: Pets and Humans.

Page 3: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Example Human program

– Go out of door and turn right– At the end of the street turn left– take 3th crossing to the right– go until the end of the street– turn right– 4th door to the left

• output of a Tom-Tom? Human2Human explanation to an address? Instructions to a child to go and fetch milk at the grocery?

Page 4: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Another Human2Human program:

• What this was? • >>> it’s Problem 1 at

section 2 of this course• Think it’s not

programming?????

• Lets see:

it’s a sequential set of instructions

– to be executed skilful

– unwillingly (?)

(are deviations allowed by own initiative?)

Target: to get familiar with the Deeds Assembly environment. Enter using the Editor:ORG 0000 ;start at reset-locationjp 100 ;jump to program areaORG 100 ;continue at program areald b,5 ;store 5 into the B-registeradd a,b ;add B into the A registerhalt ;stop the programCompile the program, enter the debuggerObserve: registers, memory, program counter, step-key, run, reset and stop/startVary: contents of the A register at program start and observe changes in the registers and the flags.Explain your findings.Deliver: the program, explanation (max 100 words

Page 5: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Levels of Programming

• Adult 2 Adult: “pass me the Salt, will you?”

• Adult 2 Child: – “Tommy, see the glass container over there?– Yes, the one you point at now,– Could you take it in your hand– And give it to Mammy?– No, no throwing, just give it..........”

Page 6: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Human 2 Computer

• HUMAN WORLD

GAP !!!!

• COMPUTERWORLD

creative,

unreliable,

unpredictable,

original,

complex

ExactPredictableDumbRigidSimple

Page 7: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Interfaces

• Human interfaces:– input: eye (images), ear (sounds), hands

(sense, feel, locate, probe...).......– output: mouth (sound), hands (manipulate)

• Could you interact to another Human without these interfaces?

Page 8: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Interfaces (2)

• Input:– keyboard,– mouse,– Microphone– .....etc

• Output– Screen,– Printer– Loudspeaker– .....etc

• Could you interact to a computer without any of such?

Page 9: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Human communication

• Requires flexibility, as Humans are never too precise and quite clumsy in expressing themselves.– I’ve got butterflies in my stomach (really??)– I’m dying from curiosity (well???)– This wine has a rich bouquet (define !!)– My neighbour is a pig (name three meanings to this!!)– You little Bastard (would your little nephew really feel

offended because of this now??)– Hi Pumpkin!! (how DOES your girlfriend look like?)

Page 10: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Interfaces (3)

• Any interface in sequential systems will have buffer functionality

• BUFFER=memory to temporary store the received information and process it a little later.

• QUESTION: do you respond to each word individual or to a sentence or to the intention of your communication partner? where do you store the information at what time?

Page 11: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

The ANY COMPUTER

• Any computer (program processing entity) will quit likely have:

• INPUT device

• OUTPUT device

• MEMORY device

• SKILL section (to know what to do with input to produce output)

• and something more:..... A TIMER

Page 12: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

A TIMER?????

• How do you know somebody is ready talking (so you can start analyzing his story to be able to answer)

• You think YOU are without timer? do not tell this to your HEARTH

Page 13: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

BASIC COMMANDS

• What is the minimal command to have someone to pick up some pencil from the table?

1. lift pencil

2. pick up the pencil, please

3. move your hand to the long laying object, fold thump, index finger and middle finger around it and move your hand up

Page 14: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Basic Commands (2)

• 1 = shortest, military style (why do they bark short commands only??)

• 2 = polite style • 3 = extensive descriptive into details• QUESTION: analyze what is your position

(standing, intelligence, power) towards the receiving party in these communications– you: smart, respected,– the other: drilled limited thinking, equal and child-inexperienced

Page 15: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

PROGRAMMING HIERARCHY

• HUMAN

• HIGH ORDER PROGRAMMING ENVIRONMENT

• PROGRAMMING LANGUAGE

• ASSEMBLY

• PROCESORdu

mb

smar

t

Page 16: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

PROGRAM ROUTINE STACKING

• Graphical User Interface

• Program

• Operating Environment (Windows)

• DISK Operating System (DOS)

• Basic input/output system (BIOS)

• Machine code

Page 17: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

WHAT IS UNDERSTOOD by a Microprocessor

• yes vs. no• TRUE vs. FALSE• ONE vs. ZERO• == basic information = BIT• permutations, binary system,• group by 8 bits (By-EIGHT => BYTE)• this could be DATA or program

instruction (coded by a number)

Page 18: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

ELEMENTARY Computer Lay-out

MEMdata+instructions

CPU

I/O External

Page 19: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Model CPU

PC R2R1

IR

MAR

MDR

ALU

A B

SR DECODER

ICU TIMER

C

CLOCK

Page 20: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Legend to the Microprocessor

• MAR = memory address register• MDR = memory data register• PC = program counter• SR = Status Register• A,B,C = registers• R1, R2 = even more registers• ALU = arithmetic and logic unit• IR = instruction register• ICU = internal clock unit

Page 21: Assembly Microprocessors session 1 ing. Ernst E. Mak MSc.

Z80 Processor Register Layout

Main registers. Alternative registers.

S

Z

-

H

-

P/V

N

C

Sign

Zero

-

Half-Carry

-

Parity/overfl.

Negate

Carry

Flags 8 bit

Adress Registers

Accumulator Registers

Interupt

register

Memory

Refresh

Alternative Registers

W’B’

H’D’

Z’C’

L’E’

WB

HD

A F’FA’

ZC

LE

I

R

I XI Y

S PP C