教学计算机目前提供了64条基本机器指令,其中的53条的指令格式、功能已完全确定,并已用微程序与组合逻辑两种控制方案实现,可供用户编程使用; 尚保留11条交由实验者定义与实现。从计算机组成原理课的教学与实验的角度考虑,不会要求学生编写较长的程序,一般十几行到几十行对一些实验基本够用,此时,是可以用机器语言直编编程的。当教学计算机系统中没有接入计算机终端(或PC机)等输入输出设备,也没有购买由键盘和液晶显示构成的简易输入输出选件设备的情况下,实验者只能用开关向教学计算机内拨入由机器指令组成的程序。这种方式下的操作与实验效率是很低的,我们提供但并不推荐这种运行方式。具体操作步骤,第三章有详细说明。

  要用机器语言写程序,必须非常清楚所用机器指令的格式,具体操作码的编码,操作数形式地址的编码表示,和每条指令的功能。下面我们以表格形式给出这些内容,如表3.2 所示。

  操作码部分的符号X表示不用。

  程序状态位的符号·* 0 1 分别表示对相应状态位保持不变、修改、清0和置1。

  待定部分,是留给实验人员自己确定并予以实现的指令。

表3.5 指令汇总表

操作码
IR15~IR8
形式地址
IR7~IR4 IR3~IR0
微程序
入口地址
程序状态位CZVS
指令功能
用汇编语句表示
00
000000xx
不用
8CH
····
NOP
04
000001xx
DR SR
1CH
* * * *
ADD DR,SR
08
000010xx
DR SR
1EH
* * * *
ADC DR,SR
0C
000011xx
DR SR
20H
* * * *
SUB DR,SR
10
000100xx
DR SR
22H
* * * *
SBB DR,SR
14
000101xx
DR SR
52H
* * * *
CMP DR,SR
18
000110xx
DR 不用
54H
····
PUSH DR
1C
000111xx
DR 不用
56H
····
POP DR
20
001000xx
DR SR
24H
····
MOV DR,SR
24
001001xx
DR SR
26H
····
MOV DR,[SR]
28
001010xx
DR SR
28H
····
MOV [DR],SR
2C
001011xx
DR 不用
2CH
····
MOV DR,DATA
30
001100xx
DR 不用
2EH
····
MOV DR,[ADR]
34
001101xx
不用 SR
30H
····
MOV [ADR],SR
38
001110xx
DR SR
32H
····
MOV DR,OFFSET[SR]
3C
001111xx
DR SR
34H
····
MOV OFFSET[SR],DR
40
010000xx
不用 SR
38H
0 * 0 *
MUL SR
44
010001xx
不用
58H
····
PSHF
48
010010xx
不用 SR
40H
0 * 0 *
DIV SR
4C
010011xx
不用
5AH
* * * *
POPF
50
010100xx
DR SR
4AH
0 * 0 *
AND DR,SR
54
010101xx
DR SR
4CH
0 * 0 *
XOR DR,SR
58
010110xx
DR SR
4EH
0 * 0 *
OR DR,SR
5C
010111xx
DR SR
50H
0 * 0 *
TEST DR,SR
60
011000xx
DR 不用
5CH
*···
SHL DR
64
011001xx
DR 不用
5EH
*···
ASR DR
68
011010xx
DR 不用
60H
*···
SHR DR
6C
011011xx
DR 不用
62H
*···
RCL DR
70

011100xx

DR 不用
64H
*···
RCR DR
74
011101xx
DR 不用
66H
* * * *
INC DR
78
011110xx
DR 不用
68H
* * * *
DEC DR
7C
011111xx
DR 不用
6AH
0 * 0 *
NOT DR
80
100000xx
不用
6CH
····
EI
84
100001XX
不用
6EH
····
DI
88
10001CND
不用 SR
70H
····
JP CND, SR
8C
10001CND
不用 SR
72H
····
JP CND, SR
90
100100XX
不用 SR
74H
····
JP SR
94
100101XX
不用 SR
76H
····
CALL SR
98
10011CND
OFFSET
78H
····
JR CND, ADR
9C
10011CND
OFFSET
78H
····
JR CND, ADR
A0
101000XX
OFFSET
74H
····
JR ADR
A4
101001XX
I/O PORT
7CH
····
IN PORT
A8
101010XX
I/O PORT
80H
····
OUT PORT
AC
101011XX
不用
84H
····
RET
B0
101100XX
不用
86H
* * * *
IRET
B4
101101XX
不用
88H
0 ···
CLC
B8
101110XX
不用
8AH
1 ···
STC
BC
101111XX
不用
8EH
····
HALT
C0
11000CND
不用
90H
····
JP CND, ADR
C4
11000CND
不用
90H
····
JP CND, ADR
C8
110010XX
不用
92H
····
JP ADR
CC
110011XX
不用
94H
····
CALL ADR
D0
110100XX
不用
98H
0 0 0 0
LDMC
D4
110101
待定
100H
待定
未 定 义
D8
110110
110H
DC
110111
120H
E0
111000
130H
E4
111001
140H
E8
111010
150H
EC
111011
160H
F0
111100
170H
F4
111101
180H
F8
111110
190H
FC
111111
1A0H