A组指令完成的是通用寄存器之间的数据运算或传送,或其他几项特殊的操作,也包括已按特殊办法处理的串行口的读写操作,在取指之后可一步完成。
B组指令完成的是一次内存读、写操作,在取指之后可三步完成,前两步用于向地址寄存器送入内存的低、高位各8位地址,第三次完成内存读、写操作。
C组指令完成的是与指令转移有关的操作。其中属于相对转移指令的有5条,转移地址通过本条转移指令的地址加上在指令的第二个字节给出的偏移值得到。对4条条件转移指令,条件成立时则转移,要4步完成,前两步送读偏移值的内存地址,后两步读出偏移值,计算地址并将其传送到16位的PC中;否则顺序执行,仅用两步也可完成(实现中仍用4步)。另外两条指令RET和CALL处理较复杂,为恢复或保存断点需2次读写内存,共用6步,还要再用2步为CALL指令给出子程序的入口地址。
D组指令完成的是分2次分别在两个专用寄存器之间传送数据,在取指之后可两步完成。FPC,TPC,FSP和TSP变通借用了INC指令中肯定不准执行的指令码来实现。
|
|