The logic is trivial.
The address of i-th element of a 1-dimensional array is just the address of the array (or the 0-th element) plus i * element size.
If you have a 2-dimensional array, you can treat it as a 1-dimensional array of 1-dimensional arrays and reduce it to the already familiar case I've just described: the address of i-th 1-dim subarray of a 2-dim array is just the address of the 2-dim array plus i * subarray size. Within that i-th subarray we already know how to calculate j-th element address.
So, the address of (i,j)-th element of a 2-dimensional array is just the address of the array plus i * subarray size + j * element size OR, equivalently, the address of the array plus (i * number of elements in the row + j) * element size.
You should be able to figure out how to do this in assembly language.