Model 3 (Intelligent Calls) implemented (Remco Feenstra & Peter Boersma);

a few bugs fixed
This commit is contained in:
ceriel
1990-06-21 12:16:31 +00:00
parent e2d42c702e
commit 57aa4a816b
17 changed files with 411 additions and 3147 deletions

View File

@@ -18,86 +18,30 @@
PRIVATE arr();
DoLARl2(arg)
DoLAR(arg)
size arg;
{
/* LAR w: Load array element, descriptor contains integers of size w */
register size l = (L_arg_2() * arg);
LOG(("@A6 DoLARl2(%ld)", l));
arr(LAR, arg_wi(l));
}
DoLARm(arg)
size arg;
{
/* LAR w: Load array element, descriptor contains integers of size w */
LOG(("@A6 DoLARm(%ld)", arg));
LOG(("@A6 DoLAR(%ld)", arg));
arr(LAR, arg_wi(arg));
}
DoLARz()
{
/* LAR w: Load array element, descriptor contains integers of size w */
register size l = uwpop();
LOG(("@A6 DoLARz(%ld)", l));
arr(LAR, arg_wi(l));
}
DoSARl2(arg)
DoSAR(arg)
size arg;
{
/* SAR w: Store array element */
register size l = (L_arg_2() * arg);
LOG(("@A6 DoSARl2(%ld)", l));
arr(SAR, arg_wi(l));
}
DoSARm(arg)
size arg;
{
/* SAR w: Store array element */
LOG(("@A6 DoSARm(%ld)", arg));
LOG(("@A6 DoSAR(%ld)", arg));
arr(SAR, arg_wi(arg));
}
DoSARz()
{
/* SAR w: Store array element */
register size l = uwpop();
LOG(("@A6 DoSARz(%ld)", l));
arr(SAR, arg_wi(l));
}
DoAARl2(arg)
DoAAR(arg)
size arg;
{
/* AAR w: Load address of array element */
register size l = (L_arg_2() * arg);
LOG(("@A6 DoAARl2(%ld)", l));
arr(AAR, arg_wi(l));
}
DoAARm(arg)
size arg;
{
/* AAR w: Load address of array element */
LOG(("@A6 DoAARm(%ld)", arg));
LOG(("@A6 DoAAR(%ld)", arg));
arr(AAR, arg_wi(arg));
}
DoAARz()
{
/* AAR w: Load address of array element */
register size l = uwpop();
LOG(("@A6 DoAARz(%ld)", l));
arr(AAR, arg_wi(l));
}
/********************************************************
* Array arithmetic *