Я должен написать процедуру на ассемблере, которая сортирует массив до 20 имен, до 11 символов.Мои программы принимают 3 записи, но продолжают рушиться во всем остальном, и я не могу их отсортировать.Я использую пузырьковую сортировку.
Кстати, я не могу ничего изменить в C ++, поскольку это задание.
Эти первые 3 строки взяты из кода C ++.
extern "C" void Sort (char [] [11], char [], double [], long);
char Names [20] [11];
Sort (Names, LetterGrades, Averages, NumStudents - 1);
_Sort proc
mov ecx, [esp +16]
dec ecx
L1: push ecx
mov esi, [esp + 4]
L2: mov eax, [esi]
cmp [esi + 11], eax
jg L3
xchg eax,[esi + 11]
mov [esi],eax
L3: add esi,11
loop L2
pop ecx
loop L1
L4: ret
_Sort endp