#assembly #x86-16 #masm
Вопрос:
Я немного новичок в ASM. Я пытаюсь найти наименьшее значение в массиве DWORD. Я получаю ошибку A2006: неопределенный символ: DGROUP в строке 11 моего кода. Я считаю, что @data вызывает мою ошибку. Как я должен изменить свой код, чтобы решить эту проблему??? Я использую 32-разрядный код visual studio 2019. Спасибо, что уделили мне время!
.model small .stack .data msg1 db 0dh,0ah, 'smallest element is:
Комментарии:
1.
.data
это название раздела. Используйте соответствующие имена переменных, напримерmsg1
,array
,smallest
2. Я не думаю, что вы используете правильную
masm
версию. Вам нужен 16-битный, так как это 16-битный код DOS.
array db 2, 3, 4, 1, 0, -2, -5, 8, 6 smallest db ? .code main proc mov ax,@data mov ds,ax lea di,array mov cx,9 ; 5 times count mov al,[di] ; memory location send ‘di’ registerar data ‘al’ mov smallest,al step: ;level inc di mov bl,[di] cmp smallest,bl jle l1 ;jge= jump gratherthan equal , mov smallest,bl l1: loop step add smallest,30h ; integer to character (add30 for asii value) lea dx,msg1 mov ah,09h int 21h mov dl,smallest mov ah,02h int 21h mov ah,4ch int 21h main endp end main
Комментарии:
1.
.data
это название раздела. Используйте соответствующие имена переменных, напримерmsg1
,array
,smallest
2. Я не думаю, что вы используете правильную
masm
версию. Вам нужен 16-битный, так как это 16-битный код DOS.