pTAL Guidelines for TAL Programmers
Coding Guidelines
pTAL Guidelines for TAL Programmers—527256-002
2-57
Signed (Arithmetic) Left Shifts
INT(32) PROC ashift32(a, cnt); ! 32-bit signed left shift
INT(32) a;
INT cnt;
BEGIN
STRUCT s = a;
BEGIN
UNSIGNED(1) sign_bit;
UNSIGNED(31) rest;
END;
s.rest := s.rest '<<' cnt;
RETURN a;
END;
Example 2-69. Signed Left-Shift Procedures (page 2 of 2)