You can specify a submatrix by using the row and column subscripts.
For example, if you have a 6 x 6 matrix, you can get the four 3 x 3 submatrices as follows
proc iml;
A = toeplitz(6:1);
print A;
/* A[rows, cols] */
A1 = A[1:3, 1:3];
A2 = A[1:3, 4:6];
A3 = A[4:6, 1:3];
A4 = A[4:6, 4:6];
print A1, A2, A3, A4;
How you use this depends on what you are trying to accomplish. It's not clear what you want to do.
You can also loop over the submatrices and extract each one as part of a loop. For example, the following loop that iterates over the four submatrices:
cutPts = {0, 3, 6};
do i = 1 to 2;
rows = (1+cutPts[i]) : cutPts[i+1];
do j = 1 to 2;
cols = (1+cutPts[j]) : cutPts[j+1];
A_ij = A[rows, cols];
det = det(A_ij);
print i j det;
end;
end;