fun ready(var reserve : uchar array[2])
{
val ii = 0;
while(ii < 2) {
val funit = reserve[ii];
if(ii < pipe.resources?length)
if((funit & pipe.resources[+ii]) != 0?cvt(uchar))
return false;
if(funit & (0x04 | 0x08 | 0x10 ) != 0?cvt(uchar)) {
val jj = 0;
while(jj < pipe.instructions?length) {
var old = pipe.instructions[+jj];
val kk = 0;
while(kk < srcQ?length) {
if(srcQ[+kk] == old.dest)
if(old.ready > 0?cvt(uchar)) return false;
kk = kk + 1;
}
jj = jj + 1;
}
} else if(funit == 0x40 ) {
val jj = 0;
while(jj < pipe.instructions?length) {
var old = pipe.instructions[+jj];
val kk = 0;
while(kk < storeQ?length) {
if(storeQ[+kk] == old.dest)
if(old.ready > 0?cvt(uchar)) return false;
kk = kk + 1;
}
jj = jj + 1;
}
}
ii = ii + 1;
}
return true;
}