在 x86 中写入段
Writing to segment in x86
我想测试硬件的行为,以防我试图写入一个段(例如 DS 以外的数据段,可能是 GS)只是为了测试目的...是否有允许的汇编指令我指定一个段wit.h一个偏移量直接写进去?
要写入特定段,您必须首先将段号加载到段寄存器中,然后使用适当的段前缀进行加载。例如,要访问 0x1234:0x5678
,您可以这样做(在 AT&T 语法中):
push [=10=]x1234
pop %es
mov %es:0x5678,%eax
我想测试硬件的行为,以防我试图写入一个段(例如 DS 以外的数据段,可能是 GS)只是为了测试目的...是否有允许的汇编指令我指定一个段wit.h一个偏移量直接写进去?
要写入特定段,您必须首先将段号加载到段寄存器中,然后使用适当的段前缀进行加载。例如,要访问 0x1234:0x5678
,您可以这样做(在 AT&T 语法中):
push [=10=]x1234
pop %es
mov %es:0x5678,%eax