Estimado,
La razón es porque la matriz se encuentra dispuesta por filas en la memoria. Esto quiere decir que si la dirección inicial de la matriz es la dirección ES:[0], ahí se encuentra matriz[0][0], en el byte siguiente se encuentra matriz[0][1] y así hasta matriz[0][ANCHO], luego del cual viene matriz[1][0], y así sucesivamente. Como cada elemento de la matriz ocupa 1 byte, el desplazamiento total desde el inicio de la matriz es i * ancho + j
Saludos,
Federico