И лишь при выводе на экран или в файл нужно размещать элементы по столбцам и строкам.
В данной задаче проще всего хранить матрицу и работать с ней, как с одномерным массивом.
Найти адреса максимального и минимального элементов, не обращая внимания на индексы строк и столбцов, а затем просто поменять их местами тремя инструкциями процессора.
PREPARSE EntryPoint Begin
[push | push #1 | #+1]
[call | push #L>2 | call #1]
[ccall | push #L>2 | call #1
#If #N>1
add esp ((#N-1)*4)
#EndIf]
[Text1: B$ 'Дана матрица %ux%u:' 0D 0A 0]
[Text2: B$ 0A 'Минимум и максимум поменялись местами: ' 0D 0A 0]
[Frmt: B$ '%7.2f' 0]
[CRLF: B$ 0D 0A 0]
[Seed: ?]
[N: ?]
[M: ?]
[Size: ?]
[Matrix: ?]
[Buff: ?]
Begin:
rdtsc
mov D$Seed eax
finit
call Rand
mov D$N eax
call Rand
mov D$M eax
mul D$N
mov D$Size eax
ffree st1
ffree st0
shl eax 2
call 'kernel32.VirtualAlloc' &NULL eax &MEM_COMMIT &PAGE_READWRITE
mov D$Matrix eax
ccall 'msvcrt.printf' Text1 D$N D$M
mov ecx D$Size
mov edi D$Matrix
L1:
call Rand
mov D$Buff 04347FAE1
fmul F$Buff
mov D$Buff 042C7FAE1
fsub F$Buff
fstp F$edi+ecx*4-4
loop L1<
call WriteMatrix
mov ecx D$Size
dec ecx
mov ebx D$Matrix
mov edi ebx
mov esi edi
L4:
add ebx 4
fld F$ebx
fld F$edi
fcomip st0 st1
cmovb edi ebx
fld F$esi
fcomip st0 st1
cmova esi ebx
ffree st0
loop L4<
;Перемена местами максимума и минимума
;в edi адрес максимального элемента
;в esi адрес минимального
mov eax D$esi
xchg eax D$edi
mov D$esi eax
ccall 'msvcrt.printf' Text2
call WriteMatrix
call 'msvcrt._getch'
call 'kernel32.VirtualFree' D$Matrix &NULL &MEM_RELEASE
call 'kernel32.ExitProcess' &NULL
WriteMatrix:
mov ebx D$Matrix
mov ecx D$Size
xor esi esi
L3:
push ecx
fld F$ebx+esi*4
sub esp 8
fstp R$esp
push Frmt
call 'msvcrt.printf'
add esp 0C
inc esi
mov eax esi
cdq
div D$M
test edx edx
jnz L2>
ccall 'msvcrt.printf' CRLF
L2:
pop ecx
loop L3<
ret
Rand:
push edx
mov eax D$Seed
mov edx 214013
mul edx
add eax 2531011
mov D$Seed eax
shr eax 16
and eax 07FFF
push 08000
push eax
fild D$esp
and eax 7
fidiv D$esp+4
add esp 8
add eax 3
pop edx
ret

В 6-м столбце поменялись местами 99.40 и -91.17