1

I Cannot set more segment or array. Assembly

i think is because i dont have space or something

        IDEAL

        MODEL huge
P386

    STACK 256

    DATASEG

     pcxA  DB 65200 DUP(?)

SEGMENT pcx para public  'DATA'  
        DB 65200 DUP(?)
ENDS    
SEGMENT FILEBUF para public  'DATA'  
        DB 28000 DUP(?)
ENDS

        CODESEG   

Start:
        mov ax, @data
        mov ds, ax


Exit:
        mov ax,04c00h
        int 21h
        End Start

The Error: Group dgroup exceeds 64k

Image:

enter image description here

Help Please :)

Gad
  • 154
  • 8
  • I edited the post, can you take a look? – Gad Apr 26 '20 at 10:06
  • It is possible that the syntax is wrong. Perhaps try `pcx SEGMENT para public 'DATA'` and the same for `FILEBUF`. – fuz Apr 26 '20 at 10:13
  • No.... The syntax is OK – Gad Apr 26 '20 at 10:17
  • 1
    Thanks for checking. What happens when you remove the `'DATA'` from the segment directives? I suppose that would put them into their own segment groups, fixing the problem. – fuz Apr 26 '20 at 10:20
  • 1
    Even in the HUGE model, the STACK and DATA segment classes belong to the DGROUP. You must use FAR_DATA or override the default group. – Margaret Bloom Apr 26 '20 at 10:22
  • thank you very much :), Can you explain what the 'data' is doing? – Gad Apr 26 '20 at 10:25
  • @Gad It assigns the segment to the data segment group `DGROUP`, telling the linker to join them all into one segment. Refer to the manual for details. – fuz Apr 26 '20 at 11:28

0 Answers0