(6) 子程序调用指令,两种格式,共两条
格式1:
指令:
CALL |
SR |
调用SR指定的子程序, SP←SP-1,[SP]←PC,PC←SR |
格式2:
指令:
CALL |
ADR |
调用通过ADR指定的子程序,SP←SP-1,[SP]←PC,PC←ADR
|
可以看出,子程序调用指令的两种格式与无条件转移指令的后两种格式是一样的。
上述指令说明中用到的符号包括:
SR 源操作数寄存器 |
PC 程序计数器 |
DR 目的操作数寄存器 |
IP PC增量前的值, 当前指令地址 |
OP 指令操作码 |
SP 堆栈指针 |
CND 条件转移指令所用的判断条件。 |
|
对于无条件转移指令,CND位无用。这里要特别说明的一点,是条件码CND为两位,编码00,01,10,11表明分别要判C,Z,V,S四个标志位,而条件转移指令操作码的最低1位,用来表明是按这某一标志位的值为
"0" 还是为 "1" 才实现转移,即同一条汇编指令名含两个操作码,如JP C, SR和JP
NC, SR汇编指令名均为JP,但依据条件分别是C和NC。其指令操作码分别是100011和100010。
|
|