You are on page 1of 53

SYSTEM SOFTWARE

1151CS105
UNIT 1

Introduction
(System Software and Machine Architecture)
Course Coordinator : Dr. J. Visumathi
Course Handling Faculty: Mr. N. K. Senthil kumar

07/11/20 MR. N K SENTHI KUMAR 1


COURSE DETAILS:

Course Category : Program Core


Credit(s) :3
Hour(s) / Week :3
Slots : S3 & S5
Total No. Hours : 45
Course Description
 This Course provides knowledge about the internal operation of the
computer and also helps know how efficient use of memory and hardware
resources by System software and machine architecture especially
Assembler, Loader, Linking, Macro processor, Text editors and debugger.

07/11/20 MR. N K SENTHI KUMAR 2


Course Learning Benefits
Role Task Hiring Companies
System creating system software Intel , IBM, Microsoft
Programme CTC:
r 39.02 LPA offered by
Microsoft

IBM 15 LPA

Intel in India for 15.5 LPA


System designing and implementing short and Infosys, WIPRO, HCL
Architects long-term strategic goals for managing
and maintaining systems and software.
System An analyzing, studying software Major Software
alysts / capabilities and operations, including /Hardware Companies
System task scheduling, memory management,
Engineers file system, and input and output
requirements and
07/11/20 maintaining operatingMR. system and its
N K SENTHI KUMAR 3
TIME TABLE: S3&S5

THEORY

8.45 – 9.45 9.45 -10.45 10.45 - 11.45 11.45 - 12.45 1.45- 2.45 2.45- 3.45 3.45 - 4.45 4.45 - 5.45

Monday S5

Tuesday S5

Wednesday S3

Thursday S3 S5

Friday S3

07/11/20 MR. N K SENTHI KUMAR 4


Course Prerequisite(s)

Sl. Course Code Course Name


No
1 1151CS102 Data Structures

Relates Course : 1151CS110 Computer Organization and Architecture

Course Outcomes (CO’S)

CO
Course Outcomes K Level
Nos.
Distinguish different software into different categories and explain the
CO1 K2
architecture of SIC and SIC/XE
CO2 Translate the given mnemonic into object code K2
Illustrate how the object code is loaded into memory and
CO3 K2
linked with other object code
CO4 Summarize the macro definitions and its expansions K2
CO5 Explain features of modern editing /debugging tools. K2

07/11/20 MR. N K SENTHI KUMAR 5


COURSE CONTENT
UNIT I INTRODUCTION L –
8

System Software Vs. Application Software, Different System Software– Assembler, Linker,
Loader, Macro Processor, Text Editor, Debugger, Device Driver, Compiler, Interpreter,
Operating System(Basic Concepts only) SIC & SIC/XE Architecture, Addressing modes, SIC
& SIC/XE Instruction set, Assembler Directives and Programming.

UNIT II ASSEMBLERS L -
10

Basic Functions of Assembler. Assembler output format – Header,Text and End Records-
Assembler data structures, Two pass assembler algorithm, Hand assembly of SIC/XE program,
Machine dependent assembler features. Machine Independent assembler features – program
blocks, Control sections, Implementation example of MASM Assembler

UNIT III LOADERS AND LINKERS L -


09

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.

UNIT IV MACRO PROCESSORS L -


09

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.

UNIT V SYSTEM SOFTWARE TOOLS L –


9

Device drivers: Anatomy of a device driver, Character and block device drivers, General design
of device drivers Text Editors: Overview of Editing, User Interface, Editor Structure.
Debuggers -Debugging Functions and Capabilities, Relationship with other parts of the system,
Debugging Methods- By Induction, Deduction and Backtracking.

07/11/20 MR. N K SENTHI KUMAR 6


Required Textbook(s) :
1)  Leland L. Beck, “System Software – An Introduction to Systems
Programming”, 3rd Edition, Pearson Education Asia, 2006.
 
Suggested Reference Book(s) :
 1)D. M. Dhamdhere, “Systems Programming and Operating Systems”, Second
Revised Edition, Tata McGraw-Hill, 2000.
2)John J. Donovan “Systems Programming”, Tata McGraw-Hill Edition, 2000.
3)John R. Levine, “Linkers & Loaders” – Harcourt India Pvt. Ltd., Morgan
Kaufmann
Publishers, 2000.
 Suggested Web Resource(s):
 www.edunotes.in/system-software-notes
www.faadooengineers.com/.../7960-System-Software-Ebook-Notes-pdf

