在编译时从 MASM/MASM64 检测架构

2023-11-27

如何在编译时从 ASM 源文件检测目标架构是 I386 还是 AMD64?

我正在使用 masm(ml.exe)/masm64(ml64.exe) 来汇编 file32.asm 和 file64.asm。最好创建一个文件 file.asm,其中应包含 file32.asm 或 file64.asm,具体取决于体系结构。理想情况下,我希望能够写出如下内容:



IFDEF amd64
include file64.asm
ELSE
include file32.asm
ENDIF
  

另外,如果需要,我可以使用不同的命令行选项运行 ml.exe 和 ml64.exe。

Thanks!


IFDEF RAX

  ECHO "WIN64"

ELSE

  ECHO "WIN32"

ENDIF
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在编译时从 MASM/MASM64 检测架构 的相关文章

  • “rep stos”x86 汇编指令序列有什么作用?

    我最近偶然发现了以下汇编指令序列 rep stos dword ptr edi For ecx重复 存储内容eax到哪里edi指向 递增或递减edi 取决于方向标志 每次 4 个字节 通常 这用于memset型操作 通常 该指令简单地写成r
  • 为什么我的空循环在 Intel Skylake CPU 上作为函数调用时运行速度是原来的两倍?

    我正在运行一些测试来比较 C 和 Java 并遇到了一些有趣的事情 在 main 调用的函数中 而不是在 main 本身中 运行具有优化级别 1 O1 的完全相同的基准代码 导致性能大约翻倍 我正在打印 test t 的大小 以毫无疑问地验
  • 从 exe 文件中获取汇编级代码?

    我当时正在做linux汇编编程 在过去的几天里我已经转而学习windows汇编编程 我在用ml作为我的汇编器和golink作为我的链接器 我有我的汇编代码并已获得我的exe从中 现在我需要取回它的十六进制 xff xab x55等等 在li
  • 如何在 Debian 上编译 DOS 程序?

    在我的汇编语言课程中 我们使用 DPMI 编写 DOS 程序 不幸的是 我无法一直使用 32 位 Windows 机器 我在我使用的几乎每台计算机上都安装了 Debian 虚拟机 我已经安装了 DOSBox 和 DOSEMU 有什么办法可以
  • 为什么如果内存组织为字,则程序计数器加 1;如果内存组织为字节,则程序计数器加 2?

    如果在计算机中一条指令是 16 位 并且如果存储器被组织为 16 位字 则通过在当前指令的地址中加 1 来计算下一条指令的地址 如果内存是按字节组织的 可以单独寻址 那么我们需要在当前指令地址上加二 得到顺序执行的下一条指令的地址 为什么会
  • CPU寄存器和多任务处理

    我目前正在学习汇编 我很困惑 CPU 寄存器如何与多任务一起工作 所以在多任务系统中 CPU可以随时暂停某个程序的执行并运行另一个程序 那么在这一步中寄存器值是如何保存的呢 寄存器是压入堆栈还是以其他方式 CPU 寄存器如何与多任务一起工作
  • 阴影空间示例

    EDIT 我接受了下面的答案 并添加了我自己的代码的最终修订版 希望它向人们展示影子空间分配的实际示例 而不是更多的文字 编辑 2 我还设法在 YouTube 视频 所有内容 的注释中找到了一个调用约定 PDF 的链接 其中有一些关于 Li
  • 如何使用movntdqa避免缓存污染?

    我正在尝试编写一个 memcpy 函数 该函数不会将源内存加载到 CPU 缓存中 目的是避免缓存污染 下面的 memcpy 函数可以工作 但会像标准 memcpy 一样污染缓存 我正在使用带有 Visual C 2008 Express 的
  • 为什么 clang 使用 -O0 生成低效的 asm(对于这个简单的浮点和)?

    我正在 llvm clang Apple LLVM 版本 8 0 0 clang 800 0 42 1 上反汇编此代码 int main float a 0 151234 float b 0 2 float c a b printf f c
  • 这种没有推送寄存器的交换有多安全?

    我对汇编非常陌生 下面的代码应该通过两个不同的函数交换两个整数 首先使用swap c然后使用swap asm 但我怀疑 我是否需要push 我的意思是保存 汇编代码之前寄存器的每个值和pop稍后 就在返回之前 main 换句话说 如果我返回
  • 缓存一致性是否始终可以防止读取过时的值?失效队列允许吗?

    在 MESI 协议中 仅当将缓存行保持在独占 修改状态时才写入缓存行 要获取独占状态 您可以向持有同一高速缓存行的所有核心发送无效请求 但是是否存在一种微架构 其中某些内核会在实际使缓存线无效之前做出确认响应 如果确实如此 那不是违反了缓存
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • LC3 LEA指令和存储的值

    我对这个问题感到困惑 指令后寄存器0中存储的值是多少 LEA R0 A 被处决了吗 为什么答案是x370C 我认为应该将A的地址加载到R0中 如果是这样我们怎么知道地址 有人可以帮忙吗 非常感谢 ORIG X3700 LEA R0 A LD
  • 为什么在展开的 ADD 循环内重新初始化寄存器会使其运行速度更快,即使循环内有更多指令?

    我有以下代码 include
  • 为什么 printf 使用浮点和整数格式说明符打印随机值

    我在64位机器上写了一个简单的代码 int main printf d 2 443 所以 这就是编译器的行为方式 它将识别第二个参数为双精度型 因此它将在堆栈上压入 8 个字节 或者可能只是在调用之间使用寄存器来访问变量 d需要 4 字节整
  • 为什么X86中没有NAND、NOR和XNOR指令?

    它们是您可以在计算机上执行的最简单的 指令 之一 它们是我亲自实施的第一个指令 执行 NOT AND x y 会使执行时间和依赖链长度和代码大小加倍 BMI1 引入了 andnot 这是一个有意义的补充 是一个独特的操作 为什么不是这个问题
  • 何时可以重用avx指令中的源寄存器

    在 avx 指令中用作源的寄存器何时可以在指令开始处理后重用 例如 我想使用vgatherdps该指令消耗两个 ymm 寄存器 其中之一是位移索引 我意识到vgatherdps由于数据的局部性较差 因此需要花费大量时间来收集 位移索引寄存器
  • 汇编器8086将32位数字除以16位数字

    我尝试将 32 位数字除以 16 位数字 例如 10000000h 除以 2000h 根据我尝试做的设计除以 右 4 位数字除以除数 然后左 4 位数字除以除数 这是我的代码 DATA num dd 10000000h divisor dw
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • Intel:序列化指令和分支预测

    英特尔架构开发人员手册 http www intel com content www us en architecture and technology 64 ia 32 architectures software developer v

