社区
C++ 语言
帖子详情
这是什么汇编语法,或者只是个伪代码?
谁学逆向工程
2020-02-09 12:42:19
书上有这么句话:
物理地址空间的大小从36位到 MAXPHYADDR 值,这个值可以由
CPUID.80000008:EAX[7:0]
来查询。 MAXPHYADDR 值一般都会是36位,Intel64 和 AMD64 实现了最高为52位的物理地址
eax后面的方括号是啥意思?
...全文
89
1
打赏
收藏
这是什么汇编语法,或者只是个伪代码?
书上有这么句话: 物理地址空间的大小从36位到 MAXPHYADDR 值,这个值可以由 CPUID.80000008:EAX[7:0]来查询。 MAXPHYADDR 值一般都会是36位,Intel64 和 AMD64 实现了最高为52位的物理地址 eax后面的方括号是啥意思?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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位系统
GNU
汇编
语法
基础
GNU
汇编
语法
GNU
汇编
语法
适用于所有的架构,并不是 ARM 独享的, GNU
汇编
由一系列的语句组成,每行一条语句,每条语句有三个可选部分,如下: label: instruction @ comment label 即标号,表示地址位置,有些指令前面可能会有标号,这样就可以通过这个标号得到指令的地址,标号也可以用来表示数据地址。注意 label 后面的“:”,任何以“:”结尾的标识符都会被识别为一个标号。 instruction 即指令,也就是
汇编
指令或伪指令。 @符号,表示后面的是注释,就跟 C
gcc内嵌
汇编
语法
分析
简单来讲是gcc优化的需要,gcc只要保证一个符号在他使用前将其准备好就可以了,如果使用**“=”**修饰一个符号则是告诉编译器,内嵌
汇编
中不会用到这个值,所以gcc也不用在这段内嵌
汇编
前把这个值准备好,又因为gcc在编译阶段并不会分析内嵌
汇编
程序,所以即使在内嵌
汇编
中使用了这个值,编译器也不会报错,但这个值可能不是预期的。编译阶段仅仅会解析“输出部”,“输入部”,“破坏部”, “GotoLabels”,程序员也是同步这四个部分告诉编译器执行这段内嵌
汇编
可能发生的情况,如可能破坏寄存器,或者修改内存。
汇编
系列之基本
语法
可执行的指令或简单的命令告诉处理器要做什么。每个指令包含了一个operation code(opcode),每个可执行的指令会生成一个机器语言的指令。你可以在数据部分声明各种常量值、文件名、buffer的大小等等。确认你已经配置了nasm和ld程序的系统环境变量,跟着下面的步骤编译和连接上面的HelloWorld.asm
汇编
程序!方括号中的字段是可选的。基本指令由两部分组成:第一部分是要执行的指令名称,第二部分是命令的操作数或者参数。文本部分通常用来保存代码。这些是不可以执行的,并且不会生成机器语言指令。
C++ 语言
65,189
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章