错误A2023指令操作数必须与LGDT指令大小相同

时间:2019-03-16 07:56:31

标签: assembly masm x86-16 bootloader osdev

在下面的汇编代码中,我遇到了上面提到的错误,在网络上我也找不到太多关于此错误代码的信息。

mov  ax,main_data
mov  ds,ax
mov  bx,gdt_info
lgdt [bx]

main_data segment use16
gdt_start:
c32_gdt GDT <0,0,0,0,0,0>
d32_gdt GDT <0,0,0,0,0,0>

gdt_info:
    dw gdt_info - gdt_start - 1
    dd gdt_start

main_data ends

1 个答案:

答案 0 :(得分:3)

需要工作,需要通过fword指定指针大小 gdt寄存器的大小为48位或6个字节,以使其正常工作: lgdt fword ptr [bx]