07/11/20 MR. N K SENTHI KUMAR 7


Course Assessment

07/11/20 MR. N K SENTHI KUMAR 8


Delivery Methods

Delivery
Cognitive
Course Outcome methods
Level
 
CO1:Distinguish different software into different
categories and explain the architecture of SIC and SIC/XE Understand Chalk & Talk

CO2:Translate the given mnemonic into object code Chalk & Talk,
Understand
PBL
CO3:Illustrate how the object code is loaded into memory Chalk &
Understand
andlinked with other object code Talk,PBL
CO4:Summarize the macro definitions and its expansions Understand Chalk & Talk

CO5:Explain features of modern editing /debugging tools. Understand Chalk & Talk

07/11/20 MR. N K SENTHI KUMAR 9


Program Specific Outcomes(PSO)
On successful completion of the program, the graduates will be able
to,
PSO 1: Mathematical Concepts: Equipped with the knowledge to infer
the mathematical models for problem solving using data structures,
design and analysis of algorithms.
PSO2: Software Development: Exhibit proficiency to analyze, design
and develop applications in various domains to provide solutions using
innovative ideas.
PSO3: Transferring Skills: Demonstrate the ability to provide solutions
for real world problems through acquaintance and hands-on training

07/11/20 MR. N K SENTHI KUMAR 10


CO & PSO Mapping

07/11/20 MR. N K SENTHI KUMAR 11


Program Outcomes
Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals,
1
and engineering specialization to the solution of complex engineering problems.
System software provides a chance to apply the knowledge of Engineering Fundamentals to solve the
engineering problems like design of Assembler, linker and loader.
Problem analysis: Identify, formulate, research literature, and analyze engineering problems to
2 arrive at substantiated conclusions using first principles of mathematics, natural, and engineering
sciences.
This subject analyzes about the problem of converting the code from one form to another form for the
successful execution of a program.
Design/development of solutions: Design solutions for complex engineering problems and design
3 system components, processes to meet the specifications with consideration for the public health and
safety, and the cultural, societal, and environmental considerations.
This subject provides the solution for conversion of high-level program to machine level code and also gives
the solution for loading the code into memory.
Conduct investigations of complex problems: Use research-based knowledge including design of
4 experiments, analysis and interpretation of data, and synthesis of the information to provide valid
conclusions.
System software subject provides the investigation of optimal utilization of memory , effective conversion of
object code and execution.
Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern
5 engineering and IT tools including prediction and modeling to complex engineering activities with
an understanding of the limitations.
*This course does not address the aspects*
The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal,
6 health, safety, legal, and cultural issues and the consequent responsibilities relevant to the
professional engineering practice.
07/11/20 MR. N K SENTHI KUMAR 12
Program Outcomes
Environment and sustainability: Understand the impact of the professional engineering
7 solutions in societal and environmental contexts, and demonstrate the knowledge of, and
need for sustainable development.
System software provided software applications gives the solutions for societal needs and helps to
achive the sustainable development.
Ethics: Apply ethical principles and commit to professional ethics and responsibilities and
8
norms of the engineering practice.
*This course does not address the aspects*
Individual and team work: Function effectively as an individual, and as a member or leader in
9
teams, and in multidisciplinary settings.
Each system software developers are provided a chance to perform their task individually and
associate each other to perform the specific task.
Communication: Communicate effectively with the engineering community and with society
10 at large. Be able to comprehend and write effective reports documentation. Make effective
presentations, and give and receive clear instructions.
All system software’s are communicating effectively with the engineering community as they are
using text-editors, debuggers, device drivers and other system software’s to develop and deliver
application software to the society.
Project management and finance: Demonstrate knowledge and understanding of
11 engineering and management principles and apply these to one’s own work, as a member
and leader in a team. Manage projects in multidisciplinary environments.
*This course does not address the aspects*
Life-long learning: Recognize the need for, and have the preparation and ability to engage in
12
independent and life-long learning in the broadest context of technological change.
All systems are upgraded based on the technological change, so it supports the lifelong learning .
07/11/20 MR. N K SENTHI KUMAR 13
Student Outcomes for this Course: EAC:
1 An ability to identify, formulate, and solve complex engineering problems by applying principles
of engineering, science, and mathematics.
Students will be able to understand the knowledge of Engineering problems such as assemble
language to object code and how efficiently loads the object code into the memory for simultaneously
execution.
2 An ability to apply engineering design to produce solutions that meet specified needs with
consideration of public health, safety, and welfare, as well as global, cultural, social,
environmental, and economic factors.
Students will be able to design system program which provides the solution for conversion of
asseblly language to machine level code and also gives the solution for loading the code into
memory.
3 An ability to communicate effectively with a range of audiences.
*This course does not address the aspects*
4 An ability to recognize ethical and professional responsibilities in engineering situations and
make informed judgments, which must consider the impact of engineering solutions in global,
economic, environmental, and societal contexts.
*This course does not address the aspects*
5 An ability to function effectively on a team whose members together provide leadership, create
a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
*This course does not address the aspects*
6 An ability to develop and conduct appropriate experimentation, analyze and interpret data, and
use engineering judgement to draw conclusions.
*This course does not address the aspects*
7 An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
Students will be ability to acquire knowledge by learning new system software tools such as editor
and debugger of continue upgrading of technical
07/11/20 knowledge
MR. N K SENTHI KUMAR based on the latest upgrade. 14
Student Outcomes for this Course: CAC
1 Analyze a complex computing problem and to apply principles of computing and other relevant
disciplines to identify solutions.
Students will be able to apply principles of computing to investigating internal operations of optimal
utilization of memory, effective conversion of object code and execution.
2 Design, implement, and evaluate a computing-based solution to meet a given set of computing
requirements in the context of the program’s discipline.
The students will be able to design, implement the assembler for conversion of assemble language
program to machine level code and also gives the solution for loading the object code into memory for
simultaneous execution.
3 Communicate effectively in a variety of professional contexts.
*This course does not address the aspects*
4 Recognize professional responsibilities and make informed judgments in computing practice based
on legal and ethical principles.
*This course does not address the aspects*
5 Function effectively as a member or leader of a team engaged in activities appropriate to the
program’s discipline.
*This course does not address the aspects*
6 Apply computer science theory and software development fundamentals to produce computing-
based solutions.
The Students will be able to apply software development fundamentals to produce computing-based
solutions that provided a chance to perform their task individually and associate each other to perform the
specific task.

 
07/11/20 MR. N K SENTHI KUMAR 15
Mapping of Course Outcomes with Program Outcomes and Student Outcomes
(Mention the program outcomes mapped to the course with levels : 1-Low,2-Medium,3-High)

