问题标签 [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 投票
1 回答
51 浏览

assembly - 为什么这会出现段错误?

我想argv[1]从另一个例程而不是从启动例程(这是入口点)打印(在 C 终端学中)。但它给出了一个段错误:

有人可以解释一下吗?

0 投票
2 回答
405 浏览

assembly - 在 fasm (MS-DOS) 中访问 0xF000FFFE(计算机类型)的内存

问题是:我需要从 BIOS 内存中获取“计算机”类型。我知道,我可以在 fasm 中这样做(我的程序和所有段都是 16 位):

但这会返回零,这是不对的,因为 turbo c++ 3.1 中的等效代码

使用 LARGE 模型(在代码生成设置中)时,返回我计算机的正确“类型” 。那么如何在 fasm 中修复它?(例如我知道,masm 有 .model 指令,但 fasm 中没有这样的东西)。请帮忙...

0 投票
1 回答
860 浏览

dos - FASM:显示字符串的宏

我想在 FASM 中创建宏,它可以像这样直接打印字符串(int DOS):

我写了这样的代码:

问题是:当我将 _DATA@16 段留空(没有任何变量)时,一切都很好。但是当我在该段中定义新变量时,一些原始的额外符号开始出现如下:http ://board.flatassembler.net/files/err_758.png

那你能帮帮我吗?我的错误在哪里?也许我选择了错误的方式来实现我想要的东西?请帮忙....

0 投票
2 回答
4493 浏览

assembly - 如何使用大数?

如何使用大数?像 3441881739,30000000 等

在这种情况下,eax 值为负数。如何解决?分吗?如何?我还需要执行 add/sub/mul/div 等cmp操作。

有人可以解释并举例说明如何做到这一点吗?

我标记fasmnasm标记,但也欢迎其他组件。我在 32 位机器上。

0 投票
0 回答
942 浏览

c# - C# 语言的 JIT 汇编程序

我正在编写一个内存编辑库,我有兴趣在 C# 中动态编写 asm 代码。我特别喜欢 FASM,所以我找到了一个名为 Fasm_managed 的​​库,它可以即时组装我的 x86 asm 代码。现在,我遇到了一个问题,我也需要汇编 x64 代码,但不幸的是,这个库不支持它。

有谁知道一个好的 C# JIT 汇编程序库,它可以编译 x86/x64 asm 代码(理想情况下是 FASM 语法)?:)

我正在寻找的一个很好的例子是库AsmJit(但这个仅适用于 C/C++)。

多谢你们。

0 投票
2 回答
643 浏览

windows - 装配计数程序

我是组装新手,我正在尝试制作一个计数高达 10,000 并退出的程序。我正在使用 fasm `

它应该打印 Number 1 Number 2 Number 3 等,但它会打印 Number 2 Number 2 Number 2 Number 2 Number 2 等一段时间然后退出,无需等待用户输入。我的代码有什么问题?

编辑:我让它工作!工作代码:

.end 开始

0 投票
1 回答
1242 浏览

assembly - 如何修改flatassembler编译的汇编程序的导入表

我正在测试一个由flatassembler编译的汇编程序,它需要修改导入表,所以当我运行时objdump我可以看到程序试图调用哪些外部函数。

所以,我开始:

它正在调用 MS dll 中的一些函数,但导入表是错误的。

这是一个简单的部分,展示了我如何包含两个 dll 和一个函数:

在汇编程序中必须做什么才能使外部函数显示在导入表中?

0 投票
1 回答
1549 浏览

assembly - 常数的平方根 (masm, fasm)

大家好,我需要在程序集源中声明一些常量。在程序的某个部分,我需要这些常量之一的(整数)平方根来限制循环。我的问题是:这甚至可能吗?

到目前为止,我尝试了类似的方法:

当然我可以在运行时计算它,但这对我来说是无稽之谈......当然我可以做一个解决方法,比如:

但通过这种方式,我只能得到 nMax 的完美平方值,而这并不是我所需要的......

谢谢你的帮助!:)

0 投票
3 回答
2661 浏览

assembly - 错误:FASM x86 程序集中的值超出范围

为什么我要error: value out of range.输入以下代码?

我想将 的地址"abcdlol"放入eax寄存器,但看起来这不是 FASM 正在复制的值eax

C代码中的一个例子:int *p="lol";

如何解决这个问题?这是汇编程序的限制吗?

0 投票
1 回答
430 浏览

windows - 检测关键事件

我在尝试检测 x86 汇编语言中的关键事件时遇到了麻烦。当我运行我的程序时,我得到这个一般错误:

key.exe 遇到问题,需要关闭。对此造成的不便,我们表示歉意。

我的汇编程序 fasm 生成一个 .bin 文件、一个 .exe 文件和一个 .com 文件。如果我尝试运行 .com 文件,会弹出一个消息框,提示图像文件有效,但适用于当前机器以外的机器类型。

这是我的代码:

我使用的是 x64 版本的 windows xp,但它与 32 位应用程序兼容。