In reply to Brian Field.

Sounds like you want to simulate random observations from the truncated MVN. The easiest way is to generate many observations from the MVN and then throw out any that don't meet the condition:

proc iml;
call randseed(1234);
mean = {0 0};
cov = {1 0.8,
0.8 1};
N = 1000; /* desired sample size */
multiplier = 10; /* simulate 10 times more than needed */
X = randnormal(multiplier*N, mean, cov);
keepIdx = loc( (X[,1] > 0 & X[,1] < 1) &
(X[,2] > 0 & X[,2] < 1) );
if ncol(keepIdx>=N) then
Y = X[keepIdx[1:N], ];
else
/* increase multiplier and try again */;

call scatter(Y[,1], Y[,2]);

For more on the acceptance-rejection method, see the article "Efficient acceptance-rejection simulation".