assembly - 如何设置寄存器 CR0 的 MP 和 TS 标志位?x86 法斯姆
问题描述
如何设置寄存器 CR0 的 MP 和 TS 标志位?
我只知道如何设置 PE 标志:
mov eax, cr0
or eax, 1
mov cr0, eax
解决方案
看看这篇关于控制寄存器的维基百科文章并相应地设置位。在您的情况下,从 0 开始,MP 位位于位置 1,TS 位位于位置 3。
所以你可以使用下面的代码来设置CR0中的MP和TS标志:
mov eax, cr0
or eax, 10 ; 2^1(MP) + 2^3(TS) = 2 + 8 = 10 decimal
mov cr0, eax
推荐阅读
- angular - 过滤器包含在 on() ngrx reducer 中
- powerbi - Excel Sum If 数组在 Power BI 中
- vue.js - Vetur 错误,vetur 找不到任何元素,例如模板、div 以及更多错误
- css - 全局添加多个样式表
- swift - 使用导航按钮从 UITableView 中的选中元素返回数据
- shell - 如何在进程替换中从 xargs 扩展 {}?
- php - 使用 Shell 脚本每 5 秒运行一次 PHP 文件
- java - 无法将字节码定位到早期版本
- python - Errno 22 无效参数 u202aC
- vba - 使用 Access VBA 将格式化/对齐的页眉和页脚添加到 Word doc