
[英]Why does not console accept reverse line feed?
所以,我想在控制台上创建一个生活模拟器游戏。 为此,我需要将 cursor 向上移动,以便我可以重写它,我可以使用 . 我在控制台上尝试: 这给了我结果: 这是预期的结果,证明我的控制台接受了该字符。 但是,当我在 NASM 中尝试完全相同的事情时, 像这样运行它, 我明白了 这是为什么? 在我的 ...
[英]Why does not console accept reverse line feed?
所以,我想在控制台上创建一个生活模拟器游戏。 为此,我需要将 cursor 向上移动,以便我可以重写它,我可以使用 . 我在控制台上尝试: 这给了我结果: 这是预期的结果,证明我的控制台接受了该字符。 但是,当我在 NASM 中尝试完全相同的事情时, 像这样运行它, 我明白了 这是为什么? 在我的 ...
[英]undefined symbol : crt__itow_s
我得到一段代码: 把_itow_s改成crt__itow_s后,报错:undefined symbol: crt__itow_s。 _itow_s 在 msvcrt.lib 中吗? 如何在 masm32 中传递 _itow_s function。 ...
[英]Convert assembly instruction set to16-bit numbers
下面我有一个问题,但我正在努力弄清楚如何做到这一点 go。 非常感谢任何建议或帮助。 下面是机器的指令集: 0x00 halt -- 终止程序 0x01 nop——什么都不做 0x02 li -- 立即加载:li R1 0x00000000 将 0x00000000 加载到 R1 0x03 lw ...
[英]Learn both x86 and x64 Assembly for windows and use them as exe files
我想学习如何为windows编写汇编,然后将它们汇编成exe文件供个人使用! 我想知道我可以用于此任务的任何资源我已经尝试使用教程并且它们有效,但我可以重新创建的大部分都是在 64 位程序集中,而我确实找到的 32 位程序集在 Windows 10 上不起作用。这可能是由于我缺乏经验。 我想了解如何 ...
[英]assembly language program to display a factorial of a number is not working
使用汇编语言和 DOSBox 显示阶乘数。 我的代码的结果是: 输入数字:5 阶乘为 5 ...
[英]Why is R8 being modified when using ADDS instruction?
我正在使用 ARMSIM 测试我的 Arm 汇编代码。 我看到 R8 无故更新。 当我使用常规 ADD 指令时,不会发生这种情况。 我知道 ADDS 会更新标志,但为什么是 R8? ...
[英]Why do I need to push the same value +4 when printing a float?
很长一段时间以来,我一直试图在 FASM 中打印一个浮点值,直到我终于找到了一个解决方案,它起作用了,但是,为什么会这样呢? 在一个 C 程序上,我让 x64dbg 生成的汇编代码是这样的: 我认为事实fld将浮点值加载到 st(0) 中,而fstp将 st(0) 值加载到一个地址上,基本上,非常 ...
[英]Issue with operands types in RISC-V: sw with a label, no register
在我的 sw 行中,它表示操作数太少或不正确。 我以为我是把字符存到char_pos的position中。 char_pos 定义为 char1。 ...
[英]I'm trying to figure out some assembly language code generated by the Visual Studio compiler
我正在尝试找出由我接管的旧 C++ 项目的调试版本生成的一些汇编代码。 Windows-10 Visual Studio 2019。 我有一个看起来像这样的方法调用: 这是生成的汇编代码 评论是我的。 问题是“movs rep”行正在覆盖 memory——来自不同 class 的本地数据成员。我可 ...
[英]How does this compiler optimization work?
我在看woothash hash function, wyhash的重复 - 根据 SMHasher 项目,最好的 hash 函数之一。 GCC 和-O1都能够在 -O1(或更高级别,当然)执行非常深入的优化,我完全不明白他们 go 是如何从 900 多行 asm 中使用-Og的,它紧跟源代码, ...
[英]How do I flush in RISC-V assembly?
我正在尝试翻译while ((getchar());= '\n'); 进入组装,但我发现它很困难。 ...
[英]MASM32 Assembly does not work in Visual Studio
我想开始学习汇编,但它没有任何运行方式。 首先,我尝试使用 py il 和 python 但它没有用。 现在我有一个 Visual Studio 2022,我安装了 MASM32。 问题是 Visual Studio 给出了 A1000 错误,所以它找不到文件,第二个错误: MSB3721 命令“ ...
[英]Any operation/fence available weaker than release but still offering synchronize-with semantic?
std::memory_order_release和std::memory_order_acquire操作提供同步语义。 除此之外, std::memory_order_release保证所有加载和存储不能在释放操作之后重新排序。 问题: C++20/23 中是否有任何东西提供相同的同步语义但 ...
[英]Converting numbers to hexadecimal ASCII characters in MIPS assembly
我目前正在做一项作业,我需要编写一个名为“hexasc”的汇编语言子例程,将 0 到 15 范围内的数字转换为可打印的 ASCII 编码字符(“0”到“9”,或“A” ' 到 'F',具体取决于数量)。 我正在使用 MARS 模拟器。 我尝试使用基本的汇编语言指令(例如“li”和“move”)编写子 ...
[英]Why are the x86 bit-string manipulation instructions slow with a memory destination? (BTS, BTR, BTC)
Agner发现,在大多数支持它们的处理器上,应用于 memory 操作数的 x86 位操作指令(btr bts btc,无锁)比其他读-修改-写指令(如 add、xor 等)慢。 为什么是这样? 这些说明似乎很容易实现。 是否因为实际加载的地址与 memory 操作数指定的地址不同,这混淆了一些 ...
[英]MOV instructions opcode differences r/m32, imm32 and r32, imm32
这些是英特尔® 64 和 IA-32 架构软件开发人员手册中针对此问题的MOV指令操作码C7 /0 id MOV r/m32, imm32 MI Valid Valid Move imm32 to r/m32. B8+ rd id MOV r32, imm32 OI Valid Valid Mov ...
[英]Is there a way to treat the register file as an array in ARMv8 (scalar or Neon)?
假设我有一个短数组v ,例如 8 int64_t 。 我有一个算法需要访问该数组的不同元素,这些元素不是编译时常量,例如v[(i + j)/2] +=...之类的东西,其中i和j是不受约束的变量任何一种持续传播。 通常我会保留数组 I memory,计算数组索引,从 memory 加载数组到那个 ...
[英]RV32IM assembly for 64-bit value
假设数据是32 位整数(a、X、Y 和 Z 是 32 位长),我从以下 C 代码实现了一个 RV32IM 汇编程序。 我验证了我的工作,结果是正确的。 我的 32 位数据工作 现在, Implement with data 是64-bit integer (a, X, Y, Z are 64-bit ...
[英]How to search for 8-bit value in a memory area and output the memory address? SBC86 Assembly
我必须为大学创建一个程序,用于在 memory 区域 C000H-CFFFH(SBC86 的监控程序)中搜索先前指定的 8 位值。 我们使用 i8086 模拟器。 但是我完全不知道我究竟是如何搜索 memory 区域和 output 找到的 memory 地址的值。 ...
[英]C Assembly : Return value from %eax beyond jump instruction error: expected ‘)’ before ‘:’ token
在下面 c function #1 返回值存放在eax寄存器中这在 gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 上编译得很好但是由于错误执行在其他地方抱怨 所以为了让 gcc 可以接受werror我添加了一个堆栈变量作为返回值到 #1 即使在非错误情况下,gc ...