*DECK NS$TKD USETEXT COM$NS USETEXT KDS$NS USETEXT LIN$NS PROC NS$TKD(KDBLK,BLKSIZE,BLKLC); # MOVE DATA TO K-DISPLAY TSB # # TITLE NS$TKD - MOVE DATE TO K-DISPLAY TSB. # BEGIN # NS$TKD # # ** NS$TKD - MOVE DATA TO K-DISPLAY TSB. * * J.C. LEE 1981 * * THIS ROUTINE MOVES DATA TO K-DISPLAY TSB. * * PROC NS$TKD(KDBLK,BLKSIZE,BLKLC) * * ENTRY: * KDBLK - FWA OF K-DISPLAY DATA BLOCK. * BLKSIZE - K-DISPLAY DATA BLOCK SIZE IN CM WORDS. * BLKLC - K-DISPLAY DATA BLOCK LINE COUNT. * * EXIT: * NONE. * * METHOD: * INCREASE K-DISPLAY TSB SIZE BY BLKSIZE. * MOVE DATA BLOCK TO K-DISPLAY TSB. * INCREMENT K-DISPLAY LINE COUNT BY BLKLC. * INCREMENT K-DISPLAY WORD COUNT BY BLKSIZE. * # ARRAY KDBLK; # K-DISPLAY DATA BLOCK # BEGIN ITEM KDWORD U(0,0,60); END ITEM BLKSIZE U; # K-DISPLAY DATA BLOCK SIZE IN CM WORDS # ITEM BLKLC U; # K-DISPLAY DATA BLOCK LINE COUNT # $BEGIN XREF BEGIN PROC NS$DBG; # TRACE PROCEDURE CALL # END $END XREF BEGIN PROC EXINCSZ; # INCREASE TSB SIZE # PROC MOVEI; # MOVE DATA BLOCK # PROC MOVEOK; # ALLOW TSB TO MOVE # END ITEM KDSTSBN U; # TSB NUMBER OF K-DISPLAY BUFFER # ITEM TSBFWA U; # TSB FWA # CONTROL EJECT; $BEGIN NS$DBG("TKD"); # TRACE CALL # $END KDSTSBN = DCW$KDBTSB[0]; # TSB NUMBER OF K-DISPLAY TSB # EXINCSZ(BLKSIZE,TSBFWA,KDSTSBN); # INCREASE K-DISPLAY TSB SIZE # P = TSBFWA; # FWA OF K DISPLAY BUFFER # P = TSBFWA + KDB$WC[0]; # FWA OF DATA BLOCK IN TSB # MOVEI(BLKSIZE,LOC(KDBLK),P); # MOVE DATA BLOCK TO TSB# KDB$LC[0] = KDB$LC[0] + BLKLC; # INCREMENT K-DISPLAY LINE COUNT# KDB$WC[0] = KDB$WC[0] + BLKSIZE; # INCREMENT K-DISPLAY WORD COUNT# MOVEOK(KDSTSBN); # ALLOW K-DISPLAY TSB TO MOVE # DCW$F$SKD[0] = TRUE; # REQUEST SEND K-DISPLAY DATA # RETURN; END # NS$TKD # TERM