问题标签 [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.
assembly - 为什么这会出现段错误?
我想argv[1]
从另一个例程而不是从启动例程(这是入口点)打印(在 C 终端学中)。但它给出了一个段错误:
有人可以解释一下吗?
assembly - 在 fasm (MS-DOS) 中访问 0xF000FFFE(计算机类型)的内存
问题是:我需要从 BIOS 内存中获取“计算机”类型。我知道,我可以在 fasm 中这样做(我的程序和所有段都是 16 位):
但这会返回零,这是不对的,因为 turbo c++ 3.1 中的等效代码
使用 LARGE 模型(在代码生成设置中)时,返回我计算机的正确“类型” 。那么如何在 fasm 中修复它?(例如我知道,masm 有 .model 指令,但 fasm 中没有这样的东西)。请帮忙...
dos - FASM:显示字符串的宏
我想在 FASM 中创建宏,它可以像这样直接打印字符串(int DOS):
我写了这样的代码:
问题是:当我将 _DATA@16 段留空(没有任何变量)时,一切都很好。但是当我在该段中定义新变量时,一些原始的额外符号开始出现如下:http ://board.flatassembler.net/files/err_758.png
那你能帮帮我吗?我的错误在哪里?也许我选择了错误的方式来实现我想要的东西?请帮忙....
assembly - 如何使用大数?
如何使用大数?像 3441881739,30000000 等
在这种情况下,eax 值为负数。如何解决?分吗?如何?我还需要执行 add/sub/mul/div 等cmp
操作。
有人可以解释并举例说明如何做到这一点吗?
我标记fasm
和nasm
标记,但也欢迎其他组件。我在 32 位机器上。
c# - C# 语言的 JIT 汇编程序
我正在编写一个内存编辑库,我有兴趣在 C# 中动态编写 asm 代码。我特别喜欢 FASM,所以我找到了一个名为 Fasm_managed 的库,它可以即时组装我的 x86 asm 代码。现在,我遇到了一个问题,我也需要汇编 x64 代码,但不幸的是,这个库不支持它。
有谁知道一个好的 C# JIT 汇编程序库,它可以编译 x86/x64 asm 代码(理想情况下是 FASM 语法)?:)
我正在寻找的一个很好的例子是库AsmJit(但这个仅适用于 C/C++)。
多谢你们。
windows - 装配计数程序
我是组装新手,我正在尝试制作一个计数高达 10,000 并退出的程序。我正在使用 fasm `
它应该打印 Number 1 Number 2 Number 3 等,但它会打印 Number 2 Number 2 Number 2 Number 2 Number 2 等一段时间然后退出,无需等待用户输入。我的代码有什么问题?
编辑:我让它工作!工作代码:
.end 开始
assembly - 如何修改flatassembler编译的汇编程序的导入表
我正在测试一个由flatassembler编译的汇编程序,它需要修改导入表,所以当我运行时objdump
我可以看到程序试图调用哪些外部函数。
所以,我开始:
它正在调用 MS dll 中的一些函数,但导入表是错误的。
这是一个简单的部分,展示了我如何包含两个 dll 和一个函数:
在汇编程序中必须做什么才能使外部函数显示在导入表中?
assembly - 常数的平方根 (masm, fasm)
大家好,我需要在程序集源中声明一些常量。在程序的某个部分,我需要这些常量之一的(整数)平方根来限制循环。我的问题是:这甚至可能吗?
到目前为止,我尝试了类似的方法:
当然我可以在运行时计算它,但这对我来说是无稽之谈......当然我可以做一个解决方法,比如:
但通过这种方式,我只能得到 nMax 的完美平方值,而这并不是我所需要的......
谢谢你的帮助!:)
assembly - 错误:FASM x86 程序集中的值超出范围
为什么我要error: value out of range.
输入以下代码?
我想将 的地址"abcdlol"
放入eax
寄存器,但看起来这不是 FASM 正在复制的值eax
。
C代码中的一个例子:int *p="lol";
如何解决这个问题?这是汇编程序的限制吗?
windows - 检测关键事件
我在尝试检测 x86 汇编语言中的关键事件时遇到了麻烦。当我运行我的程序时,我得到这个一般错误:
key.exe 遇到问题,需要关闭。对此造成的不便,我们表示歉意。
我的汇编程序 fasm 生成一个 .bin 文件、一个 .exe 文件和一个 .com 文件。如果我尝试运行 .com 文件,会弹出一个消息框,提示图像文件有效,但适用于当前机器以外的机器类型。
这是我的代码:
我使用的是 x64 版本的 windows xp,但它与 32 位应用程序兼容。