rem Illustrating logical and mathematical operations

100

print "Testing addition / subtraction operation..."

rem generate a 32-bit number

rand A

rand B

C = A + B

D = C - A

if D <> B then print "...Addition / subtraction test failed."

print "Testing multiplication / division operation..."

rand E

rand F

E = E & 32767

F = F & 32767

REM to make sure that divider is not zero

F = F + 1

G = E * F

H = G / F

if H <> E then print "...multiplication / division test failed."

if H <> E then end

print "Testing modulos operation..."

rand E

rand F

E = E & 32767

F = F & 32767

REM to make sure that divider is not zero

F = F + 1

if E >= F then H = E / F else H = F / E

if E >= F then I = E % F else I = F % E

if E <= F then if (( E * H ) + I) <> F then print "...modulos operation failed."

if E <= F then if (( E * H ) + I) <> F then end

wait U

print "Testing logical operation..."

rand G

rand H

G = G * H

H = G # -1

I = G | H

if I <> -1 then print "...logical OR operation failed."

if I <> -1 then end

I = G & H

if I <> 0 then print "...logical AND operation failed."

if I <> 0 then end

I = G # -1

if I <> H then print "...logical XOR operation failed."

if I <> H then end

I = ~G

if I + G <> -1 then print "...logical unary operation failed."

if I + G <> -1 then end

goto 100

end

$

Copyright © 2002, 2003, 2004, 2005, 2006 Optimal Engineering Systems, Inc.