在c中考虑此功能: long arithEx(long,long,long,long,long,long,long,long,long);
call symput('M_StartDate', put(intnx('month', &today ,-2-M_month,'beginning'), date9.));
在X-86中,汇编代码如下:
M_StartDate = put(intnx('month', &today ,-2-M_month,'beginning'), date9.);
这对我来说很有意义,因为X-86和Y-86只有6个寄存器来接收函数参数。对于X-86,由于它支持立即到内存寻址模式,因此我们可以将其余参数存储到内存中。
但是,对于Y-86,我们没有一条指令可以将立即数移动到内存中,那么其余参数应该放在哪里?