PAM Programming Manual
Link-Level Programming Examples
PAM Programming Manual—142482
B-6
Procedures
 ( loop^cnt = 0 ) THEN
 BEGIN
 CALL Clear^Report^Buffer;
 report^buf^ptr ':=' ["Loop count is bad"];
 CALL Write^Report^Buf^and^AbEnd;
 END;
--/---------------------------------------------------------------/
-- Look for SDU count.
--/---------------------------------------------------------------/
 @startup^message^ptr := end^addr + 1;
 SCAN startup^message^ptr WHILE " " -> @startup^message^ptr;
 end^addr := NumIn ( startup^message^ptr, SDU^cnt, 10, error );
 IF error OR
 ( SDU^cnt = 0 ) THEN
 BEGIN
 CALL Clear^Report^Buffer;
 report^buf^ptr ':=' ["SDU count is bad"];
 CALL Write^Report^Buf^and^AbEnd;
 END;
--/---------------------------------------------------------------/
-- Look for beginning user data size ( bytes )
--/---------------------------------------------------------------/
 @startup^message^ptr := end^addr + 1;
 SCAN startup^message^ptr WHILE “ “ -> @startup^message^ptr;
 end^addr := NumIn 
 ( startup^message^ptr, begin^user^data^size^B, 10, error );
 IF error OR
 ( begin^user^data^size^B > max^user^data^size^B ) THEN
 BEGIN
 CALL Clear^Report^Buffer;
 report^buf^ptr ’:=’ [”Begin User Data Size is bad.”];
 CALL Write^Report^Buf^and^Abend;
 END;
--/---------------------------------------------------------------/
-- Grab ending user data size ( bytes ).
--/---------------------------------------------------------------/
 @startup^message^ptr := end^addr + 1;
 SCAN startup^message^ptr WHILE “ “ -> @startup^message^ptr;
 end^addr := NumIn 
 ( startup^message^ptr, end^user^data^size^B, 10, error );
 IF error OR
 ( end^user^data^size^B < begin^user^data^size^B ) OR
 ( end^user^data^size^B > Max^User^Data^Size^B ) THEN
 BEGIN
 CALL Clear^Report^Buffer;
 report^buf^ptr ’:=’ [”End User Data Size is bad.”];
 CALL Write^Report^Buf^and^Abend;
 END;
--/---------------------------------------------------------------/
-- Grab NoWait depth.
--/---------------------------------------------------------------/
 @startup^message^ptr := end^addr + 1;
 SCAN startup^message^ptr WHILE “ “ -> @startup^message^ptr;
 end^addr := NumIn 
 ( startup^message^ptr, NoWait^depth, 10, error );
 IF error OR
 ( NoWait^depth < 1 ) OR










