MAPROM地址
(指令操作码)
MAPROM内容
(微指令地址)
 
ADD
0000 ××××
06
 
SUB
0001 ××××
07
扩 0101 ×××× 40
AND
0010 ××××
08
  0110 ×××× 44
CHP
0011 ××××
09
  0111 ×××× 48
MOV
0100 ××××
 
 
 
SHR
1010 00××
OB
扩 1000 00×× 50
SHL
1010 00××
OD
  1000 01×× 54
IN
1010 10××
OE
  1000 10×× 58
OUT
1010 11××
OF
  1000 11×× 5C
1011 1×××
14
;LOD,STO
1011 00××
1D
;PUSH,PSHF
  1011 01××
21
;POP,POPF
INC
1100 10××
12
 
1100 00××
12
 
DEC
1100 11××(?)
OA
 
TPC
1100 0100
32
 
FPC
1100 0101
34
 
TSP
1100 0110
36
 
FSP
1100 0111
38
扩 1110 0000 60 70
MVD
1101 ××××
17
  1110 0001 64 74
JK
1110 1100
17
       68 78
JNZ
1110 1001
17
  1110 0111 6C 7C
JZ
1100 1000
17
 
JNC
1100 1011
17
 
JC
1100 1010
17
扩 1111 0000 90
CLC
1111 1000
10
  1111 0001 94
SJC
1111 1001
11
  1111 0010 98
PUSHF
1111 1010
2D
  1111 0011 9C
POPF
1111 1011
21
  1111 0100 A0
CALL
1111 1100
24
  1111 0101 A4
RET
1111 1101
2C
  1111 0110 A8
JMP
1111 1111 (?)
2A
  1111 0111 AC

  有2个问题需要说明。第一个问题,由于TEC-3机为8位字长,采用操作码扩展技术,所以在确定MAPROM的地址时都必须定位在8位字长,当操作码为4位时,如ADD指令操作码为0000,就必须把00000000~00001111这16个单元的MAPROM的内容都确定为06(16进制表示)。SHR指令的操作码为101000,就必须把10100000~10100011这4个单元的MAPROM的内容都确定为06。类似的处理也应用于其他指令。

  另一个问题,是如何对待扩展指令。我们简单地为每一条可扩展指令分配4个控存单元,全部安排在原有微指令在控存中所占位置的后面。对某些扩展指令,4个控存单元不够用怎么办?这不会成为任何问题,因为只需将其多于4条的微指令分配到控存中其他未用空间并适当连接起来就可以了。