子程序调用指令call的操作数为p0~p62,子程序返回指sret无操作数。
图(a)中的x10为on时,call指令使程序跳转到指针call指令使程序跳转到指针p8处,子程序被执行,执行完sret指令后返回到104步。
子程序应放在fend(主程序结束)指令之后,同一指针只能出现一次,cj指令中用过的指针不能再用,不同位置的call指令可以调用同一指针的子程序。
图(a)子程序调用 (b)子程序的嵌套调用
在子程序调用子程序称为嵌套5级。图(b)中的call p11指令仅在x0由off变为on时执行一次。在执行子程序1时,如果x1为on,call p12指令被执行,程序跳到p12处,嵌套执行子程序2。执行第二条sret指令后,返回子程序1中call p12指令的下一条指令,执行第一条sret指令后返回主程序中callp11指令的下一条指令。