MODULE Test12; IMPORT SYSTEM, Out; CONST xConI = -33; xConJ = 33; nConK = -5; nConL = 5; VAR i, j : HUGEINT; PROCEDURE Chk(a, b : HUGEINT); BEGIN Out.Int(a, 0); Out.String(" = "); Out.Int(b, 0); Out.Ln; ASSERT(a = b); END Chk; BEGIN i := xConI; j := xConJ; Chk(ASH(i, nConK), ASH(xConI, nConK)); Chk(ASH(i, nConL), ASH(xConI, nConL)); Chk(ASH(j, nConK), ASH(xConJ, nConK)); Chk(ASH(j, nConL), ASH(xConJ, nConL)); Chk(SYSTEM.LSH(i, nConK), SYSTEM.LSH(xConI, nConK)); Chk(SYSTEM.LSH(i, nConL), SYSTEM.LSH(xConI, nConL)); Chk(SYSTEM.LSH(j, nConK), SYSTEM.LSH(xConJ, nConK)); Chk(SYSTEM.LSH(j, nConL), SYSTEM.LSH(xConJ, nConL)); Chk(SYSTEM.ROT(i, nConK), SYSTEM.ROT(xConI, nConK)); Chk(SYSTEM.ROT(i, nConL), SYSTEM.ROT(xConI, nConL)); Chk(SYSTEM.ROT(j, nConK), SYSTEM.ROT(xConJ, nConK)); Chk(SYSTEM.ROT(j, nConL), SYSTEM.ROT(xConJ, nConL)); END Test12. Проверка сдвигов.