Program Outcomes PO1 PO2 PO3 PO4 PO6 PO7 PO9 PO10 PO1
Correlates this
Course to program 1 2 1 2 1 2 2 1 1
outcomes: NBA

Student Outcomes SO1 SO2 SO3 SO5 SO6 SO7


Correlates this Course to
Student outcomes: EAC 2 2 - - - 2

Student Outcomes SO1 SO2 SO3 SO4 SO5 SO6


Correlates this Course to
2 2 - - - 1
Student outcomes: CAC

07/11/20 MR. N K SENTHI KUMAR 16


UNIT I COURSE CONTENT : INTRODUCTION

System Software Vs. Application Software, Different System Software–


Assembler, Linker, Loader, Macro Processor, Text Editor, Debugger,
Device Driver, Compiler, Interpreter, Operating System(Basic Concepts
only) SIC & SIC/XE Architecture, Addressing modes, SIC & SIC/XE
Instruction set, Assembler Directives and Programming.

07/11/20 MR. N K SENTHI KUMAR 17


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
◦ e.g. when you wrote assembler language
◦ assembler, macro processor
◦ e.g. you control all of these processes by interacting
with the operation system

07/11/20 MR. N K SENTHI KUMAR 18


Software Concepts

07/11/20 MR. N K SENTHI KUMAR 19


Software and its types
Software

• Software are programs(set of instructions) to do a specific task.

Types of Software

• System Software

• Application Software

07/11/20 MR. N K SENTHI KUMAR 20


System Software
System Software

• Programs that support operations of a computer.

• Helps in proper execution of Application software.

• Example: Operating System.

07/11/20 MR. N K SENTHI KUMAR 21


Application Software
In order to reduce human workload application
software used for a specific task with application
program on computer to solve the problem.
Example:
◦ Railway reservation
Software
◦ Banking software
◦ Etc..

07/11/20 MR. N K SENTHI KUMAR 22


System Software vs Application
Software

07/11/20 MR. N K SENTHI KUMAR 23


TYPES OF SYSTEM SOFTWARE:
1.Operating system
2.Language translators
Compilers
Interpreter
Assemblers
Preprocessor
3.Loaders
4.Linkers
5.Macro processors
6.Text Editor