随机推荐

  • hadoop HDFS中有ln吗

    有没有ln s在hadoop HDFS 中 例如 我在 HDFS 中有 10 个文件 user hadoop input 即1 txt 2 txt 10 txt HDFS 中的另一个目录是 user hadoop test 我只想复制 1
  • 存储库内 Database.SetInitializer(null) 的目的?

    我正在使用实体框架 并在我的上下文中继承自 DbContext public class MyContext DbContext IMyContext static MyContext Database SetInitializer
  • 评估 LightFM 推荐模型

    我一直在玩lightfm很长一段时间以来 我发现生成推荐确实很有用 但是 我想知道两个主要问题 在推荐排名很重要的情况下评估 LightFM 模型 我应该更多地依赖precision k或其他提供的评估指标 例如AUC score 在什么情
  • Spring/Hibernate如何访问私有成员?

    如您所知 Spring 可以向私有实例变量注入值 而 Hibernate 可以访问持久类的私有变量 但是 我什至无法通过反射调用类的受保护方法 Spring 和 Hibernate 怎么能如此公然破坏安全呢 更重要的是 我该怎么做 D 当没
  • 如何在 blazor 服务器端应用程序中检测移动设备?

    我需要检测 blazor 服务器端应用程序的用户是否正在使用移动设备 有什么办法可以查出用户正在使用哪个设备 我知道我可以使用 JSRuntime 来完成 但是有什么方法可以使用纯 C 来解决这个问题吗 您可以在应用程序的 JavaScri
  • 在 JavaFX 中,我应该使用 CSS 或 setter 方法来更改 UI 节点上的属性吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 有两种方法可以在 UI 节点 标签 按钮等 上设置属性 我可以使用这样的东西 Button b new Button Sample b setTextFill Paint valueOf
  • 如何在 thymeleaf th:each 中使用另一个属性进行比较来过滤集合

    我正在尝试按照以下 url 中的示例使用 Thymeleaf 过滤集合 馆藏投影与选择 部分 http doanduyhai wordpress com 2012 04 14 spring mvc part iv thymeleaf adv
  • R ggplot组内的排序条

    我正在尝试在 R 中格式化分组条形图ggplot这样每组的条形都按降序排列 这是我当前的情节 基于此数据框 gt top categories Category Count Community 1 Singer Songwriters 15
  • AngularJS 模块声明的最佳实践?

    我的应用程序中声明了一堆 Angular 模块 我最初开始使用 链接 语法来声明它们 如下所示 angular module mymodule controller myctrl dep1 function dep1 service mys
  • SQL中(+)是什么意思?

    此 SQL 语句中Where 子句中的 是什么意思 SELECT p FIRSTNAME p LASTNAME p LOGINNAME a DESCRIPTION a PERIPHERALNUMBER a SUPERVISORAGENT t
  • 如何在 ApacheDS 上解锁用户

    我设置了启用默认密码策略的 ApacheDS 为了进行测试 我通过多次输入错误的凭据来锁定一个简单的用户 objectClass 用一些自定义用户对象类扩展的人 正如我所料 用户被锁定 错误消息 用户被永久锁定 现在的问题是 如何再次解锁用
  • ElasticSearch 在文档插入时运行脚本(插入 API)

    是否可以指定一个script插入文档时执行弹性搜索使用它的索引API 当使用其新信息更新现有文档时 存在此功能更新API 通过传递scriptHTTP 请求正文中的属性 我认为它在 Index API 中也很有用 因为用户可能希望在插入期间
  • 无法使用 AVAssetExportSession 修剪视频

    我想剪辑视频 void trimVideo NSURL outputURL NSFileManager defaultManager removeItemAtURL outputURL error nil AVURLAsset asset
  • 从我自己的应用程序中启动 Apple Mail 应用程序?

    我已经发现的是 UIApplication sharedApplication openURL NSURL URLWithString mailto 但我只想打开邮件应用程序 而不仅仅是编辑器视图 只是邮件应用程序处于正常或最后状态 有任何
  • 如何防止Java超出容器内存限制?

    我正在 Docker 容器内运行 Java 程序 该容器的硬内存限制为 4GB 我已将最大堆设置为 3GB 但 Java 程序仍然超出限制并被杀死 OOMKilled 我的问题是 如何配置 Java 以尊重设置的容器限制并抛出 OutOfM
  • 如何使用 pdfkit 和 Node js 通过管道传输流

    在 PDFkit 0 5 之前 以下内容对我有用 通过 pdfkit 生成 pdf 通过 ipp 打印到 CUPS var ipp require ipp var PDFDocument require pdfkit var doc new
  • 无法单击 z 索引为负的文本框

    我在屏幕中间有一个文本框 但是当我单击它时 没有记录任何点击 我认为这是 CSS Z Index 问题 我该如何诊断和解决这个问题 JsFiddle div container z index 1 position relative hei
  • 如何在 JSP 中呈现递归集合

    我有一个后端服务 它返回给我一个Info目的 这Info对象有一个列表FolderGroup对象又具有列表FolderGroup物体等等 基本上它是代表文件夹和子文件夹 但在我的 JSP 页面中 我不知道要迭代到什么深度 JSTL 如何处理
  • webpack 4 反应意外令牌...(扩展运算符)

    最近我已经实施了Webpack 4为我的设置react app My webpack config js看起来像这样 const HtmlWebPackPlugin require html webpack plugin const htm
  • 在编译时从 MASM/MASM64 检测架构

    如何在编译时从 ASM 源文件检测目标架构是 I386 还是 AMD64 我正在使用 masm ml exe masm64 ml64 exe 来汇编 file32 asm 和 file64 asm 最好创建一个文件 file asm 其中应