Fejlesztés Development | CPU | Számítógép Computer | Assembler | Monitor | Függvények Library
A | B | C | D | E | F | G | H | I | J | K | |
---|---|---|---|---|---|---|---|---|---|---|---|
1
|
31-28 | 27-24 | 23-20 | 19-16 | 15-12 | 11-8 | 7-4 | 3-0 | |||
2
|
|||||||||||
3
|
ALU | cond | 000 0 | Rd | op | ---- | Rb | ---- | ---- | ALU Rd,Rb | 2op, reg |
4
|
cond | 000 1 | Rd | op | #16 | #16 | #16 | #16 | ALU Rd,#16 | 2op, # | |
5
|
cond | 001 - | Rd | op | ---- | ---- | ---- | ---- | ALU Rd | 1op | |
6
|
|||||||||||
7
|
CALL | cond | 010 0 | u24 | u24 | u24 | u24 | u24 | u24 | CALL abs(u24) | |
8
|
cond | 010 1 | Rd | s20 | s20 | s20 | s20 | s20 | CALL Rd,s20 | ||
9
|
CES | 1111 | 010 0 | u24 | u24 | u24 | u24 | u24 | u24 | CES abs(u24) | |
10
|
1111 | 010 1 | Rd | s20 | s20 | s20 | s20 | s20 | CES Rd,s20 | ||
11
|
|||||||||||
12
|
LD/ST | cond | 100 W | Rd | Ra | UP-- | ---- | ---- | ST Rd,+-Ra+-,Rb | ||
13
|
cond | 101 W | Rd | Ra | UP-- | Rb | ---- | ---- | LD Rd,+-Ra+-,Rb | ||
14
|
cond | 110 W | Rd | Ra | s16 | s16 | s16 | s16 | ST Rd,*Ra,s16 | ||
15
|
cond | 111 W | Rd | Ra | s16 | s16 | s16 | s16 | LD Rd,*Ra,s16 | !U,!P | |
16
|
|||||||||||
17
|
EXT | cond | 011 L | Rd | 0000 | u16 | u16 | u16 | u16 | LD/ST Rd,direct | |
18
|
cond | 011 P | Rd | 0001 | 0ES- | Rb | ---- | Ri | PUTB/GETB{SZ} Rd,Rb,Ri | ||
19
|
cond | 011 P | Rd | 0001 | 1ES- | Rb | ---- | --u2 | PUTB/GETB{SZ} Rd,Rb,u2 | ||
20
|
cond | 011 W | Rd | 0010 | ---- | Rb | ---- | ---- | RDS/WRS Rd,Rb | ||
21
|
|||||||||||
22
|
|||||||||||
23
|
W=1 write-back Ra with +/-1 value |
U=1 Up:
Ra= Ra+1 |
P=1 Pre: change Ra
before use |
||||||||
24
|
|||||||||||
25
|
op | ALU R | ALU # | ALU 1op | Flags | ||||||
26
|
0 always | 0 | W-[----] | MOV | MVL #u16 W- | ZEB | W-[----] | UP OZCS | |||
27
|
op1==op2 | 1 EQ | 1 | --[----] | MVH #u16 W- | ZEW | W-[----] | 01 S Sign | |||
28
|
op1!=op2 | 2 NE | 2 | --[----] | MVZL #u16 W- | SEB | W-[----] | 02 C Carry/Borrow | |||
29
|
u1>=u2 | 3 CS, HS | 3 | W-[----] | SED | MVS #s16 W- | SEW | W-[----] | 04 Z Zero | ||
30
|
u1<u2 | 4 CC, LO | 4 | WF[OZCS] | ADD | ADD #s16 | NOT | WF[-Z-S] | 08 O Overflow | ||
31
|
S==1 | 5 MI | 5 | WF[OZCS] | ADC | ADC #s16 | NEG | WF[OZCS] | 10 P Pre/Post for LD/ST #offset | ||
32
|
S==0 | 6 PL | 6 | WF[OZCS] | SUB | SUB #s16 | ROR | WF[-ZCS] | 20 U Up/Down for LD/ST #offset | ||
33
|
O==1 | 7 VS | 7 | WF[OZCS] | SBB | SBB #s16 | ROL | WF[-ZCS] | |||
34
|
O==0 | 8 VC | 8 | -F[OZCS] | CMP | CMP #s16 | SHL | WF[-ZCS] | |||
35
|
u1>u2 | 9 HI | 9 | WF[-Z-S] | MUL | MUL #s16 | SHR | WF[-ZCS] | |||
36
|
u1<=u2 | 10 LS | 10 | W-[----] | PLUS | PLUS #s16 | SHA | WF[-ZCS] | |||
37
|
s1>=s2 | 11 GE | 11 | WF[-Z-S] | BTST | BTST #u16 | SZ | -F[-Z-S] | |||
38
|
s1<s2 | 12 LT | 12 | -F[-Z-S] | TEST | TEST #u16 | SEC | -F[--C-] | |||
39
|
s1>s2 | 13 GT | 13 | WF[-Z-S] | OR | OR #u16 | CLC | -F[--C-] | |||
40
|
s1<=s2 | 14 LE | 14 | WF[-Z-S] | XOR | XOR #u16 | GETF | W-[----] | |||
41
|
15 uncond | 15 | WF[-Z-S] | AND | AND #o16 | SETF | -F[OZCS] |