汇编Pushf,pop命令,子changig结果?
我对此汇编代码有疑问: %include "io.inc" section .text global CMAIN CMAIN: ;write your code here mov eax, 0FFFFFFFh mov ebx, 0FFFFFFFh sub e…
NASM如何定义和后来引用一系列Strucs?
假设我在这样定义的NASM中有一个 Struc : struc tcb_t .a resb 1 .b resb 1 endstruc 我想拥有上述类型的一系列实例。假设我最多有64个线程,每个线…
为什么``printf'printf'printf'%hu%```''''in stack而不是堆栈2?
我正在研究组装基础知识,并且经常使用 printf (我认为我从C/C ++经验中足够了解)。我遇到了带有2个字节(16位)值的奇怪的事情: 在32位模式下,使…
为什么OpenVolume在QEMU中引起#GD错误?
我正在研究UEFI应用程序的NASM实施。我需要做的一件事是在其“文件系统”上读取文件。为此,我使用的是EFI_SIMPLE_FILE_SYSTEM协议和OpenVolume方法。…
为什么printf仍然可以使用RAX低于XMM寄存器中的FP ARG数量?
我关注Linux 64系统中的“ Benter X64组装编程”一书。我正在使用NASM和GCC。 在有关浮点操作的一章中,该书指定了以下代码添加2个浮点数。在本书和其…
商店,程序;在nasm的表中
假设我在.rodata中有一个 table 可以存储过程偏移,因此我可以使用: call [table + index] 为了调用我的代码中定义的过程。可以在图片中实现吗?如何…
针对`.text'在汇编中执行分支查找开关时,无法使用PIE对象时使用
我正在x86-64汇编中编写一个项目,我想使用分支查找表编写一个有效的开关语句。但是,我会遇到独立错误。 我将从我的代码开始。大会取自这个答案。 汇…
如何在没有C库中的PRONTF的情况下在装配级别编程中打印一个整数? (ITOA,整数到小数ASCII字符串)
谁能告诉我纯粹的汇编代码,用于以小数格式显示寄存器的值?请不要建议使用printf hack,然后使用GCC编译。 描述: 嗯,我对NASM进行了一些研究并进行…
添加指令表格,英特尔手册没有描述操作数大小覆盖“字节”或“ word&quot”
我正在查看一个由NASM组装的Intel组装的示例。它具有说明: add byte [ebx], 32 我从文档中如何知道“字节”是什么? 我正在阅读的书在文本中解释了“…
如何在组装中获得相等的数字
我必须在数组极数 - x 中找到并返回索引(其中第一个是 0,第二个是 1 ...)。在 SASM 中,它在 for 循环中停止并给我 SEG 错误。我该如何修复它? ..…
如何使用WSL中使用GDB进行Windows的可执行文件?
坦率地说,我什至不确定这是否是 GDB 可以做的事情,但到目前为止我所做的大量搜索都没有给我一个“是”或“否”的答案。 当我尝试使用为 Linux 构建…
为什么在存储超过 BSS 末尾时没有出现分段错误?
我正在尝试使用汇编语言并编写了一个程序,该程序将 2 个硬编码字节打印到标准输出中。如下: section .text global _start _start: mov eax, 0x0A31 …