03 Lect3 SIC XE Programming
03 Lect3 SIC XE Programming
3–1 / 15
SIC and SIC/XE Architectures
Ref: Chapter 1 and Appendix A of [Beck].
Details regarding SIC:
Opcode x Address
3–2 / 15
Details Regarding SIC (continued)
(a) Examples of Load/Store Instructions: Here, m denotes a
memory address.
LDA m
STA m
STX m
ADD m
DIV m
COMP m
1 repeat
Test device.
until device is ready.
2 Read/write one byte.
3–5 / 15
Details Regarding SIC/XE (continued)
3–6 / 15
Instruction Formats for SIC/XE (continued)
1-Byte format:
8
Opcode
Example: FLOAT
2-Byte format:
8 4 4
Opcode R1 R2
Examples:
RMO S, T
MULR S, T
3–7 / 15
Instruction Formats for SIC/XE (continued)
3-Byte format:
6 12
Opcode n i x b p e Displacement
Notes:
3–8 / 15
Instruction Formats for SIC/XE (continued)
3-Byte Format (continued)
Bits i and n specify extended addressing modes.
i = 1 and n = 0: Immediate mode.
i = 0 and n = 1: Indirect mode.
i = n: Simple addressing.
Bit e is always 0 for 3-byte instructions.
4-Byte format:
6 20
Opcode n i x b p e Address
Notes:
Bits b and p are always 0. (Thus, 4-byte format does not allow
relative addressing.)
Bit e is always 1 (to distinguish between 3-byte and 4-byte
instructions).
3–9 / 15
Instruction Formats for SIC/XE (continued)
3–10 / 15
Review of some Architectures
Started with Intel 80386 and has continued up to Itanium (64 bit
CPU).
Supports all basic data types of C. Also supports quad precision for
floating point.
3–13 / 15
Sun SPARC Architecture
3–14 / 15
Sun SPARC Architecture (continued)
3–15 / 15