Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
Nasm 打印到下一行
我用 nasm Assembly 编写了以下程序 section text global start start Input variables mov edx inLen mov ecx inMsg mov ebx 1 mov eax 4
Linux
Assembly
x86
nasm
近调用/跳转表并不总是在引导加载程序中工作
一般问题 我一直在开发一个简单的引导加载程序 并在某些环境中偶然发现了一个问题 在这些环境中 此类指令不起作用 mov si call tbl SI Call table pointer call call tbl Call print c
Assembly
x86
nasm
BootLoader
realmode
NASM 轮班操作员
您将如何在寄存器上进行 NASM 中的位移位 我读了手册 它似乎只提到了这些操作员 gt gt lt lt 当我尝试使用它们时 NASM 抱怨移位运算符处理标量值 您能解释什么是标量值并举例说明如何使用 gt gt and lt lt 另外
Assembly
x86
BitManipulation
nasm
汇编语言中的全局_start是什么?
这是我的汇编级代码 section text global start start mov eax 4 mov ebx 1 mov ecx mesg mov edx size int 0x80 exit mov eax 1 int 0x80
Linux
Assembly
nasm
ld
分配内存空间的宏
我需要让一个汇编程序员来计算帕斯卡三角形 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
1
2
3
4
5
6
...10
»