Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
2K views3 pages

Sic and Sicex Compare

The document compares the specifications of the SIC and SIC/XE machines. SIC/XE has more advanced features than SIC, including additional registers, more instruction formats, and additional addressing modes. The assembler for SIC/XE is more complex than SIC as it must account for the different instruction formats and addressing modes in SIC/XE.

Uploaded by

vishal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views3 pages

Sic and Sicex Compare

The document compares the specifications of the SIC and SIC/XE machines. SIC/XE has more advanced features than SIC, including additional registers, more instruction formats, and additional addressing modes. The assembler for SIC/XE is more complex than SIC as it must account for the different instruction formats and addressing modes in SIC/XE.

Uploaded by

vishal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Comparison Chart of SIC and SIC/XE machine 

Specification  SIC  SIC/XE 


Memory   Word size: 3 bytes (24 bits)   Word size: 3 bytes (24 bits) 
 Total size: 32,768 bytes (215). Thus any memory address   Total size: 32,768 bytes (215). Thus any memory address 
will need at most 15 bits to be referenced ('almost' four  will need at most 15 bits to be referenced ('almost' four 
hex characters).  hex characters). 
Register   Total Registers:  5   Total Registers: 9 , same 5 from SIC plus 4 additional ones. 
 Accumulator (A): Used for most of the operations (number   Base (B): Used for base‐relative addressing (number 3) 
0)   General (S and T): General use (numbers 4 and 5 resp.) 
 Index (X): Used for indexed addressing (number 1)   Floating Point Accumulator (F): Used for floating point 
 Linkage (L): Stores return addresses for JSUB (number 2)  arithmetic, 48 bits long (number 6) 
 Program Counter (PC): Address for next instruction 
(number 8) 
 Status Word (SW): Information and condition codes 
(number 9). 
Instruction Formats   Only one instruction format of 24 bits (3 bytes / 1 word)   Four instruction formats  
 Opcode: first 8 bits, direct translation from the Operation   Format 1 (1 byte): contains only operation code (straight 
Code Table  from table) 
 Flag (x): next bit indicates address mode (0 direct ‐ 1   Format 2 (2 bytes): first eight bits for operation code, next 
indexed)  four for register 1 and following four for register 2. 
 Address: next 15 bits, indicate address of operand   The numbers for the registers go according to the numbers 
according to address mode.  indicated at the registers section (ie, register T is replaced 
by hex 5). 
 If the operation uses only one register the last hex digit 
becomes \0" (ie,TIXR T becomes B850) 
 Format 3 (3 bytes): First 6 bits contain operation code, next 
6 bits contain flags, last 12 bits contain displacement for 
the address of the operand. 
 Operation code uses only 6 bits, thus the second hex digit 
will be a affected by the values of the first two flags (n and 
i) 
 The flags, in order, are: n, i, x, b, p, and e. Its functionality is 
explained in the next section. 
 The last flag e indicates the instruction format (0 for 3 and 
1 for 4) 
 Format 4 (4 bytes): same as format 3 with an extra 2 hex 
digits (8 bits) for addresses that require more than 12 bits 
to be represented 
Specification  SIC  SIC/XE 
Addressing Modes   Only two possible addressing modes   five possible addressing modes plus combinations (see 
 Direct (x = 0): operand address goes as it is Indexed (x = 1):  page 11 for examples) 
value to be added to the value stored at the register x to   Direct (x, b, and p all set to 0): operand address goes as it 
obtain real address of the operand.  is. n and i are both set to the same value, either 0 or 1. 
While in general that value is 1, if set to 0 for format 3 we 
can assume that the rest of the flags (x, b, p, and e) are 
used as a part of the address of the operand, to make the 
format compatible to the SIC format 
 Relative (either b or p equal to 1 and the other one to 0): 
the address of the operand should be added to the current 
value stored at the B register (if b = 1) or to the value 
stored at the PC register (if p = 1) 
 Immediate (i = 1, n = 0): The operand value is already 
enclosed on the instruction (ie. lies on the last 12/20 bits of 
the instruction) 
 Indirect (i = 0, n = 1): The operand value points to an 
address that holds the address for the operand value 
 Indexed (x = 1): value to be added to the value stored at 
the register x to obtain real address of the operand. This 
can be combined with any of the previous modes except 
immediate. 
Assembler   Operation code gets translated directly from table (no   Operation code gets translated directly from table. While 
Considerations  need to check other bits)  the first hex digit remains the same, the second one can 
 x bit dependent on the addressing mode of the operand. If  change according to the values of the n and i flags. Thus, 
indexed the code will have to indicate it with \,X" after the  we can add 1, 2 or 3 to the operation code. 
operand name (ie. BUFFER,X)   Direct addressing is mainly used in extended format 
 The last 3 hex digits of the address will remain the same,  (format 4) and is indicated with a \+" before the operand 
the first hex digit (leftmost) will change if the address is  (an indication that the format is 4, which will also make the 
indexed (first bit becomes one, thus the hex digit increases  e flag to be 1). 
by 8). Ie, if the address of the operand is 124A and the   Relative: for Base relative, the instruction BASE will 
addressing is indexed, the object code will indicate 924A.  precede the current instruction. 
 Any other format, except immediate, will be considered 
Program Counter relative. If the displacement with respect 
to the PC does not t into the 12 bits, the assembler should 
try to compute the displacement with respect to the Base 
register. If neither case works, the instruction should be 
extended to format 4, where the addressing mode 
becomes direct. 
Specification  SIC  SIC/XE 
 Immediate addressing will be indicated by the use of \#" 
before the operand name/value (ie. #1) 
 Indirect addressing will be indicated by adding the prex 
\@" to the operand name (ie. @RETADR) 
 Indexed addressing will be indicated the same way as it 
was for the SIC machine, \,X" after the operand name (ie. 
BUFFER,X) 
 Hex digits for the address are not affected by the content 
of the flags, since the first two flags affect the second digit 
of the operation code, and the following four make up its 
own hex digit. 
 

You might also like