50 likes | 231 Views
Chapter 1. Computer architecture Memory, register, data format, instruction (format and set), addressing mode, I/O Sequential, parallel, pipeline, dual or multi core. Languages: machine, assembly, high System software OS, assembler/linker/loader, compiler, editor, …
E N D
Chapter 1 • Computer architecture • Memory, register, data format, instruction (format and set), addressing mode, I/O • Sequential, parallel, pipeline, dual or multi core. • Languages: machine, assembly, high • System software • OS, assembler/linker/loader, compiler, editor, … • SIC and SIC/XE architecture • Addressing modes • Relations among different components of computer • Hardware and software • Different software
Assembler • Functions • Basic • Mnemonic Opcode • Labels Addresses • Extended • Program relocation • Different instruction formats, addressing modes. • Literals, EQU, Expression, Blocks, Control Sections. # and = differences. • Two passes: • Pass one • Assign addresses to all statements in source code • Enter names of symbols (labels/literals/blocks/Control Sections) into SYMTAB, LITTAB, ESTAB • Save values (addresses, lengths) assigned to symbols for use in pass two • Process directives • Pass two • Translate instructions • Convert symbols to addresses. • Generate values defined by BYTE and WORD and compute expressions to values. • Write object code to object program including Define, Refer, and Modification records. • Data structures • Tables: OPTABLE, SYMTAB, LITTAB, ESTAB, … , hash/or linked list • Location counter: LOCCTR, PROGADDR, CSADDR, … • Directives: • BYTE, WORD, RESB, RESW, BASE, EQU, USE, LTORG, CSEC, EXTDEF, EXTREF, • Object records: • Header, End, Text, Modification, Define, Refer, … • Relations among source program, (intermediate file), object code, and object program. • Relations among assembler, loader, and linker. • Different Addressing models
Linker/Loader Summary • Loader, Linker, Linking loader, • Linkage editor, simple loader, dynamic linking, absolute loader, bootstrap loader. • Functions • Pass 1: Assign addresses to external symbols • Pass 2: loading, relocation, linking • Important: how relocation and linking is implemented. • Data Structures: ESTAB, PROGADDR, CSADDR, EXECADDR • Library search and linking • Linking options • Dynamic linking
Micro Processor Summary • Basic functions • Definitions and expansions • Features • Labels, nested definitions, recursive invocations. • Conditional macro processing. • IF…ENDIF, WHILE…ENDW, macro-time variables and instructions • Keyword parameters • Data structures and algorithms • NAMTAB, DEFTAB, ARGTAB • For recursive invocation, STACK. • Relation between macro processors and assemblers
Exam • Types: • Concepts and functions • Identify features • True/false • Write program and read program • Generate object codes for some instructions, particularly, different addressing modes. • Focus • Which belong to hardware, software, or both • Functions of assembler, loader/linker, and macro processor • Relation among different components of computer systems.