Strukturen in NASM



  • Ich hab mich mal mit Strukturen in NASM beschäftigt und bin mal wieder am Ende. Ich habe folgenden Strukturtyp deklariert:

    struc GDTSTRUCT
       .limit:    resw    1
       .baseaddr:    resd    1
    endstruc
    

    das klappt auch wunderbar, lässt sich kompilieren. Aber sobald ich eine Instanz der Struktur anlegen will meckert der Compiler:

    global_table:
          istruc GDTSTRUCT
             at limit,   dw 0x0000
             at baseaddr,    dd 0x00000000
       iend
    

    symbol 'limit' not defined
    symbol 'baseaddr' not defined

    ich habs auch schon mit .limit und .baseaddr versucht, aber der Compiler will den Code nicht. Ich hoffe, das jemand sowas schon mal gemacht hat...

    [ Dieser Beitrag wurde am 20.03.2003 um 15:15 Uhr von hackbert editiert. ]



  • hmmm... ich weiß nicht, aber lass das "limit at, " und "at baseaddr, " mal weg...

    cu todo



  • Hat sich erledigt, ich habe den Fehler gefunden. Man muss explizit den offset in der Struktur angeben:

    struc GDTSTRUCT
        .limit:     resw    1
        .baseaddr:  resd    1
    endstruc
    
    global_table:
            istruc GDTSTRUCT
                at GDTSTRUCT.limit, dw 0x0000
                at GDTSTRUCT.baseaddr,  dd 0x00000000
        iend
    

Anmelden zum Antworten