Ошибка A2006: неопределенный символ: DGROUP
Я пытаюсь собрать этот код, но он возвращает ошибку. Не могли бы вы помочь мне исправить это? Благодарю.
INCLUDE irvine16.inc
.data
array db 31h,32h,33h,34h ;use db to define array
COUNT = ($-array) ;The $ operator gives the value of the location counter.
.code
main proc
mov ax, @data ;copy the address of the data segment
mov ds, ax ;@data into the DS register
mov bx, offset array ;the offset operator returns the 16-bit offset of a label
mov cx, COUNT ;set up cx register as a counter register.
mov ah, 02 ;use function 2 of int 21h - display char stored in dl on screen
LP1: mov dl, [bx] ;LP1 is a label
int 21h
inc bx
loop LP1 ;decrement cx; if cx not =0,loop back to label LP1.
mov ax, 4c00h
int 21h
main endp
end main
1 ответ
DGROUP - это 16-битная концепция, поэтому замечание в ссылке pmod (это 16-битный код, DGROUP - 16-битная концепция, убедитесь, что вы используете 16-битный компоновщик) верно.
Если это не помогло, поиграйте с вашей моделью памяти (.model), Dos для меня 16 лет назад, но некоторые сегменты IIRC существовали только в некоторых моделях памяти.