Presentation is loading. Please wait.

Presentation is loading. Please wait.

Review Yuanqing Cheng. Outline Part I: Introduction of X86 based computing system Part II: Assembly programing Part III: Interfacing circuit design.

Similar presentations


Presentation on theme: "Review Yuanqing Cheng. Outline Part I: Introduction of X86 based computing system Part II: Assembly programing Part III: Interfacing circuit design."— Presentation transcript:

1 Review Yuanqing Cheng

2 Outline Part I: Introduction of X86 based computing system Part II: Assembly programing Part III: Interfacing circuit design

3 Part I: Introduction of X86 based computing system Coding system Binary 00100000 Hex-decimal 20H Decimal 32 Primary logic gates Computer structure

4 Part I: Introduction of X86 based computing system History of X86 microprocessor 8086 80286 80386 Pentium 16bit 32bit

5 Part II: X86 Assembly Programming Segment definition: code, stack, data Procedure for assembling a program Read more sample programs Control transfer instruction conditional jumps JA JL … short jumps unconditional jumps JMP call Directives ORG DB DW DD EQU DQ DT Flow charts & Pseudocode

6 Part II: X86 Assembly Programming Unsigned number ADD, SUB, SBB, MUL, DIV (note where stores the quotient and where reminder, and size of operators) Logic instruction AND, XOR, OR, SHR, SHL, CMP BCD and ASCII DAA, DAS Rotate instruction ROR, ROL, RCR, RCL Bitwise instruction | & ^ …

7 Part II: X86 Assembly Programming Signed numbers negative number representation sign extended inst. CBW, CWD, IDIV, IMUL, SAR, SAL String STOS, LODS, STOSB, LODSB, REPZ, REPNZ, CMPS, SCASB, XLAT Macros name MACRO dummy1, dummy2, …, dummyN e.g., STRINGMACRODATA1 LOCAL & INCLUDE directives

8 Part II: X86 Assembly Programming Modular programming EXTRN & PUBLIC SEGMENT directive Pass parameter via register/memory/stack Stack pointer position when passing parameters 32-bit programming 32-bit registers EAX, EBX, ECX, EDX … big endian vs. little endian

9 Part III: Microprocessors Pin layout Address/Data/Control buses

10 Part III: Microprocessors PC/XT X86 processor and interfacing circuitry Clock generator Bus controller

11 Part III: Microprocessors 16bit ISA bus

12 Part III: Memory Memory categories DRAM, SRAM, Flash, ROM, EPROM, EEPROM Decoding circuitry Example 10-7 (16bit interfacing circuitry) Memory map:

13 Part IV: I/O Devices 8255 I/O in/out instructions decoding circuitry programming control word format

14 Part IV: I/O Devices 8bit ISA PC Bus Extender

15 Part IV: I/O Devices 8bit ISA PC Bus Extender

16 Part IV: I/O Devices 8254/8253 timer Port address Package pins Connection Control word

17 Part IV: I/O Devices Interrupt vector table INT 00H 01H 02H 03H 04H 8259 control word ICW1-4 format OCW1-4 format The procedure to process Interrupt (in steps)

18 Part IV: I/O Devices Source of hardware interrupts Used in x86 PCs

19 Part IV: I/O Devices INT 21H different options for cursor and graphic mode settings (options) INT 10H display strings onto screen (options) INT 16H keyboard interrupt INT 33H mouse programming

20 Part IV: I/O Devices DMA concept (why DMA) The meaning of different registers Typical usage

21 Part IV: I/O Devices DMA in 80286


Download ppt "Review Yuanqing Cheng. Outline Part I: Introduction of X86 based computing system Part II: Assembly programing Part III: Interfacing circuit design."

Similar presentations


Ads by Google