腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(238)
视频
沙龙
1
回答
为什么nasm中的gdtr没有发挥应有的作用?
、
、
我正在用NASM编写一个操作系统,我不想切换到受保护的模式,但是我有一个问题,就是我收到了一个错误,上面写着:
lgdt
[gdtr
浏览 1
提问于2019-02-01
得票数 1
回答已采纳
1
回答
32位程序集引导加载程序可在VM/qemu中运行,但不能在真实PC上运行
、
、
、
、
:int 0x15 ; enable A20 bitint 0x10
lgdt
浏览 13
提问于2020-11-25
得票数 1
回答已采纳
1
回答
如何在初始加载后更新GDT条目?
、
、
、
、
使用
lgdt
初始化GDT并将其加载到GDTR后,如何更新GDT? 如果我使用sgdt命令获取基地址,然后更新或添加条目,然后再用
lgdt
重新加载条目,是否正确?还有别的办法吗?
浏览 12
提问于2020-07-25
得票数 2
1
回答
保持程序集与内联函数的兼容性
、
、
、
、
我正在编写一些头文件,这些文件将被C代码和程序集访问。为此,汇编代码由C预处理程序进行预处理。我的当前方法是在头文件中编写inline函数(使用>= GNU99,-O3内联该函数,任何其他调用该函数的外部定义(我需要显式定义),并在实现文件中写入外部定义。C代码包括头文件(
浏览 5
提问于2016-03-29
得票数 2
回答已采纳
1
回答
全局描述符表的物理地址?
、
、
、
我在加载全局描述符表的内核中看到了如下指令: lgdtl 0x10f018 我知道
lgdt
以GDT的长度(16位)和GDT的地址(32位)作为操作数。但是,我无法从命令中知道GDT的地址是什么。
浏览 4
提问于2014-01-15
得票数 3
回答已采纳
1
回答
x86处理器如何在引导加载程序加载GDT之后获取指令?
、
、
、
、
在为x86编写的一个典型的简单引导加载程序中,我们使用以下代码来加载GDT并执行远跳转(请注意,在执行以下代码之前,CS为0x0 ):movl %cr0, %eaxprotcseg:1.
lgdt
加载GDT之后,CPU究竟如何获取正确的指令? 2.要远跳转到的代码段的CPU通常为0,进行远跳转时CPU是否进行权限检查?
浏览 5
提问于2020-03-22
得票数 1
1
回答
x86如何在已加载gdt后更改gdt?
、
、
、
我的idtr地址被定义为 DW 0;size_of_gdt我可以用
LGDT
[gdt_pointer]装载它。在设置适当的值后,我是否可以再次使用
LGDT
指令? 编辑:我计划一直保持我的gdt_pointer起始地址不变,但我将更改大小参数。此外,我正在加载和改变gdt从32位保护模式。
浏览 8
提问于2014-08-25
得票数 0
回答已采纳
1
回答
进入长模式
、
、
、
、
0xffff rdmsr wrmsr
lgdt
浏览 0
提问于2014-08-08
得票数 3
回答已采纳
2
回答
ljmp (在64位模式下)被#GP(0)拒绝。为什么?
、
、
下面是代码(在64位模式下从已经运行的运行):push $(1<<3# Hang lea gdt(%rip),%rax # The (relocated) address of 'gdt'.'gdt' is defined at the bottom. push %rax
浏览 5
提问于2018-01-12
得票数 2
1
回答
从启动开始跟踪指令执行
、
、
、
al) 66 8B E0 (mov esp,eax) 66 8B EA (mov ebp,edx) 66 BB 80 FD FF (mov ebx,FFFFFD80) 66 2E 0F 01 17 (
lgdt
浏览 0
提问于2017-05-15
得票数 3
1
回答
数组的隐式指针转换似乎未指向数组
、
、
、
基本思想是使用
LGDT
程序集调用加载GDT寄存器。它的参数是包含实际GDT的大小和位置的结构的内存地址。我遇到的问题是,在GlobalDescriptorTable.h的第75行,我设置了要传递给
LGDT
的结构中数组的地址,但是当我检查结构给出的地址处的内存时,那里什么都没有。about the GDT gdtd.location = _gdt; asm ("
LGDT
浏览 0
提问于2017-05-12
得票数 0
1
回答
哪些指令不能在特定的CPU环中发出?
、
根据 (第3-5级)特定的CPU环不能做某些事情,如环1、2、3代码不能设置GDT,因为os内核会崩溃。我在维基百科或osdev和类似的来源上都找不到任何东西,这些信息可以说明哪些指令不能在特定的环中发布。
浏览 6
提问于2016-08-22
得票数 5
回答已采纳
1
回答
如果数据段为非零,则保护模式将失败。
、
、
、
、
这段代码工作得很好:[ORG 0x7c00] mov ds,ax
lgdt
[gdt_descriptor] 这一次使处理器重新启动:[ORG 0x7c00] mov ds,ax
lgdt
浏览 3
提问于2015-01-16
得票数 1
回答已采纳
1
回答
引导加载器中gdt的跳远
、
、
、
flush_gdt: jmp 0x08:complete_flush mov ax, 0x10jmp指令是做什么的?
浏览 3
提问于2014-06-01
得票数 11
回答已采纳
1
回答
如何将下列NASM代码转换为AT&T语法,以修复“无法处理jmp中的非绝对段”错误
、
、
、
、
我试图将其转换为AT&T语法:.quad 0x0000000000000000 .word-gdt-1NASM代码:
lgdt
[gdt.pointer]
浏览 1
提问于2018-12-26
得票数 3
回答已采纳
1
回答
NASM如何在没有组织的情况下设置相对于加载地址的标签地址
、
、
、
在没有org的情况下,我的汇编代码中包含以下内容:dw gdt_end - gdt_start - 1..组装后的外观如下所示:它应该在什么时候表本身也是错误的,因为gdt开始位置没有考虑偏移量。
浏览 6
提问于2015-05-20
得票数 0
1
回答
错误A2023指令操作数必须具有包含
LGDT
指令的大小
、
、
、
、
mov ax,main_datamov bx,gdt_infogdt_start: c32_gdt GDT
浏览 64
提问于2019-03-16
得票数 1
1
回答
进入保护模式的简单引导加载程序
、
、
、
、
0x20000000dec esijz protectcli
lgdt
浏览 9
提问于2018-10-04
得票数 0
1
回答
使用不同语法的偏移量执行长跳转的程序集
、
、
、
、
Allows the C code to link to this_gdt_flush:.extern gp /*Says that '_gp' is in another file*/
lgdt
浏览 58
提问于2018-03-23
得票数 6
回答已采纳
2
回答
切换到保护模式后的“调用”
、
、
我已经使用
lgdt
加载了我的gdt,将cr0的P标志设置为1以及所有的段选择器,但是当我从函数调用返回时,我无法调用任何其他函数,或者我收到以下错误 movl %eax, gdtr_base
lgdt
浏览 1
提问于2012-02-07
得票数 5
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
即时通信 IM
活动推荐
运营活动
广告
关闭
领券