# #assembly #x86 #masm #irvine32
#собрание #x86 #масм #ирвин32
Вопрос:
updateBoard PROC array:PTR DWORD , row1: DWORD, col1:DWORD, row2:DWORD , col2:DWORD LOCAL isSame:DWORD, exitLoop: DWORD, value1:DWORD mov isSame, 0 ;isSame = false mov exitLoop, 0 ;computing smaller column, we'll start from the column which has smaller position for rowwise forward computation mov eax, col2 .if( col1 lt; eax ) mov ecx, col1 .elseif mov ecx, col2 .endif ;rowWise forward combos mov eax, ecx; starting column index mov edi,row1 ; row index mov esi, eax mov edx, 10 sub edx, ecx; computing loop counter -gt; (10 - col index with greater value ) .while ( edx lt; 9d AND exitLoop == 0) mov ecx, array[edi eax*TYPE array] add eax, 1d mov ebx, array[edi eax*TYPE array] .if ( ecx == ebx ) mov isSame, 1 ; isSame = true .endif .if ( ecx != ebx ) mov exitLoop, 1 .endif inc esi mov eax, esi inc edx .endw dec eax displayString offset prompt7 call writeDec ret updateBoard ENDP
также получил эту ошибку после включения ..AND exitLoop ==0
синтаксической ошибки A2154 в директиву потока управления, я создаю 2d-настольную игру с номером. сначала я проверял совпадения по строкам вперед и получал эту ошибку, что бы я ни пытался. я использовал как edi, так и esi для доступа к массиву, но изменил его esi на eax. Пожалуйста, помогите. Я поискал в Интернете, где говорится, что это фатальная ошибка.
Комментарии:
1. Является
AND
ли допустимым ключевое слово? Попробуйamp;amp;
вместо этого.2. спасибо, Шут. Как мне удалить тот, в котором написано «многократное использование базового регистра». Я знаю, что базовыми регистрами являются edi, esi, ebx и ebp. Я попытался изменить инструкции, но это все равно не проходит. Я новичок, поэтому мне жаль, если я совершаю здесь некоторые ошибки новичка.
3. Если я изменю
array
сboard1
, то есть название доски , на которой я объявил.data
, я не получу ошибки. Может ли кто-нибудь объяснить мне, почему это произошло? Вот как я назвал эту процедуруINVOKE updateBoard ,ADDR board1, row1, col1, row2, col2
.4. Вам нужно показать минимальный, полный пример, который воспроизводит описываемую вами проблему.