Sic
Sic
Sic
by Leland L. Beck
chapter 1, pp.1-20.
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Outline of Chapter 1
System Software and Machine Architecture The Simplified Instructional Computer (SIC) Traditional (CISC) Machines
Complex
RISC Machines
Reduced
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Machine dependent
The
most important characteristic in which most system software differ from application software
e.g. assembler translate mnemonic instructions into machine code e.g. compilers must generate machine language code
Machine independent
There are 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
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
SIC is a hypothetical computer that includes the hardware features most often found on real machines Two versions of SIC
standard
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Memory
215
bytes in the computer memory 3 consecutive bytes form a word 8-bit bytes
Registers
Mnemonic Number Special use A Accumulator; used for arithmetic operations 0 X Index register; used for addressing 1 L Linkage register; JSUB 2 PC Program counter 8 SW Status word, including CC 9
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Data Formats
Integers
are stored as 24-bit binary numbers; 2s complement representation is used for negative values No floating-point hardware
Instruction Formats
opcode (8)
address (15)
Addressing Modes
Mode Direct Indexed Indication x=0 x=1 Target address calculation TA=address TA=address+(X)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
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
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Instruction Set
conditional
these
subroutine
JSUB jumps to the subroutine, placing the return address in register L RSUB returns by jumping to the address contained in register L
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
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)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Data movement Fig. 1.2 Arithmetic operation Fig. 1.3 Looping and indexing Fig. 1.4, Fig. 1.5 Input and output Fig. 1.6 Subroutine call Fig. 1.7
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
1-byte:
Storage definition
WORD, RESW BYTE, RESB
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
All arithmetic operations are performed using register A, with the result being left in register A.
BETA=ALPHA+INCR-ONE DELTA=GAMMA+INCR-ONE
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
BETA=ALPHA+INCR-ONE DELTA=GAMMA+INCR-ONE
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Arithmetic
Arithmetic operations are performed using register A, with the result being left in register A
Looping (TIX)
(X)=(X)+1 compare set
with operand
CC
Memory
220
More Registers
Mnemonic Number Special use B Base register; used for addressing 3 S General working register 4 T General working register 5 F Floating-point acumulator (48bits) 6
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Data Formats
Floating-point
frac:
fraction (36)
Instruction Formats
Format 1 op(8) Format 2 op(8) r1(4) r2(4)
Format 3 op(6)
Format 4 op(6)
e=0 n I xbp e
e=1 n I x bp e
disp(12)
address (20)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
simple addressing
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
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
Input/Output
SIO,
TIO, HIO: start, test, halt the operation of I/O device (Chap 6)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
#5 ALPHA #90 C1
(b)
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
data movement
#:
arithmetic
ADDR
Looping (TIXR T)
(X)=(X)+1 compare set
CC
COMPR X,T
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Homework #1
Write a sequence of instructions for SIC/XE to set ALPHA equal to 4*BETA-9. Assume that ALPHA and BETA are defined as in Fig. 1.3 (b) Write a sequence of instructions for SIC to set ALPHA equal to the integer portion of BETAGAMMA. Assume that ALPHA and BETA are defined as in Fig. 1.3(a)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Homework #2
Please write a program for SIC/XE that contains routines. The routines read records from an input device (identified with device code F1) and copies them to an output device (code 05). This main routine calls subroutine RDREC to read a record into a buffer and subroutine ERREC to write the record from the buffer to the output device. Each subroutine must transfer the record one character at a time because the only I/O instructions available are RD and WD.
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Homework #2
Program copy { save return address; cloop: call subroutine RDREC to read one record; if length(record)=0 { call subroutine WRREC to write EOF; } else { call subroutine WRREC to write one record; goto cloop; } load return address return to caller }
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Homework #2 (Cont.)
EOR: Subroutine RDREC { character x00 clear A, X register to 0; rloop: read character from input device to A register if not EOR { store character into buffer[X]; X++; if X < maximum length goto rloop; } store X to length(record); return }
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Homework #2 (Cont.)
Subroutine WDREC { clear X register to 0; wloop: get character from buffer[X] write character from X to output device X++; if X < length(record) goto wloop; return }
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)
Chap 1
Create PDF files without this message by purchasing novaPDF printer (http://www.novapdf.com)