Module_1
Module_1
System Software
• Software: Two types
– System Software
– Application Software
Application Software
User
System Software
Hardware
• Application Software
– Software to perform specific task for the user as per the
requirement.
– eg:- MS word, photoshop, Google chrome, mediaplayer
etc.
• System Software
– Software to support the operation of a computer.
– Enables the user to focus on the application or the
problem to be solved.
– User need not know the internal working of the
machine.
Types of system softwares
• Assembler
• Linker
• Loader
• Text editor
• Device driver
• Debugger
• Macro processor
• Compiler
• Interpreter
• Operating system
• Text Editors
– Allows users to create and edit documents.
– Eg:- notepad, microsoft word, vi, emacs etc.
• Device Drivers
– Programs that controls a device (printer, scanner,
keyboard etc.) connected to a computer.
– Converts the requests form the OS to specific
commands the device controllers can understand.
Language Translators
• Assembler
– Translate assembly language into machine language.
• Compiler
– Translate High level language programs into machine
language.
– eg: gcc (GNU Compiler Collections)
• Interpreter
– Translate High level language programs into machine
language.
– eg: Python compiler, java script
• Linker
– High level languages use header files/libraries that are
built-in or user defined.
– Linker links the user program with functions defined in
the libraries.
• Loader
– Loads the machine code into memory for execution.
• Debugger
– Identify and remove errors.
– Examine the flow of control, values of variables at
different points, values of parameters passed to the
function and values returned.
• Macro Processor
– Macro denotes a group of commonly used statements in
the program.
– Macro processor replaces each macro instruction with
corresponding group of statements.
– Macro Processor involves definition, invocation, and
expansion.
Introduction
• Definition
– System software consists of a variety of programs that
support the operation of a computer
– One characteristic in which most system software differ
from application software is machine dependency
• Example:
– e.g. when you took the first programming course
• text editor, compiler, loader or linker, debugger
• Instruction Set
– load and store registers: LDA, LDX, STA, STX, etc.
– integer arithmetic operations: ADD, SUB, MUL, DIV,
etc.
• All arithmetic operations involve register A and a word in
memory, with the result being left in the register.
– comparison: COMP
• COMP compares the value in register A with a word in
memory, this instruction sets a condition code CC to indicate
the result(<,=,>).
Instruction set
• Load and store instruction - LDA, LDX, STA, STX
– Ex: LDA ALPHA ⇔ (A) ← (ALPHA)
– STA ALPHA ⇔ (ALPHA) ← (A)
Additional Registers
SIC/XE - Data Formats
Integers are stored as 24-bit binary numbers.
• Negative numbers are stored as 2’s complement
representation.
• Characters are stored using their 8-bit ASCII codes.
• Additionally, there is a 48-bit floating-point data type
e=0
e=1
Instruction Format
• Example: RSUB
• Indirect mode
Case 1:
Case 2:
Example(Addressing modes)