为什么 C++/CLI 中的内联汇编会产生可怕的问题?
我在 C++/CLI 中使用内联汇编。事实上,可怕的问题可能是我观察到的一个错误。 我将向量从一个函数调用传递到另一个函数调用。如果我在被调用函数中注…
C++内联汇编功能无法正常工作
我每次都会得到不同的返回值,所以我做错了。如果我用基本的 inc 替换 add ,它会正确返回。 这是代码。 #define WIN32_LEAN_AND_MEAN #include <Wi…
使用 ARM Assembly 生成随机数
我想通过在我的 Objective-C 代码中内联一些程序集来生成随机数以在我的 iphone 项目中使用它,这可以通过 arm-assemble 实现吗?…
Borland c++ WORD PTR 和字符串的内联汇编问题
我正在为 8086 处理器编写小内核(在 BC3.1 中工作,在 Windows XP 上作为主机操作系统)。内核是多线程的,因此当我使用 printf 或 cout 进行调试时…
使用 GCC 内联汇编直接调用 C 函数
如果您想从内联汇编中调用 C/C++ 函数,您可以执行以下操作: void callee() {} void caller() { asm("call *%0" : : "r"(callee)) } 然后,GCC 将发…
使用基于堆的数据调用以堆栈对象作为参数的函数
我有一个复杂的问题需要解决,因为我陷入困境并且根本找不到解决这个问题的方法。 这是一段代码 struct MyStruct { int x float y char c } void foo(…
“asm”、“__asm”和“asm”有什么区别?和“__asm__”?
据我所知, __asm { ... } 和 __asm__("...") 之间的唯一区别是第一个使用 mov eax, var 第二个使用 movl %0, %êx 并在末尾添加 :"=r" (var) 。还有哪…
使用嵌入式汇编器编译错误
我不明白为什么这段代码 #include <iostream> using namespace std int main(){ int result=0 _asm{ mov eax,3 MUL eax,3 mov result,eax } cout&…
Linux上的C内联汇编,将字符串从堆栈写入到stdout
我如何将字符串(例如“Hello”)从堆栈写入标准输出?也就是说,没有数据段。 void main() { __asm__( "movl $0x4, êx \n\t" "movl $0x1, ëx \n\t" /…
C# 中的 x86/x64 CPUID
与我的其他问题相关,请帮忙me debug“未知模块中发生了类型为‘System.AccessViolationException’的未处理异常。其他信息:尝试读取或写入受保护的…
如何将全 1 加载到 mmx 寄存器中?为什么这不起作用?
当我搜索时,除了关于 64/32 位内容的意见问题之外,似乎找不到任何其他内容。 __asm__ { mov rbx, 0xFFFFffffFFFFffffull movq mm2, rbx } 根据我的 …
64 位问题:尝试使用内联汇编将值从 %rsp 复制到临时变量中
我正在参加一个操作系统设计课程,他们为我们提供了一个用 C 语言编写的微内核,我们正在其上进行构建。内核似乎是为 32 位机器设计的,而我正在运行…
我的第一个汇编程序出错(GCC 内联汇编)
经过大量的互联网研究后,我在 C++ 程序中实现了一个小型汇编程序例程,以使用 cpuid 获取 CPU 的 L1 缓存大小。 int CPUID_getL1CacheSize() { int l…