07/11/20 MR. N K SENTHI KUMAR 24


Overview of the System software
types
OPERATING SYSTEM
◦ It is the most important system program that act as an interface between the
users and the system. It makes the computer easier to use.
LANGUAGE TRANSLATORS
◦ It is the program that takes an input program in one language and produces an
output in another language.
Compilers
◦ A compiler is a language program that translates programs written in any high-
level language into its equivalent machine language program
Interpreters:
◦ It is a translator program that translates a statement of high-level language to
machine language and executes it immediately. The program instructions are
taken line by line.
◦ Program counter (PC) indicates which statement of the source program is to be
interpreted next. This statement would be subjected to the interpretation cycle.

07/11/20 MR. N K SENTHI KUMAR 25


System Software types (cont..)
Assembler
• Translates Assembly level language to Low level language.

Loader
• Loads the program into Main memory for execution.

Linker
• Links sub programs together for execution.

Debuger
• Detects and locates error in program for correction.
Macroprocessor
• Which is used to expand the Macro, Macro is nothing but a set of
instruction defied under the single name.

07/11/20 MR. N K SENTHI KUMAR 26


Role of System Software

07/11/20 MR. N K SENTHI KUMAR 27


System Software vs. Machine
Architecture
One characteristic in which most system software differ from
application software is machine dependency
◦ e.g. assembler translate mnemonic instructions into machine code
◦ e.g. compilers must generate machine language code
◦ e.g. operating systems are directly concerned with the management of
nearly all of the resources of a computing system

There are some aspects of system software that do not directly depend
upon the type of computing system
◦ e.g. general design and logic of an assembler
◦ e.g. code optimization techniques

07/11/20 MR. N K SENTHI KUMAR 28


Points to Remember(SS)
•System software performs tasks for proper execution of Application software.
•Some types of system software are Text editors, Macro processors,
Compilers/Interpreters, Assemblers, Linkers, Loaders, Debuggers.
•Operating System is also a system software and are environment providers.
•Some features of system software are dependent on machine architecture while
some features of system software are independent on machine architecture.
•Today, the user interacts with the operating system through the graphical user
interface (GUI) on a monitor or touchscreen interface. The desktop in modern
OSs is a graphical workspace, which contains menus, icons, and apps that are
manipulated by the user through a mouse-driven cursor or the touch of a finger.
The disk operating system (DOS) was a popular interface used in the 1980s.

07/11/20 MR. N K SENTHI KUMAR 29


The Simplified Instructional Computer (SIC)
SIC is a hypothetical computer that includes the hardware features
most often found on real machines
Two versions of SIC
◦ Standard model
◦ XE version

◦ Both versions are designed in upward compatible manner, machines and


share the same basic structure. Means program written in lower version can
able to execute in higher version.

07/11/20 MR. N K SENTHI KUMAR 30


SIC Machine Architecture
Memory
◦ 8-bit bytes
◦ 3 consecutive bytes form a word
◦ Words are addressable by lowered numbered byte.
◦ 215 bytes in the computer memory (i.e) 32,768 bytes.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Registers: There are five registers, each 24 bits in length. Their


mnemonic, number and use are given in the following table.
Mnemonic Number Special use
A 0 Accumulator; used for arithmetic operations
X 1 Index register; used for addressing
L 2 Linkage register; use to store the return address of JSUB instruction
PC 8 Program counter used to store next executable instruction.
SW 9 Status word, contains variety of information including the CC

07/11/20 MR. N K SENTHI KUMAR 31


SIC Machine Architecture
Data Formats
◦ Integers are stored as 24-bit binary numbers; 2’s complement
representation is used for negative values
◦ characters are stored using their 8-bit ASCII codes
◦ No floating-point hardware

Instruction Formats
opcode (8) x address (15)

Addressing Modes
Mode Indication Target address calculation
Direct x=0 TA=address
Indexed x=1 TA=address+(X)

07/11/20 MR. N K SENTHI KUMAR 32


A-41
Data Formats B-42
C-43
Integers are stored as 24-bit binary numbers; 2’s complement D-44
78 E-45
representation is used for negative values
39-0 F-46
No floating-point hardware
19-1 G-47
Example: 1
9-1 H-48
-1(2’s complement representation )
4-1 I-49
1
2-0 J-4A
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1-0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 K-4B
1001110                                               1
L-4C
-1 M-4D
8421 N-4E
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1110 4E
A-41-65-01000001
1010 14*16^0=14
N-4E-78-01001110
4E-01001110 4*16^1=64
Y-59-01011001 7F-0111 1111 78
y -79-01111001 5A-0101 1010

