Я пытаюсь сортировать выбор в сборке x86, и я получаю нарушение прав доступа, когда пытаюсь использовать переменную для доступа к смещению массива.Нарушение прав доступа в Masm при доступе к смещению памяти
.data
array BYTE "fairy tale"
count = ($ - array)
minIndex BYTE ?
.code
_main PROC
mov eax, 0
mov ebx, 0
mov ecx, count ; move array count to counter register
dec ecx ; decrease counter
lea esi, array
mov bl, 0 ; i = 0
L1:
push ecx
mov minIndex, bl ; minIndex = i
mov al, minIndex[esi] ; THIS GIVES THE ERROR
; rest of code...
ret
_main ENDP
END _main
Ошибки сборки отсутствуют, только нарушение доступа во время выполнения. Вам не разрешено выполнять такую операцию в MASM? Есть ли обходной путь?
Хорошо то, что я думал, что происходит, но я не был уверен, как заставить его действовать так, как я хотел. Благодаря ! –