Ошибка A2006: неопределенный символ: DGROUP - PullRequest
0 голосов
/ 12 ноября 2011

Я пытаюсь собрать этот код, но он возвращает ошибку.Не могли бы вы помочь мне исправить это?Спасибо.

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 Ответ

0 голосов
/ 18 ноября 2011

DGROUP - это 16-битная концепция, поэтому замечание в ссылке pmod (это 16-битный код, DGROUP - 16-битная концепция, убедитесь, что вы используете 16-битный компоновщик) верно.

Если это не решит проблему, поиграйте с вашей моделью памяти (.model), Dos для меня 16 лет назад, но некоторые сегменты IIRC существовали только в некоторых моделях памяти.

...