View
216
Download
0
Category
Preview:
Citation preview
Assembly Microprocessorssession 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.
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?
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
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..........”
Human 2 Computer
• HUMAN WORLD
GAP !!!!
• COMPUTERWORLD
creative,
unreliable,
unpredictable,
original,
complex
ExactPredictableDumbRigidSimple
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?
Interfaces (2)
• Input:– keyboard,– mouse,– Microphone– .....etc
• Output– Screen,– Printer– Loudspeaker– .....etc
• Could you interact to a computer without any of such?
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?)
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?
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
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
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
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
PROGRAMMING HIERARCHY
• HUMAN
• HIGH ORDER PROGRAMMING ENVIRONMENT
• PROGRAMMING LANGUAGE
• ASSEMBLY
• PROCESORdu
mb
smar
t
PROGRAM ROUTINE STACKING
• Graphical User Interface
• Program
• Operating Environment (Windows)
• DISK Operating System (DOS)
• Basic input/output system (BIOS)
• Machine code
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)
ELEMENTARY Computer Lay-out
MEMdata+instructions
CPU
I/O External
Model CPU
PC R2R1
IR
MAR
MDR
ALU
A B
SR DECODER
ICU TIMER
C
CLOCK
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
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
Recommended