Две проблемы с вашей попыткой: вы не можете вычитать в режиме адресации и не можете использовать содержимое ячейки памяти.
Однако вы можете добавить константу и умножить на 2, 4,или 8, оба из которых можно использовать здесь для получения преимущества.
MOV EAX, W
NEG EAX
MOV EAX, 4[EDI+EAX*4];; up Right
ADD ESI, EAX
Константа может быть отрицательной, поэтому, когда вы хотите получить доступ к массиву [i-1] [j-1], вы можете использовать
MOV EAX, -4[EDI+EAX*4];; up left