07/11/20 MR. N K SENTHI KUMAR 33


A-41-0100 0001
B-42 65
◦ 32-1
◦ 16-0
◦ 8-0
◦ 4-0
◦ 2-0
◦ 1-0\
◦ 7F-0111 1111
◦ 15
◦ 7-1 8 4 21
◦ 3-1
◦ 1-1

◦ 01000001 D-44-0100 0100

07/11/20 MR. N K SENTHI KUMAR 34


07/11/20 MR. N K SENTHI KUMAR 35
07/11/20 MR. N K SENTHI KUMAR 36
How to Represent 156 in Binary

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0

07/11/20 MR. N K SENTHI KUMAR 37


SIC Machine Architecture
Instruction Set
◦ load and store: 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
◦ conditional jump instructions: JLT, JEQ, JGT
◦ these instructions test the setting of CC and jump accordingly
◦ subroutine linkage: JSUB, RSUB
◦ JSUB jumps to the subroutine, placing the return address in register L
◦ RSUB returns by jumping to the address contained in register L

07/11/20 MR. N K SENTHI KUMAR 38


SIC Machine Architecture
Input and Output
◦ Input and output are performed by transferring 1 byte at a time to or from
the rightmost 8 bits of register A
◦ The Test Device (TD) instruction tests whether the addressed device is ready
to send or receive a byte of data
◦ Read Data (RD)
◦ Write Data (WD)

07/11/20 MR. N K SENTHI KUMAR 39


Points to Remember(SIC)
•SIC memory is of form Bits(8)->1 Byte, Bytes(3)-> Word.
•SIC has five registers namely A, X, L, PC, SW.
•SIC supports Integer and Character data.
•SIC instructions are 24 bits in length.
•SIC has Direct and Indexed addressing modes.(X=0,X=1)
•SIC instructions are of type Data movement, Arithmetic, Compare,
Jump, Subroutine based.(LDA..,ADD…,COMP,JLT…,JSUB&RSUB)
•SIC I/O instructions(TD,RD,WD) transfer 1 byte at a time.

07/11/20 MR. N K SENTHI KUMAR 40


SIC/XE Machine Architecture
Memory
◦ 220 bytes in the computer memory

More Registers

Mnemonic Number Special use


B 3 Base register; used for addressing
S 4 General working register
T 5 General working register
F 6 Floating-point acumulator (48bits)

07/11/20 MR. N K SENTHI KUMAR 41


SIC/XE Machine Architecture
Data Formats
◦ Floating-point data type: frac*2(exp-1024)
◦ frac: 0~1
◦ exp: 0~2047

s exponent fraction (36)


(11)
Instruction Formats
◦ larger memory -> extend addressing capacity
Format 1
op(8)
Format 2
op(8) r1(4) r2(4)
Format 3 e=0
op(6) n I x b p e disp(12)

Format 4 e=1
op(6) n I x b p e address (20)

07/11/20 MR. N K SENTHI KUMAR 42


Floating Point
◦ Floating point is 48 bits in size.
◦ The fraction is a value between 0 and 1.
◦ Binary point should be before high ordered bit.
0.4*2=0.8
◦ Exponent is an Unsigned binary between 0 and 2047.
◦ If Exponent is e and fraction is f, absolute representation is 0.8*2=1.6
f * 2(e-1024) . 0.6*2=1.2
◦ Sign bit S=0 if positive, S=1 if negative.
o.2*2=0.4
4.4=100.011001100110011 0.4*2=0.8
100.011001100110011 0.8*2=1.6
1.000110011001100…*102 0.6*2=1.2
o.2*2=0.4
e= 1024+2=>010000000010 0.4*2=0.8
s exponent fraction (36) 0.8*2=1.6
(11)
4.4=>0010000000010000110011001100.. 0.6*2=1.2
1 11 36
07/11/20 MR. N K SENTHI KUMAR 43
Floating Point
◦ Floating point is 48 bits in size.
1022
◦ The fraction is a value between 0 and 1.
511-0 ◦ Binary point should be before high ordered bit.
0.4*2=0.8
255-1 ◦ Exponent is an Unsigned binary between 0 and 2047.
◦ If Exponent is e and fraction is f, absolute representation is 0.8*2=1.6
127-1
f * 2(e-1024) . 0.6*2=1.2
63-1 ◦ Sign bit S=0 if positive, S=1 if negative.
o.2*2=0.4
31-1
0.4=0.011001100110011 0.4*2=0.8
15-1
0.011001100110011 0.8*2=1.6
7-1
1.10011001100…*10-2 0.6*2=1.2
3-1
o.2*2=0.4
1-1
e= 1024-2=>1022=> 0.4*2=0.8
s exponent fraction (36) 0.8*2=1.6
(11)
4.4=>0011111111101001100110011 .. 0.6*2=1.2
1 11 36
07/11/20 MR. N K SENTHI KUMAR 44
SIC/XE Machine Architecture
Addressing Modes

