- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这些是 “程序员可见” x86-64 寄存器:
(来源:usenix.org)
隐形寄存器呢?刚刚才知道MMU寄存器,Interrupt Descriptor Table(IDT)使用了这些不可见的寄存器。我正在艰难地学习这些东西。是否有任何资源(书籍/文档/等)可以立即为我提供完整的图片?
我知道程序员可见的寄存器并且很容易使用它们进行编程。我只想了解隐形寄存器及其功能。我想得到一个完整的图片。我在哪里可以得到这些信息?
编辑:
I want to get a complete picture. Where can I get this info?
最佳答案
IDT是一个中断描述符表,从抽象的角度来看,它包含这样的东西,前18个中断由处理器保留,接下来的18个由英特尔保留用于 future 验证芯片架构......
中断处理程序
0 除以零处理程序
1 debug_handler
…………
13 general_exception_handler
14 page_fault_handler
…………
18 machine_check_handler
在这种情况下,处理程序是玩具内核的一部分,每个处理程序都在启动时设置,在加载用户代码之前。 (BIOS 是 16 位代码又名实模式代码),内核设置处理程序,切换到 32 位保护模式,当发出任何中断时,根据中断编号执行适当的处理程序。例如,如果中断 14 产生,内核将执行 page_fault_handler
,检查页面是否脏并驻留在磁盘上,然后将该页面加载到内存中,修复地址并清除脏位,执行 IRET
中断返回指令继续,清除标志......
这是 IDT 工作原理的抽象 View ......幕后有更复杂的事情发生......取决于内存管理的架构和类型,例如分页/平面/ protected /虚拟模式寻址方案......
看看这里 Intel提供了对英特尔编程的出色而透彻的看法的文档...
编辑:
回到 DOS 的旧时代(它是 16 位代码,不是很好,完全受内存保护),可以将中断处理程序重新路由到您自己的处理程序,从而覆盖原始 IDT,例如这样的中断,Interrupt 9 这是使用 getvect(...)
的键盘中断(在此上下文中为 BIOS 中断)和 setvect(...)
调用,你也可以处理一些(不是所有的处理器中断,特别是,IDT 0 被零除)......尽管这些 BIOS 中断在外观上与处理器中断非常相似,但它们有一个共同的特征,两者都做到有中断向量表(当时已知)。由于 BIOS 中断重新路由到 TSR 的处理程序,这就是 TSR(Terminate Stay Resident)程序能够在 DOS 中保持可重入的方式……
关于assembly - 程序员 "Invisible"寄存器怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2442457/
我已经实现了不可见的 reCAPTCHA,一切正常,但谷歌以他们的智慧添加了一个条款/隐私框作为屏幕右下角的覆盖: 不幸的是,因为我已经有一个时间表框,所以它看起来很乱。 Google 和我的调度程序
有点直截了当:当 asp:Validators 在不可见的容器中时,它们是否仍会执行验证?如果他们的 ControlToValidate 目标是不可见的呢? 例如: 上面是不可
我是 Android 开发的新手,所以我正在开发一个简单的应用程序来隐藏按下某个按钮的 TextView ,因此在按钮的 OnClick 事件方法的 java 代码中我将 TextView 设置为不可
?invisible说 Return a (temporarily) invisible copy of an object. 那个括号暗示隐形不会永远持续下去,但我找不到任何可以解释它何时消失的东西
根据 Lighthouse 的测量,包含 Google 的“隐形验证码”似乎大大增加了“首次交互”(以及随后的“持续交互”)时间。 我使用 HTML5 样板模板设置了两个空网页。这些站点的不同之处仅在
我有一个不可见的 recaptcha,它可以工作,但对所有用户来说都是完全可见的。我的意思是: 我的控制台说: Uncaught Error: Missing required parameters:
我正在编写简单的 APN 切换应用程序。我想问一下如何强制android不显示任何窗口。目前在运行我的应用程序后,会短暂显示带有应用程序名称的黑屏,然后消失。是否可以不显示任何内容(仅显示 Toast
在我的应用程序中,我有一些控件,例如 NSButton 和 NSTextfield,我想将其隐藏。我知道我可以在 Interface Builder 中做到这一点,但我需要在代码中做到这一点。 我仍然
我想从所有市场上删除“待售” ios应用程序,因此不再可以购买,但仍可以为现有用户提供更新。这可能吗? 马丁 最佳答案 不,如果您要提供更新,则任何人都必须可以下载/购买。 恐怕是标准的苹果程序。苹果
这个问题已经有答案了: Eclipse pausing without a breakpoint (6 个回答) 已关闭 8 年前。 我正在使用 Eclipse Juno。当我调试桌面应用程序时,调试
我在 FMX 上有一个 TGrid,有 3 列,第二列是 Visible False,如果我单击第一列并按箭头聚焦于下一个可见列,光标不会转到第三列,它会消失,就像聚焦在第二列上一样,如果我再次按下箭
这是我的进度对话框 progressBar = new ProgressDialog(Wallpapers.this); progressBar.setCancelable(false); progr
我正在尝试从使用 Google reCaptcha v2 迁移到不可见的 reCaptcha。我使用 Parsley.js 进行表单验证,并使用 Malsup Ajax 表单插件提交表单。我当前的代码
而不是使用: if ( ! $('#XX').is(':visible) ) 是否有一个名为 invisible 的值?我试过了,但不起作用。 谢谢! 最佳答案 ':hidden' if ($('#X
这些是 “程序员可见” x86-64 寄存器: (来源:usenix.org) 隐形寄存器呢?刚刚才知道MMU寄存器,Interrupt Descriptor Table(IDT)使用了这些不可见的寄
我正在创建一个类库,里面有不同的功能。我还有一个控制台应用程序,一旦它们引用类库就可以访问这些函数。我想知道如何使一个函数“不可见”,这样客户就看不到它的存在,只有在他们完美地写出来的情况下他们才能使
我需要您的帮助,从图形类生成屏幕外图像并将其转换为二进制数据,而不将它们设置在屏幕上可见。我想生成大量标签并将它们作为二进制数据发送到打印机。如果我创建图像,在屏幕上显示它然后发送它,一切都很好,但是
假设我有以下代码: //myjs.js let testingVisibility = "hello"; 当我想通过 Firefox 中的控制台访问 testingVisibility 变量时,未声
在 Swift 中,我可以创建一个 String 变量,如下所示: let s = "Hello\nMy name is Jack!" 如果我使用 s,输出将是: Hello My name is J
我必须编写一些 javascript 代码来截取网页的屏幕截图,但不能在前台渲染它。首先,这可能吗?我需要使用一些外部库吗?请给我一些想法:) 最佳答案 如果您正在谈论在 Firefox chrome
我是一名优秀的程序员,十分优秀!