社区
C++ 语言
帖子详情
这是什么汇编语法,或者只是个伪代码?
谁学逆向工程
2020-02-09 12:42:19
书上有这么句话:
物理地址空间的大小从36位到 MAXPHYADDR 值,这个值可以由
CPUID.80000008:EAX[7:0]
来查询。 MAXPHYADDR 值一般都会是36位,Intel64 和 AMD64 实现了最高为52位的物理地址
eax后面的方括号是啥意思?
...全文
105
1
打赏
收藏
这是什么汇编语法,或者只是个伪代码?
书上有这么句话: 物理地址空间的大小从36位到 MAXPHYADDR 值,这个值可以由 CPUID.80000008:EAX[7:0]来查询。 MAXPHYADDR 值一般都会是36位,Intel64 和 AMD64 实现了最高为52位的物理地址 eax后面的方括号是啥意思?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2020-02-09
打赏
举报
回复
mov eax, 80000008h
cpuid
执行CPUID指令后,物理地址的大小在EAX的bit[7:0]返回,虚拟地址的大小在EAX的bit[15:8]返回,返回的内容为虚拟(物理)地址的位数。
masm和link下载
debug、masm、link等子程序下载,可供
汇编
语言学习者使用
masm for windows 2015
masm 适用于windows8.1 64位系统
NASM
汇编
语言基础
语法
与伪指令详解
NASM
汇编
语言基础
语法
与伪指令详解 1. NASM源代码行结构 NASM源代码行通常由四个字段组成(宏、预处理指令和
汇编
指令除外): label: instruction operands ; comment 这四个字段分别是: 标签(label):可选,以冒号结尾(冒号也可省略) 指令(instruction):机器指令或伪指令 操作数(operands):根据指令要求...
GNU
汇编
语法
基础
GNU
汇编
语法
GNU
汇编
语法
适用于所有的架构,并不是 ARM 独享的, GNU
汇编
由一系列的语句组成,每行一条语句,每条语句有三个可选部分,如下: label: instruction @ comment label 即标号,表示地址位置,有些指令前面可能会有标号,这样就可以通过这个标号得到指令的地址,标号也可以用来表示数据地址。注意 label 后面的“:”,任何以“:”结尾的标识符都会被识别为一个标号。 instruction 即指令,也就是
汇编
指令或伪指令。 @符号,表示后面的是注释,就跟 C
gcc内嵌
汇编
语法
分析
简单来讲是gcc优化的需要,gcc只要保证一个符号在他使用前将其准备好就可以了,如果使用**“=”**修饰一个符号则是告诉编译器,内嵌
汇编
中不会用到这个值,所以gcc也不用在这段内嵌
汇编
前把这个值准备好,又因为gcc在编译阶段并不会分析内嵌
汇编
程序,所以即使在内嵌
汇编
中使用了这个值,编译器也不会报错,但这个值可能不是预期的。编译阶段仅仅会解析“输出部”,“输入部”,“破坏部”, “GotoLabels”,程序员也是同步这四个部分告诉编译器执行这段内嵌
汇编
可能发生的情况,如可能破坏寄存器,或者修改内存。
C++ 语言
65,209
社区成员
250,518
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章