Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
分配内存空间的宏
我需要让一个汇编程序员来计算帕斯卡三角形 https en wikipedia org wiki Pascal 27s triangle 这样帕斯卡三角形的每一行都与其他行分开存储在内存中 我想做一个 但我不知道如何使用宏在汇编中做到这一点
Assembly
x86
nasm
x8664
MASM
在 NASM 中使用 istruc 时:“警告:尝试初始化 BSS 部分‘.bss’中的内存:忽略 [-w+other]”
在搜索这个错误时我发现this https stackoverflow com questions 65731514 nasm attempt to initialize memory in bss section 77001709问题 但
Assembly
struct
compilererrors
warnings
nasm
最小操作码大小 x86-64 strlen 实现
我正在研究最小操作码大小x86 64 strlen我的代码高尔夫 二进制可执行文件的实现不应超过一定的大小 为简单起见 请考虑 demoscene 总体思路来自于here http www int80h org strlen 尺寸优化思路来
Assembly
nasm
x8664
yasm
为什么 printf 仍然可以在 RAX 小于 XMM 寄存器中 FP 参数数量的情况下工作?
我正在关注Linux 64系统中的 开始x64汇编编程 一书 我正在使用 NASM 和 gcc 在关于浮点运算的章节中 本书指定了以下用于添加 2 个浮点数的代码 在本书和其他在线资源中 我读到寄存器 RAX 根据调用约定指定要使用的 XM
Linux
Assembly
x8664
nasm
callingconvention
Gas 与 nasm:哪个汇编器生成最好的代码?
这两种工具都将汇编指令直接翻译成机器代码 但是是否有可能确定哪一个生成最快 最干净的代码 当你用汇编程序编写时 您正在准确地描述生成的指令所以它不依赖于汇编器 这取决于你 您编写的助记符与机器代码中的实际指令之间存在一一对应的关系
nasm
Assembly
gnuassembler
nasm idiv 为负值
尝试将正数除以负数 目前我的程序将正确划分 并且我可以正确访问其余部分 但是当我输入一个正数除以一个负值时 它根本不会被除 我知道有一种方法可以 签名扩展 并且它会正确划分 我只是看不懂说明书 movsss imm reg reg mem
Assembly
x8664
nasm
integerdivision
Little Endian 并推入 nasm
我不明白为什么代码的输出是Ole 小字节序不应该影响push命令 global start section data x dd 3 section text start mov eax 4 mov ebx 1 mov dword x 0x0
Assembly
x86
nasm
endianness
Windows 7 中 NASM 程序中的 I/O
我想用 NASM 汇编语言进行编程 我有 NASM 2 07 和 Borland C 编译器 5 0 bcc32 我的操作系统是Windows 7 我不知道如何在Windows平台上使用NASM进行输入和输出 请问你能帮我吗 最简单的方法是
nasm
使用 x64 汇编代码的基本输入
我正在编写有关汇编中基本输入和输出的教程 我使用的是 64 位 Linux 发行版 Ubuntu 在教程的第一部分中 我讨论了基本输出并创建了一个简单的程序 如下所示 global start section text start mov
Linux
Assembly
IO
nasm
x8664
如何在不链接libc.so的情况下访问段寄存器?
我正在尝试在 Ubuntu 20 10 上使用 NASM 版本 2 15 04 在 64 位程序集中编写一个简单的堆栈金丝雀 执行下面的代码会导致在使用命令进行汇编和链接时出现分段错误nasm felf64 canary asm ld ca
NASM 无法声明初始化数据[关闭]
Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 由于某种原因我无法编译 nasm 程序 如果我尝试在 data 部分中放入某些内容 则会出错 error comma expect
Assembly
nasm
x8664
assembly x86 qemu:致命:尝试在 RAM 或 ROM 之外执行代码
我正在开发一个非常基本的 shell 其中当前唯一的命令是 help 如果您输入错误 系统会通知您该命令无法识别 在段和堆栈设置的某个地方 我有一个错误 导致 shell 在我输入任何内容后吐出一些废话 然后完全冻结 我在终端中遇到错误 q
Assembly
operatingsystem
x86
nasm
qemu
printf 上的分段错误 - NASM 64 位 Linux
我尝试使用输入四个浮点数scanf 将它们存储到堆栈中 然后使用vmovupd将它们复制到寄存器以供使用 我的问题是 当我尝试输出这 4 个数字时 程序段错误位于printf 我认为这是堆栈的问题 但我尝试多次弹出 一次多条指令 但无济于事
Linux
Assembly
x8664
nasm
callingconvention
nasm:在运行时从 rip(指令指针)获取重定位二进制文件的偏移量
我有一个适用于 x86 64 的 multiboot2 兼容 ELF 文件 其中启动符号定义在start asm NASM 汇编文件 multiboot2 标头包含relocatable tag 因为 GRUB 不支持 multiboot2
Assembly
x8664
nasm
positionindependentcode
如何将以下 NASM 代码转换为 AT&T 语法,以修复“无法处理 jmp 中的非绝对段”错误
我是 AT T 语法新手 我想将以下 NASM 语法代码转换为 AT T 语法只是为了便于理解 我尝试将其转换为 AT T 语法 lgdt gdtpointer jmp gdtcode start gdt quad 0x0000000000
Assembly
x86
nasm
BootLoader
att
“mov eax, [num]”和“mov eax, num”之间的区别
我是一名初学者 正在编写汇编程序 使用以下代码打印从 1 到 9 的数字 section text global start start mov ecx 10 mov eax 1 l1 mov num eax mov eax 4 mov e
Assembly
x86
nasm
32bit
NASM 中 %define 和 equ 有什么区别?
Code define x 0x03 x equ 0x03 他们之间有什么区别 define是一种更强大的执行宏的方法 类似于 C 预处理器 在您的简单情况下 没有太大区别 使用x源代码中将导致常量3被替换 这其中有一个细微的差别equ语句
nasm
汇编部分 .code 和 .text 的行为不同
我是装配新手 从我所学到的 code与 text 但是使用下面的代码会崩溃 code segment data msg db hello world 0xa len equ msg section text global start sta
Assembly
x8664
nasm
ELF
汇编编码 strdup. Malloc 在共享库中调用
我有一个问题 调用 malloc 时无法编译 strdup 当我不调用 malloc 时 它会完美地编译我的共享库 所以如果有人可以帮助我 那就太好了 这是我的代码 BITS 64 DEFAULT REL global my strdup
Assembly
sharedlibraries
nasm
x8664
如何获取变量的地址并在 nasm x86 程序集中取消引用它?
在c语言中我们使用 获取变量的地址并 取消引用该变量 int variable 10 int pointer pointer variable 汇编中没有变量 variable db A 做几件事 它定义了汇编时间符号variable 就像
pointers
Assembly
x86
nasm
1
2
3
4
5
6
...10
»