Review Yuanqing Cheng
Outline Part I: Introduction of X86 based computing system Part II: Assembly programing Part III: Interfacing circuit design
Part I: Introduction of X86 based computing system Coding system Binary Hex-decimal 20H Decimal 32 Primary logic gates Computer structure
Part I: Introduction of X86 based computing system History of X86 microprocessor Pentium 16bit 32bit
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
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 | & ^ …
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
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
Part III: Microprocessors Pin layout Address/Data/Control buses
Part III: Microprocessors PC/XT X86 processor and interfacing circuitry Clock generator Bus controller
Part III: Microprocessors 16bit ISA bus
Part III: Memory Memory categories DRAM, SRAM, Flash, ROM, EPROM, EEPROM Decoding circuitry Example 10-7 (16bit interfacing circuitry) Memory map:
Part IV: I/O Devices 8255 I/O in/out instructions decoding circuitry programming control word format
Part IV: I/O Devices 8bit ISA PC Bus Extender
Part IV: I/O Devices 8bit ISA PC Bus Extender
Part IV: I/O Devices 8254/8253 timer Port address Package pins Connection Control word
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)
Part IV: I/O Devices Source of hardware interrupts Used in x86 PCs
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
Part IV: I/O Devices DMA concept (why DMA) The meaning of different registers Typical usage
Part IV: I/O Devices DMA in 80286