fixed some minor problems with copying conformant arrays,
and a LB that pointed below SP in transfer
This commit is contained in:
parent
9ae4e7924a
commit
2837aa68a7
|
@ -37,13 +37,13 @@ _copy_array(p, a)
|
|||
char dummy;
|
||||
|
||||
ppdescr--;
|
||||
sz = (((*ppdescr)->highminlow + 1) * (*ppdescr)->size +
|
||||
(EM_WSIZE -1)) & ~ (EM_WSIZE - 1);
|
||||
sz = ((*ppdescr)->highminlow + 1) * (*ppdescr)->size;
|
||||
|
||||
if ((char *) &a - (char *) &dummy > 0) {
|
||||
(*ppdescr)->addr = q = (char *) &a;
|
||||
}
|
||||
else (*ppdescr)->addr = q = (char *) &a - sz;
|
||||
else (*ppdescr)->addr = q = (char *) &a -
|
||||
((sz + (EM_WSIZE - 1)) & ~ (EM_WSIZE - 1));
|
||||
|
||||
while (sz--) *q++ = *p++;
|
||||
}
|
||||
|
|
|
@ -130,6 +130,11 @@ _target
|
|||
adp -EM_PSIZE
|
||||
loi EM_PSIZE
|
||||
str 1 ; temporary stackpointer
|
||||
|
||||
lae _MainLB
|
||||
loi EM_PSIZE
|
||||
str 0
|
||||
|
||||
lae _CurrentProcess
|
||||
loi EM_PSIZE
|
||||
lae _MainProcess
|
||||
|
@ -137,10 +142,6 @@ _target
|
|||
cmp
|
||||
zeq *2
|
||||
|
||||
lae _MainLB
|
||||
loi EM_PSIZE
|
||||
str 0
|
||||
|
||||
lae _StackBase
|
||||
loi EM_PSIZE
|
||||
lae _CurrentProcess
|
||||
|
|
Loading…
Reference in a new issue