sreprt: procedure; /* procedur to report on maximum system sizes */ %replace true by '1'b, false by '0'b; declare 1 himem based(hiptr), 2 safptr pointer, 2 hrdptr pointer, 2 extptr pointer, 2 intptr pointer, 2 hstptr pointer, 2 dpbptr pointer, 2 dphptr pointer, 2 signat(3) char(1), 2 romver bit(8), 2 jump bit(8), 2 roment pointer, 2 chksum bin fixed(7); declare hiptr pointer, last_avail bin fixed(15), sys_size fixed decimal(5,2), dsys_size fixed decimal(5,2), top_page bit(8), extra_page bit(1), size_str char(8), msg char(78); %include 'DIOCON.DCL'; /* set up high memory pointer */ unspec(hiptr)='FFEA'b4; /* do special case for no datestamper */ if substr(unspec(hstptr),9,8) < '42'b4 then extra_page=true; else extra_page=false; /* get top page value */ top_page=substr(unspec(hstptr),1,8); /* convert to unsigned page boundary */ unspec(last_avail)='00'b4!!top_page; /* compute system sizes */ if extra_page then sys_size=divide(decimal(last_avail+3,5,2),4,5,2); else sys_size=divide(decimal(last_avail+4,5,2),4,5,2); dsys_size=divide(decimal(last_avail+1,5,2),4,5,2); /* now display message */ msg='^M^J^JMaximum sytem size with standard BIOS is :-$'; call wrstr(addr(msg)); size_str=character(sys_size,8); msg='^M^J Without K-6 DateStamper '!! substr(size_str,4,5)!!'K$'; call wrstr(addr(msg)); size_str=character(dsys_size,8); msg='^M^J With K-6 DateStamper '!! substr(size_str,4,5)!!'K$'; call wrstr(addr(msg)); end sreprt;