Preview

System Programming

Powerful Essays
Open Document
Open Document
30057 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
System Programming
ANNA UNIVERSITY TIRUNELVELI / REGULATION 2008
CS54 – SYSTEM SOFTWARE
AIM
To have an understanding of foundations of design of assemblers, loaders, linkers, and macro processors.
OBJECTIVES
 To understand the relationship between system software and machine architecture.
 To know the design and implementation of assemblers
 To know the design and implementation of linkers and loaders.
 To have an understanding of macroprocessors.
 To have an understanding of system software tools.
UNIT I
INTRODUCTION
System software and machine architecture – The Simplified Instructional Computer
(SIC) - Machine architecture - Data and instruction formats - addressing modes instruction sets - I/O and programming.

8

UNIT II
ASSEMBLERS
10
Basic assembler functions - A simple SIC assembler – Assembler algorithm and data structures - Machine dependent assembler features - Instruction formats and addressing modes – Program relocation - Machine independent assembler features - Literals –
Symbol-defining statements – Expressions - One pass assemblers and Multi pass assemblers - Implementation example - MASM assembler.
UNIT III
LOADERS AND LINKERS
Basic loader functions - Design of an Absolute Loader – A Simple Bootstrap Loader Machine dependent loader features - Relocation – Program Linking – Algorithm and
Data Structures for Linking Loader - Machine-independent loader features - Automatic
Library Search – Loader Options - Loader design options - Linkage Editors – Dynamic
Linking – Bootstrap Loaders - Implementation example - MSDOS linker.

9

UNIT IV
MACRO PROCESSORS
9
Basic macro processor functions - Macro Definition and Expansion – Macro Processor
Algorithm and data structures - Machine-independent macro processor features Concatenation of Macro Parameters – Generation of Unique Labels – Conditional Macro
Expansion – Keyword Macro Parameters-Macro within Macro-Implementation example MASM Macro Processor – ANSI C Macro language.
UNIT V
SYSTEM SOFTWARE TOOLS
Text editors -