Mode Indication Target address calculation


Base relative b=1, p=0 TA=(B)+disp (0<=disp<=4095)
Program-counter b=0, p=1 TA=(PC)+disp (-2048<=disp<=2047)
relative
Direct b=0, p=0 TA=disp (format 3) or address (format 4)
Indexed x=1 TA=TA+(X)

◦ How the target address is used?

Mode Indication operand value


immediate addressing i=1, n=0 TA
indirect addressing i=0, n=1 (TA)
simple addressing i=0, n=0 SIC instruction (all end with 00)
i=1, n=1 SIC/XE instruction
◦ Note: Indexing cannot be used with immediate or indirect addressing modes

07/11/20 MR. N K SENTHI KUMAR 45


SIC/XE Machine Architecture
Instruction Set
◦ new registers: LDB, STB, etc.
◦ floating-point arithmetic: ADDF, SUBF, MULF, DIVF
◦ register move: RMO
◦ register-register arithmetic: ADDR, SUBR, MULR, DIVR
◦ supervisor call: SVC
◦ generates an interrupt for OS (Chap 6)

Input/Output
◦ SIO, TIO, HIO: start, test, halt the operation of I/O device (Chap 6)

07/11/20 MR. N K SENTHI KUMAR 46


Points to Remember(XE)
•SIC / XE memory is 220 bytes .
•SIC / XE has four additional registers. (B, S, T, F)
•SIC / XE supports Floating point operations in additional.
•SIC / XE has four Instruction formats Byte 1 format, Byte 2 format,
Byte 3 format and Byte 4 format.
•SIC / XE has Indirect, Immediate, Relative & Direct addressing
mode.
•SIC / XE has Floating point instructions, Register to Register
instructions, Supervisor call instructions.
(LDB,LDS…,ADDF…,ADDR….,COMPR,SVC..)
•SIC / XE uses I / O Channels in additional.(SIO,HIO,TIO)

07/11/20 MR. N K SENTHI KUMAR 47


Example Programs (SIC)

Example 1(Simple data and character movement operation)

LDA FIVE
STA ALPHA
LDCH CHARZ
STCH C1
.
ALPHA RESW 1
FIVE WORD 5
CHARZ BYTE C’Z’
C1 RESB 1

Example 2( Arithmetic operations)

LDA ALPHA
ADD INCR
SUB ONE
STA BEETA
……..
……..
……..
……..
ONE WORD 1
ALPHA RESW 1
BEETA RESW 1
INCR RESW 1

07/11/20 MR. N K SENTHI KUMAR 48


Example Programs (SIC/XE)

Example 1 (Simple data and character movement operation)

LDA #5
STA ALPHA
LDA #90
STCH C1
.
.
ALPHA RESW 1
C1 RESB 1
Example 2(Arithmetic operations)

LDS INCR
LDA ALPHA
ADD S,A
SUB #1
STA BEETA
………….
…………..
ALPHA RESW 1
BEETA RESW 1
INCR RESW 1

07/11/20 MR. N K SENTHI KUMAR 49


Question for practice
• How the below data gets stored in memory in Binary

• (‘N’)

• (‘k’)

• (37)10

• (FFC)16

• (-22)10

• (-4.7)10

07/11/20 MR. N K SENTHI KUMAR 50


Question for practice
• Discuss how much memory usage for Simple data and
character movement operation in SIC/XE and what character
will stored in C1 and justify how it differ from SIC Standard
Model
LDA #5
STA ALPHA
LDCH #90
STCH C1

07/11/20 MR. N K SENTHI KUMAR 51


07/11/20 MR. N K SENTHI KUMAR 52
Thank you

07/11/20 MR. N K SENTHI KUMAR 53

You might also like