Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Machine Architecture
Book: L. Beck and Manjula
System Software
n
People
Application Program
Debugging Aids
Macro Processor
Compiler
Assembler
Text Editor
Loader and Linker
OS
Memory
Processor
Device
Information
Management
and Process
Management
Management
Management
Memory
q
q
q
Registers
q
Number
Special use
Accumulator
Index register
Linkage register
PC
Program counter
SW
Status word
Data formats
q
q
q
Instruction formats
q
15
opcode
address
Addressing modes
q
Mode
Indication
Direct
x=0
TA=address
Indexed
x=1
TA=address+(X)
COMP
q
Subroutine linkage
q
q
q
Data movement
ALPHA
FIVE
CHARZ
C1
LDA
STA
LDCH
STCH
.
.
.
RESW
WORD
BYTE
RESB
FIVE
ALPHA
CHARZ
C1
load 5 into A
store in ALPHA
load Z into A
store in C1
1
5
CZ
1
ONE
ALPHA
BETA
GAMMA
DELTA
INCR
LDA
ADD
SUB
STA
LDA
ADD
SUB
STA
...
WORD
RESW
RESW
RESW
RESW
RESW
ALPHA
INCR
ONE
BETA
GAMMA
INCR
ONE
DELTA
1
1
1
1
1
1
one-word constant
one-word variables
MOVECH
STR1
STR2
ZERO
ELEVEN
LDX
LDCH
STCH
TIX
JLT
.
.
.
BYTE
RESB
WORD
WORD
ZERO
STR1,X
STR2,X
ELEVEN
MOVECH
CTEST STRING
11
0
11
INDEX
ALPHA
BETA
GAMMA
ZERO
THREE
K300
LDA
STA
LDX
LDA
ADD
STA
LDA
ADD
STA
COMP
JLT
...
...
RESW
RESW
RESW
RESW
WORD
WORD
WORD
ZERO
INDEX
INDEX
ALPHA,X
BETA,X
GAMMA,X
INDEX
THREE
INDEX
K300
ADDLP
1
100
100
100
0
3
300
INLOOP
OUTLP
INDEV
OUTDEV
DATA
TD
JEQ
RD
STCH
.
.
TD
JEQ
LDCH
WD
.
.
BYTE
BYTE
RESB
INDEV
INLOOP
INDEV
DATA
OUTDEV
OUTLP
DATA
OUTDEV
XF1
X05
1
Memory
q
Registers
q
Mnemonic
Number
Special use
Base register
11
36
exponent
fraction
f*2(e-1024)
Integer
5 = 000000000000000000000101
-5 = 111111111111111111111011
Character
A 01000001
Float
4.89 = .1001110001111010111000010100011110
10111000010100 * 23 (1027)
=0 10000000011 100111000111101011
100001010001111010
Float
-.000489 = 100000000011000000
111100000001111110 * 2-10
=1 01111110110 100000000011000000
111100000001111110
(1014)
Instruction formats
8
Format 1 (1 byte)
op
Format 2 (2 bytes)
Format 3 (3 bytes)
Format 4 (4 bytes)
op
r1
r2
1 1 1 1 1 1
12
op
n i x b p e
disp
1 1 1 1 1 1
20
op
n i x b p e
address
1 0
disp
(0disp 4095)
0 1
disp
(-2048disp 2047)
0 0
disp
(0disp 4095)
n i x b p e
opcode
1 0 0
disp
0 1 0
disp
1 0 0
disp
0 0
disp
n i x b p e
opcode
1 1
disp
Assembler decides
which format to use
(PC) + disp
(B) + disp + (X)
((PC) + disp)
disp
b/p/e + disp
addr
Instruction set:
q
q
q
q
ALPHA
FIVE
CHARZ
C1
LDA
STA
LDCH
STCH
.
.
.
RESW
WORD
BYTE
RESB
SIC/XE version
FIVE
ALPHA
CHARZ
C1
1
5
CZ
1
ALPHA
C1
LDA
STA
LDCH
STCH
.
.
.
RESW
RESB
#5
ALPHA
#90
C1
1
1
ALPHA
BETA
GAMMA
DELTA
INCR
LDS
LDA
ADDR
SUB
STA
LDA
ADDR
SUB
STA
...
...
RESW
RESW
RESW
RESW
RESW
INCR
ALPHA
S,A
#1
BETA
GAMMA
S,A
#1
DELTA
1
1
1
1
1
BETA=ALPHA+INCR-1
DELTA=GAMMA+INCR-1
one-word variables
MOVECH
STR1
STR2
LDT
LDX
LDCH
STCH
TIXR
JLT
.
.
.
BYTE
RESB
#11
#0
STR1,X
STR2,X
T
MOVECH
initialize register T to 11
initialize index register to 0
load char from STR1 to reg A
store char into STR2
add 1 to index, compare to 11
loop if less than 11
CTEST STRING
11
ADDLP
ALPHA
BETA
GAMMA
LDS
LDT
LDX
LDA
ADD
STA
ADDR
COMPR
JLT
...
...
RESW
RESW
RESW
#3
#300
#0
ALPHA,X
BETA,X
GAMMA,X
S,X
X,T
ADDLP
100
100
100