Das ist halt NASM-Syntax. Keine Ahnung warum die das so umsetzen. Intern wird ja die Speicherstelle an dem Offset [gdt] ausgelesen, und nicht irgendwas mit dem Offset gemacht, was durch die eckigen Klammern angezeigt wird.
Vielleicht ist es sorum einleuchtender: mov eax, gdt lädt auch nur das Offset nach eax, während mov eax, [gdt] den Inhalt nach eax lädt.
Der Schwerpunkt dieses Satzes liegt wohl auch nicht auf dem Offset, sondern auf der Struktur, weil ich mehrere Anleitungen gelesen habe, die darauf hindeuten, dass viele die Instruktion falsch interpretieren und immer sowas versuchen:
lgdt 0x17:0x10000
Wobei der Autoren dieses Codestücks damit anscheinend erreichen wollen, dass eine gdt mit basis 0x10000 und limit 0x17 geladen wird, was natürlich nicht geht.