汇编语言(asm)编程问题。请务必使用您正在使用的处理器和/或指令集以及汇编程序。警告:对于.NET程序集,请改用标签[.net-assembly]。对于Java ASM,请改用标签[java-bytecode-asm]。
我正在从 ctypes 调用 NASM 64 位 DLL。该 dll 有五个输入参数。在 Windows 调用约定中,前四个在 rcx、rdx、r8 和 r9 中传递,第五个在
我尝试从 C++ 调用 ASM 函数,但收到错误“未解析的外部符号引用” 我的 C++ 代码: 外部无效 foo(); int main() { foo(); 返回0; } 我的汇编代码: .t 节...
我意识到我从来没有真正想过这个。 如果我创建了一个足够大的递归调用链,堆栈最终会不会增长得足够小,以至于它会与其他东西重叠,比如共享库(
为什么 GCC 和 Clang 会在两个分支上弹出而不是只弹出一次?
GCC 和 Clang 都可以编译 布尔预测(); 无效 f(); 无效 g(); 无效 h() { 如果(预测()){ F(); } 别的 { G(); } } 到一些变化 # Clang -Os 输出。 -O3是一样的 哈...
我一直在用汇编语言开发这个计算器,但我不知道我做错了什么。它输出的是第一个字符串,但我认为此后它不会得到我的输入。 我将附上代码,以便...
我正在 mars 4.5 上进行 mips 编程。这是示例代码: 。数据 一半:.float 0.1 。文本 l.s $f12,一半 li $v0, 2 系统调用 我的目的是打印数字 0.1,a...
为什么按值获取 std::unique_ptr 的函数不调用 gcc/clang 中的析构函数?
查看以下简单 C++ 函数的汇编输出: #包括 int square(std::unique_ptr num) { 返回 *num * *num; } Gcc 和 clang 发出以下内容
我对装配非常陌生,我正在尝试致电: /bin/bash -c“回显你好;ls -la” 我将“/bin/bash”命令存储为字符串,并将其地址存储在 RBX 和 RDI 中。 RAX 为 59
我想计算单词的长度,但有错误。我不明白为什么。 int new_strlen(字符* 字) { int 长度 = 0; __asm__(“mov ecx,100 ” ...
你能告诉我如何使这段代码能够看到C:驱动器并正常工作吗? 包括 \masm64\include64\masm64rt.inc 。数据 BS 设备 128 Fname BYTE "C:\",0 ; ms1 db“可用空间...
汇编中的 MOVZX (NASM) - 当未指定源大小且目标为 16 位时,它如何选择源大小?
我对下面示例中 movzx 的行为感到有点困惑。 (请注意,我假设我的代码示例中使用的 print_int 函数有效,问题不在那里,而是在我的
大家好,堆栈溢出者, 我准备创建一个程序,当主队在足球模拟器 FIFA 19 中实际进球时播放主队进球赞歌。 我知道没有开放的 API...
为什么MIPS中的堆栈指针通常从0x7FFFFFFC开始,而不是从0x80000000开始?
根据 Patterson & Hennessy 的《计算机组织与设计》(MIPS 版), 堆栈指针 $sp 通常初始化为 0x7FFFFFFC。 堆栈指针 $sp 始终指向 ...
为什么MIPS堆栈基址是0x7ffffffc而不是0x80000000
为什么MIPS堆栈基址是0x7ffffffc而不是0x80000000? 如果我理解正确的话,堆栈指针指的是放置在堆栈上的最后一项。那么,如果是这样的话,那是不是意味着……
.型号小 .堆栈100 。数据 号码 DW 54 。代码 主程序 MOV AX,@数据 MOV DS,AX MOV 斧头,数字 MOV BX,1 莫夫CX,0 尽管_: DIV BX CMP DX,0 杰检查 MOV 斧头,数字 公司BX CMP BX,AX JL WHI...
我不太确定如何简洁地提出这个问题,所以如果已经提出并回答了这个问题,我深表歉意。 我正在使用 32 位伪寄存器访问外设 F 的 ARM 平台...
我正在为 Raspberry Pi 3B 开发一个简单的内核,旨在在所有四个内核上运行基本任务。然而,似乎只有主核心在运行 kernel_init,而其他核心从未运行过...
我无法在我编写的程序中找到错误所在。 我需要在输入 1240 时打印出来。 给我 4 个十六进制数字:1240 1 1 美元商品 1 件 2 美元商品 1 件 3 美元商品 0 4 美元商品 0 $5 我...
如何修复“boot.asm:21:错误:符号‘puts.mpmp’未定义”
这是我的代码 组织0x7C00 位 16 %定义ENDL 0x0D,0x0A 开始: 跳转主要 把: 推斯 推斧 。环形: 洛兹布 或阿尔,阿尔 jz.完成 移动 bh, 0 整数 0x10 跳转.mpmp 。完毕: 流行斧头 流行斯 雷特 主要的: ...
我面临着关于 8086 汇编语言中的阿姆斯特朗数字的问题。该代码在 0 到 9 的范围内工作,但我希望它是 3 位数字
.型号小 .stack 100h 。数据 msg1 db "请输入一个三位数:$" msg2 db“阿姆斯特朗号!” msg3 db“不是阿姆斯特朗数字!” notValid db“请输入 3-d...