Upload
gerald-daniels
View
215
Download
1
Embed Size (px)
Citation preview
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– Data structures and algorithms for them.– Relationship among different components of computer systems/software
including assembler, loader/linker, macro-processor, and OS. – Difference between some concepts/terms/functions– Advantages and disadvantages of some functions/methods.