社区
汇编语言
帖子详情
不太理解lgdt的操作数。
ShawFeld
2014-12-14 12:30:52
0f 01 15 48 00 10 00
lgdtl 0x100048
不是说lgdt 操作数是m16&32,
应该是6字节的一个数啊,为什么这里只有5个。
总之,应该怎么看这个指令呢?
...全文
1834
5
打赏
收藏
不太理解lgdt的操作数。
0f 01 15 48 00 10 00 lgdtl 0x100048 不是说lgdt 操作数是m16&32, 应该是6字节的一个数啊,为什么这里只有5个。 总之,应该怎么看这个指令呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq_42490606
2018-12-20
打赏
举报
回复
1
就拿楼主这个例子来说,lgdt操作归根到底是取6个字节的数据,其中有2个字节数据装载进gdtr寄存器的limit部分,另外4个字节数据装载进gdtr寄存器的base部分。而通过解析,我们得到一个内存地址addr=0x10048,而我们要取得这六个字节数据就在以改地址为首地址的内存中。可以通过memcpy(&dest,addr,2)取出两个字节数据保存在dest中装载进gdtr中,然后再memcpy(&dest,addr+2,4)取出四个字节数据保存在dest中。(个人理解,勿喷)
均陵鼠侠
2015-03-08
打赏
举报
回复
lgdt是间接寻址的,需要用它后面的地址操作数间接找到真正的GDT的线性地址。
疯疯颠巅
2015-02-18
打赏
举报
回复
0f 01 15 |48 00 10 00 ;48 00 10 00 倒转来看不就是0x00100048吗? 0f 01 15 = lgdt,是lgdt的机器码 lgdt |0x100048 操作数是m16&32,是指可以是16位或者32位 16位 00 00 32位 00 00 00 00; 48 00 10 00是32位
赵4老师
2015-01-07
打赏
举报
回复
0f011548001000 lgdt [00100048]
zara
2014-12-15
打赏
举报
回复
不知道
6字节
和
只有5个
是怎么来的,啥个意思。
就 0f 01 15 48 00 10 00 这个指令机器码来说,0f 01 是操作码,15 是寻址模式字节表示 32 位偏移,48 00 10 00 就是偏移地址了。
汇编语言程序设计期中考试题.pdf
汇编语言程序设计期中考试题.pdf
intel 汇编指令集
intel 汇编指令集中总结讲解 中文 pdf格式
Intel x86 指令详解(英文).txt
Intel x86 指令详解(英文) --
理解
linux内核必备知识
X86从实模式到保护模式 源代码
X86从实模式到保护模式 源代码。
微机原理与接口技术
微机原理与接口技术,考试复习题
汇编语言
21,497
社区成员
41,616
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章