You May Also Find These Documents Helpful

  • Satisfactory Essays

    Computer Architect

    • 744 Words
    • 3 Pages

    Instruction address calculation (iac): Determine the address of the next instruction to be executed. Instruction fetch (if): Read instruction from its memory location into the processor. Instruction operation decoding (iod): Analyze instruction to determine type of operation to be performed and operand(s) to be used. Operand address calculation (oac): If the operation involves reference to an operand in memory or available via I/O, then determine the address of the operand. Operand fetch (of): Fetch the operand from memory or read it in from I/O. Data operation (do): Perform the operation indicated in the instruction. Operand store (os): Write the result into memory or out to I/O.…

    • 744 Words
    • 3 Pages
    Satisfactory Essays
  • Satisfactory Essays

    Macros in Sas

    • 389 Words
    • 2 Pages

    This hands-on workshop presents some intermediate-to-advanced macro topics such as macro referencing environments, macro interfaces (SYMGET, SYMPUT, EXECUTE, RESOLVE, PROC SQL), macro quoting, and macro functions. Good practices and alternatives to macros are also discussed. After a short lecture, attendees will perform hands-on exercises until the end of the session.…

    • 389 Words
    • 2 Pages
    Satisfactory Essays
  • Good Essays

    assembly language

    • 391 Words
    • 2 Pages

    Marco provide short-hand for assembly programmers. The most common macro feature is the substitution macro. This…

    • 391 Words
    • 2 Pages
    Good Essays
  • Good Essays

    Linker Loader

    • 12327 Words
    • 50 Pages

    Introduction: In this chapter we will understand the concept of linking and loading. As discussed earlier the source program is converted to object program by assembler. The loader is a program which takes this object program, prepares it for execution, and loads this executable code of the source into memory for execution. Definition of Loader: Loader is utility program which takes object code as input prepares it for execution and loads the executable code into the memory. Thus loader is actually responsible for initiating the execution process. Functions of Loader: The loader is responsible for the activities such as allocation, linking, relocation and loading 1) It allocates the space for program in the memory, by calculating the size of the program. This activity is called allocation. 2) It resolves the symbolic references (code/data) between the object modules by assigning all the user subroutine and library subroutine addresses. This activity is called linking. 3) There are some address dependent locations in the program, such address constants must be adjusted according to allocated space, such activity done by loader is called relocation. 4) Finally it places all the machine instructions and data of corresponding programs and subroutines into the memory. Thus program now becomes ready for execution, this activity is called loading. Loader Schemes: Based on the various functionalities of loader, there are various types of loaders: 1) “compile and go” loader: in this type of loader, the instruction is read line by line, its machine code is obtained and it is directly put in the main memory at some known address. That means the assembler runs in one part of memory and the assembled machine instructions and data is…

    • 12327 Words
    • 50 Pages
    Good Essays
  • Satisfactory Essays

    This design is based on the rule that all macro definitions should appear at the beginning of the program.…

    • 488 Words
    • 2 Pages
    Satisfactory Essays
  • Powerful Essays

    The research will discuss the usage of macros in different programming platforms; its advantages and disadvantages. At the end of this research paper, a constructive comparison of the disadvantages and advantages will be provided. Recommendation for the use of macros derived from the given advantages and disadvantages would be part of the research scope.…

    • 3986 Words
    • 16 Pages
    Powerful Essays
  • Powerful Essays

    According to the requirements of the coursework, my team needs to conduct an investigation into…

    • 6434 Words
    • 26 Pages
    Powerful Essays
  • Satisfactory Essays

    Number and character operands, as well as instructions, are stored in the memory of a computer. The memory consists of many millions of storage cells, each of which can store a bit of information having the value 0 or 1. Because a single bit represents a very small amount of information, bits are seldom handled individually. The usual approach is to deal with them in groups of fixed size. For this purpose, the memory is organized so that a group of n bits can be stored or retrieved in a single, basic operation. Each group of n bits is referred to as a word of information, and n is called the word length. The memory of a computer can be schematically represented as a collection of words as shown in figure (a).Modern computers have word lengths that typically range from 16 to 64 bits. If the word length of a computer is 32 bits, a single word can store a 32-bit 2’s complement number or four ASCII characters, each occupying 8 bits. A unit of 8 bits is called a byte .Accessing the memory to store or retrieve a single item of information, either a word or a byte, requires distinct names or addresses for each item location. It is customary to use numbers from 0 through 2K -1, for some suitable values of k, as the addresses of successive locations in the memory. The 2k addresses constitute the address space of the computer, and the memory can have up to 2k addressable locations. 24-bitaddress generates an address space of 224(16,777,216) locations. A 32-bit address creates an address space of 232or 4G (4 giga) locations.…

    • 535 Words
    • 3 Pages
    Satisfactory Essays
  • Satisfactory Essays

    2.1 A First Verilog Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Lexical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Program Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8…

    • 4773 Words
    • 20 Pages
    Satisfactory Essays
  • Good Essays

    programming

    • 761 Words
    • 4 Pages

    Allâh (swt) says in the Qur'ân: "No kind of calamity can occur, except by the will…

    • 761 Words
    • 4 Pages
    Good Essays
  • Powerful Essays

    C Language

    • 5958 Words
    • 24 Pages

    C is a minimalistic programming language. Among its design goals were that it could be compiled in a straightforward manner using a relatively simple compiler, provide low-level access to memory, generate only a few machine language instructions for each of its core language elements, and not require extensive run-time support. As a result, C code is suitable for many systems-programming applications that had traditionally been implemented in assembly language.…

    • 5958 Words
    • 24 Pages
    Powerful Essays
  • Better Essays

    The first phase of the compiler, called Lexical Analyzer or Scanner reads the source program one character at a time, carving the source program into a sequence of atomic units called tokens. The usual tokens are identifiers, keywords, constants, operators and punctuation symbols such as comma and parenthesis. Each token is a sub-string of the source program that is to be treated as a single unit. The Lexical analyzer examines successive character in the source program starting from the first character not yet grouped into a token. It may be required to search many characters beyond the next token in order to determine what the next token actually is.…

    • 880 Words
    • 4 Pages
    Better Essays
  • Powerful Essays

    Os by William Stalling 6/E

    • 238147 Words
    • 953 Pages

    art One provides a background and context for the remainder of this book. This part presents the fundamental concepts of computer architecture and operating system internals.…

    • 238147 Words
    • 953 Pages
    Powerful Essays
  • Good Essays

    Assembly Language - Essay

    • 3004 Words
    • 13 Pages

    Assembly language uses a mnemonic to represent each low-level machine operation or opcode. Some opcodes require one or more operands as part of the instruction, and most assemblers can take labels and symbols as operands to represent addresses and constants, instead of hard coding them into the program. Macro assemblers include a macroinstruction facility so that assembly language text can be pre-assigned to a name, and that name can be used to insert the text into other code. Many assemblers offer additional mechanisms to facilitate program development, to control the assembly process, and to aid debugging.…

    • 3004 Words
    • 13 Pages
    Good Essays
  • Good Essays

    In this model the pipeline architecture has been implemented and it consists of four stages instruction fetch, instruction decodes, execution, and write-back. Instructions are fetched from the external memory or the cache memory to the instruction buffers and then transferred into the decoding units. The set of temporary registers are used as renaming registers for instructions with output and anti-dependencies. The branch prediction unit predicts the next stream of instructions. Data needed by the load/store instructions is handled by the data cache. In case of an interrupt the retire unit restores the proper…

    • 1541 Words
    • 7 Pages
    Good Essays