第一个指令字分为三个主要部分。

  最高6位是操作码。从这个意义上讲,教学机的基本指令是固定长度的操作码结构,最多支持64条基本指令。

  中间的两位,即第9、8两位是条件码。目前我们把它用作条件转移指令的判断条件。这两位的值为00、01、10和11时,分别选择处理机状态字中的C、Z、V和S作为判断条件。从这个意义上讲,我们也可以认为这两位是指令的扩展操作码。由于除了条件转移指令之外,其余指令均不使用这两位,故我们可以用这两位扩展新的指令,而不会影响原来已有的指令功能。

  最低的8位有多种用法。

  用法之一,这8位用于给出入/出指令的入/出端口地址。例如,已规定第一个串行口地址为80h和81h,第二个串行口地址为82h和83h。并行口、DMA口等都可以被分配几个合理的地址,以实现入/出接口的各项实验。

  用法之二,这8位用于给出相对寻址的位移量,其范围从-128到+127之间,因此相对地址应在当前指令地址向前向后总共256个字的范围之内。实现相对地址计算时,这个位移量的最高位用作符号位,补码形式,与16位的当前指令地址(放在IP寄存器中,即增量前的PC值)相加时,这一符号位要扩展到15-8这高8位上去。参见硬件逻辑图上的具体实现方案。

  用法之三,这8位被分成两个4位的字段,用于给出所用的通用寄存器编号。对双操作数指令,这里可以给出目的与源两个操作数所在寄存器的编号。对单操作数指令,可能只用源或目的中的一个操作数,此时,只用到某一个4位字段,另外一个4位字段则不用。需要强调一点,寄存器用于给出操作数、操作数地址,或用作变址寄存器。

  掌握了教学机的基本指令格式,对学习教学机指令系统和该机的汇编语言程序设计会很有帮助。