UNIT I
Introduction
The Software is set of instructions or programs written to carry out certain task on
digital computers. It is classified into system software and application software. System software
consists of a variety of programs that support the operation of a computer. Application software
focuses on an application or problem to be solved.
Examples for system software are Operating system, compiler, assembler, macro
processor, loader or linker, debugger, text editor, database management systems (some of them)
and, software engineering tools. These software’s make it possible for the user to focus on an
application or other problem to be solved, without needing to know the details of how the
machine works internally.
SYSTEM SOFTWARE AND MACHINE ARCHITECTURE
One characteristic in which most system software differs from application software is
machine dependency.
System software supports operation and use of computer. Application software
provides solution to a problem. Assembler translates mnemonic instructions into machine code.
The instruction formats, addressing modes etc., are of direct concern in assembler design.
Similarly,
Compilers must generate machine language code, taking into account such hardware
characteristics as the number and type of registers and the machine instructions available.
Operating systems are directly concerned with the management of nearly all of the resources of a
computing system.
There are aspects of system software that do not directly depend upon the type of
computing system, general design and logic of an assembler, general design and logic of a
compiler and code optimization techniques, which are independent of target machines. Likewise,
the process of linking together independently assembled subprograms does not usually depend
on the computer being used.
THE SIMPLIFIED INSTRUCTIONAL COMPUTER (SIC)
• This machine has been designed to illustrate the most commonly encountered hardware
features and concepts, while avoiding most of the peculiarity that are often found in real
machines.
• SIC comes in two versions:
1. The standard model
2. An XE version(extra equipment or extra expensive)
• The two versions have been designed to be upward compatible – that is, an object
program for the standard SIC machine will also execute properly on a SIC/XE system.
1
,SIC MACHINE ARCHITECTURE
MEMORY
• Memory consists of 8-bit bytes, any 3 consecutive bytes form a word.(24 bits)
• All addresses on SIC are byte addresses, words are addressed by the location of their
lowest numbered byte.
• There are a total of 32,768 bytes in the computer memory.
REGISTERS
• There are 5 registers, all of which have special uses.
• Each register is 24 bits in length.
Mnemonic Number Special use
Accumulator, used for
A 0
arithmetic operations
Index register, used for
X 1
addressing
Linkage register, the Jump to
L 2
subroutines
Program counter, contains
the address of the next
PC 8
instruction to be fetched for
execution
Status word, contains a
variety of information,
SW 9
including a Condition Code
(CC).
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.
• There is no floating-point hardware on the standard version of SIC.
INSTRUCTION FORMATS
• All machine instructions on the standard version of SIC have the following 24-bit format:
• The flag bit x is used to indicate indexed-addressing mode.
8 1 15
Opcode X Address
ADDRESSING MODES
• There are 2 addressing modes available by setting the x value.
Mode Indication Target address calculation
Direct X=0 TA=address
Indexed X=1 TA=address + (X)
2
, 1. Direct addressing mode
LDA TEN
0000 0000 0 001 0000 0000 0000
0 0 1 0 0 0
Opcode x TEN
Effective address (EA) = 1000
Content of the address 1000 is loaded to Accumulator.
2. Indexed addressing mode
STCH BUFFER, X
0101 0100 1 001 0000 0000 0000
5 4 1 0 0 0
Opcode x BUFFER
Effective address (EA) = 1000 + [x]
= 1000 + content of the index register X.
• The accumulator content, the character is loaded to the effective address.
INSTRUCTION SET
• This includes instruction that load and store register.
LDA – load accumulator
LDX – load index register
STA – store accumulator
STX – store index register
• It also includes integer arithmetic instructions ADD, SUB, MUL, DIV.
• All arithmetic operations involve register A and a word in memory, with the result being
left in the register.
• It also includes an instruction COMP that compares the value in register A with a word in
memory.
• It also includes jump instructions like,
JLT - less than
JEQ – equal
JGT – greater than.
• The two instructions are provided for subroutine linkage. They are,
1. JSUB – jumps to subroutine
2. RSUB – returns to subroutine.
INPUT AND OUTPUT
• Input and output are performed by transferring 1 byte at a time to or from the rightmost 8
bits of register.
• Each device is assigned a unique 8-bit code.
• There are 3 I/O instructions, each of which specifies the device code as an operand.
3
, 1. Test Device(TD):
• This instruction tests whether the addressed device is ready to send or receive
a byte of data.
• The condition code is set to indicate the result of this test.
• A setting of < means the device is ready to send or receive and + means the
device is not ready)
2. Read Data(RD)
3. Write Data(WD)
• A program needing to transfer data or receive, wait until the device is ready, then execute
a read data or write data.
SIC/XE MACHINE ARCHITECTURE
MEMORY
• The maximum memory available is 1 megabyte.
• This increase leads to a change in instruction formats and addressing modes.
REGISTERS
Mnemonic Number Special use
Base register, used for
B 3
addressing
S 4 General working register
T 5 General working register
Floating-point
F 6
accumulator(48 bits)
DATA FORMATS
• The data format is same as standard SIC version.
• In addition is a 48 bit floating-point data type and the format is
1 11 36
S exponent Fraction
• The fraction lies between 0 and 1.
• The exponent is an unsigned binary number lies between 0 and 2047.
• There is a 48-bit floating-point data type, F*2(e-1024)
Instruction Formats:
• The new set of instruction formats from SIC/XE machine architecture is as follows.
• Format 1 (1 byte): contains only operation code (straight from table).
8
OP
• Format 2 (2 bytes): first eight bits for operation code, next four for register 1 and
following four for register 2.
8 4 4
OP R1 R2
4