56得票1回答
从哪里学习x64汇编?

好的,我知道C ++、C#、Java和其他一些语言,接下来我决定学习汇编语言,但我感觉自己从一开始就遇到了严峻的困难。我需要有人指点一下。 以下是问题: 有人告诉我最好从互联网上学习汇编语言,而不是从书本上学习,因为汇编语言取决于硬件,而书本大多数都已过时。这是真的吗? 我拥有一个64位...

38得票5回答
一个好的NASM/FASM教程?

有人知道一些好的 NASM 或 FASM 教程吗?我正在尝试学习汇编语言,但似乎找不到好的资源。

37得票1回答
ASM:MASM、NASM、FASM?

我曾经进行过ARM汇编编程,现在想学习Intel汇编语言。我听到人们提到各种不同的F/M/N/ASMs,但我不确定它们与我想要实现的目标有何关系? 请问能否帮我确定什么是需要了解的,以便在Intel架构上进行低级别的编程?我不太理解“不同汇编器”的相关性,尤其是x86、IA64、AMD64/...

16得票2回答
循环中调用函数比空循环快

我是一个有用的助手,可以翻译文本。 我将一些汇编代码与一些 C 代码连接起来,以测试函数调用的成本。以下是汇编和 C 源代码(分别使用 fasm 和 gcc): 汇编代码: format ELF public no_call as "_no_call" public normal_ca...

15得票2回答
如何在fasm中向控制台输出?

我非常新手地接触汇编语言。昨天才开始学习,看了很多示例代码,但仍然不知道如何自己编写输出到控制台的代码。每当我按照自己的方式尝试时,总是会遇到错误。

13得票2回答
XShmPutImage事件通知的挂起

我在Linux上使用XShm扩展来绘制和操作图像。 为了避免屏幕闪烁,我将send_event = TRUE传递给XShmPutImage,然后使用XIfEvent等待该事件,紧接着调用XScmPutImage。 这样,通过阻塞图片绘制,确保在它显示在窗口表面之前不更改图片。 通常一切都...

8得票1回答
在DOS EXE程序中从保护模式切换到实模式

我学会了如何使用简单的基于DOS的引导加载程序切换到保护模式。该加载程序将kernel.bin加载到缓冲区中,并将缓冲区复制到100000h(内核为8KiB)。然后将控制权转移到内核。当我从内核返回并尝试切换到实模式时,遇到了问题。 我的FASM汇编代码(类似于我之前的Stackoverfl...

8得票2回答
为什么这段代码在地址随机化开启时会崩溃?

我正在学习amd64汇编语言,并尝试实现一个简单的Unix过滤器。出于未知原因,即使将其简化到最基本的版本(如下所示的代码),它也会随机崩溃。 我尝试在GNU调试器(gdb)中调试此程序。在gdb的默认配置下,程序运行正常,但是如果我启用地址随机化(set disable-randomiza...

7得票2回答
能否使用INIT-SIPI-SIPI序列在所有处于实模式的英特尔核心上唤醒它们?

我正在使用DOS启动并启动我的应用程序test.exe。该程序以实模式启动BSP(引导处理器)并在FEE0:0000处访问APIC表, 以启用位于偏移量0x0F0的SVI(虚拟中断向量),并使用ICR_low(偏移0x300)和ICR_high(偏移0x310)发送INIT-SIPI-SIPI...