问题标签 [fasm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
109 浏览

linux - 链接的汇编子例程无法按预期工作

我正在 FASM 中编写一个简单的子程序来将 32 位无符号整数打印到 STDOUT。这就是我想出的:

然后我又写了一个程序来测试上面的子程序是否正常工作:

我将这两个程序编译为它们相应的目标文件,并将它们链接起来以创建可执行文件。

然而,在执行程序时,它只显示7而不是1337. 事实证明,无论数字本身如何,都只显示数字的最后一位。

这很奇怪,因为我的uprint子程序是正确的。事实上,如果我将这两个程序组合成一个程序,那么它会1337正确显示。

我究竟做错了什么?

0 投票
1 回答
412 浏览

compiler-construction - 是否有任何其他语言可以编译为 FASM?

FASM 是目前最快、最高效的 x86/64 汇编器,我将它用作我正在编写的一种新语言的编译器的后端。

因为我只使用 Ubuntu,所以我的编译器生成的 FASM 代码是特定于 Linux 的。但是我想让它跨平台兼容。

因此,我首先想研究其他也使用 FASM 作为后端的编译器。AFAIK 只有 Glasgow Haskell 编译器 (GHC) 可以做到这一点。

有谁知道产生跨平台兼容 FASM 代码的任何其他编译器?有良好文档的首选。

0 投票
1 回答
694 浏览

linux - 如何将 readline 库链接到目标文件?

我正在尝试在用 FASM 编写的程序中使用 GNU readline 库。这是我的汇编代码:

然后我编译并链接它如下:

但是,当我尝试执行./testbash 时,会出现以下错误消息:

test可执行文件存在于目录中。怎么了?我没有libreadline正确链接图书馆吗?

0 投票
0 回答
361 浏览

assembly - FASM 并发增量和 CPU 负载

我正在试验 FASM 以提高我对并发性的理解。我创建了一个程序,它有两个线程,每个线程都产生一定数量的lock xadd. 我在 i7 上的 Win7 64bit 上运行它,我得到了非常有趣的结果。虽然程序本身可以正常工作,但它加载了 4 个内核而不是我预期的两个内核。

任务管理器的“性能”显示清晰的 4 核负载 在此处输入图像描述

资源监视器的 CPU 选项卡显示我的进程有两个线程

有人可以提示为什么会发生这种情况吗?有没有办法判断哪个内核当前正在运行我的 FASM 程序中的一段代码(只是为了确保内核确实不同)?

0 投票
1 回答
877 浏览

windows - Win32 FASM .inc 文件之间的差异

Flat Assembler 中的 win32a、win32ax、win32axp、win32w、win32wx 和 win32wxp .inc 文件有什么区别?我试图在 FASM 文档中找到它,但我无法...

在此先感谢 ChristonianCoder

0 投票
1 回答
749 浏览

assembly - 关于FASM的一些问题

我是组装领域的新手,在我浪费时间和理智来学习它之前,我想问一些关于 FASM 的问题。

  1. 我读到 FASM 可以输出 COFF .obj 文件。这个 .obj 文件是否可以与从其他程序(如 GoRC(资源编译器))生成的其他 .obj 文件链接在一起。
  2. 如何在 Windows 中使使用 FASM 生成的可执行文件能够感知 UAC(例如让它们以管理员权限运行)
  3. 我在哪里可以找到 FASM 中的 asm 分步教程?
0 投票
1 回答
356 浏览

assembly - 从引导加载程序加载第二个扇区

我正在尝试加载软盘的第二扇区

我用 fasm 1.7 和 windows 7、VMware 测试了这段代码。制作软盘映像文件,我dd从 Ubuntu 13.04 开始使用,我也用来dd写入.bin.img

这是我的代码

结果=根本不打印'7'我怎么了?谢谢

0 投票
1 回答
357 浏览

windows - masm FPU 到 fasm FPU 无​​法翻译且无法正常工作

我在masm中有这段代码来处理FPU,效果很好

在这段代码中,我从 2 个不同的文本框中得到一个数字,然后将它们分开,然后将结果输出到另一个文本框

这是本地的数据

这是代码

我正在尝试将代码转换为 fasm

这是我到目前为止所拥有的,但它不起作用 textbox3 只是说 0

这是数据(这不是本地数据,因为我还没有学会如何在 fasm 中做到这一点)

这是代码

我知道这段代码不正确,因为我没有在开始时将文本转换为浮动,但我不知道如何

我也尝试了一个更简单的版本,它也不起作用

所以我的问题是有人可以告诉我如何从 2 个不同的文本框中读取一个数字,然后将它们分开,然后使用 fasm 代码将结果返回到另一个文本框

谢谢你

0 投票
1 回答
197 浏览

string - 如何比较 fasm 中超过 dword 大小的字符串?

我是一个组装新手,正在尝试编写文件搜索器之类的东西。我使用这个片段与 4 字母掩码 (FASM) 进行比较:

如何更改此代码段以使用 5 字母扩展名,例如“.docx”?谢谢你。

0 投票
1 回答
1616 浏览

string - 比较 FASM 中的两个字符串

当谈到 FASM 时,我是一个新手,而且对 ASM 来说一般来说还是很新的,但我正在尝试比较存储在“变量”中的两个字符串:user_inputexit_cmd

目前,它组装得很好,但是当我在提示中输入任何内容时它会崩溃。是的,我的代码很乱,我试图完成的任务似乎超出了我所知道的 ASM 水平,但我已经用其他语言完成了它,所以我正在用 ASM 进行尝试。

如果字符串匹配,您可以看到我正在使用宏CompareStrings(来源未知;它不是我的)设置EAX为 1,但是当我EAX使用 1CMPJE标签进行比较时,它拒绝工作。有什么帮助吗?

这是错误的代码: