Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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. 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: Target: to get familiar with the Deeds Assembly environment. Enter using the Editor: ORG 0000 ;start at reset-location jp 100 ;jump to program area ORG 100 ;continue at program area ld b,5 ;store 5 into the B-register add a,b ;add B into the A register halt ;stop the program Compile the program, enter the debugger Observe: registers, memory, program counter, step-key, run, reset and stop/start Vary: 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 • 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?) 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 creative, unreliable, unpredictable, original, complex GAP !!!! • COMPUTERWORLD Exact Predictable Dumb Rigid Simple 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 smart PROGRAMMING HIERARCHY • HUMAN • HIGH ORDER PROGRAMMING ENVIRONMENT • PROGRAMMING LANGUAGE dumb • ASSEMBLY • PROCESOR 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 Layout MEM data+instructions I/O CPU External Model CPU PC M A R M D R R1 A R2 B ALU IR SR DECODER C ICU CLOCK TIMER 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. Interupt register Alternative registers. I R Memory Refresh Accumulator Registers A’ W B D H I I S P Z C E L X Y P C W’ B’ D’ H’ Z’ C’ E’ L’ A Alternative Registers Adress Registers F F’ Flags 8 bit S Z H Sign Zero Half-Carry P/V Parity/overfl. N Negate C Carry