搜索内容

包含标签:assembly 的文章
  • 指令解码器如何区分前缀和主要操作码之间的区别?

    我正在尝试围绕 x86 指令编码格式。我阅读的所有资料仍然使这个主题变得混乱。我开始有点理解它,但我无法理解的一件事是 CPU 指令解码器如何区分操作码前缀和……
    喔28 问答 2022年8月17日
  • 访问 PIT (?) IO 端口 44h 和 46h – 这些端口有什么作用?

    我正在反汇编 MS-DOS .com 应用程序并遇到一些我不明白的端口访问。更准确地说,通过该IN指令,从以下端口读取值。 40h 44h 46h 此处找到的文档提到端口40h-4……
    田田 问答 2022年8月17日
  • x86 子指令操作码混淆

    使用 Turbo Assembler 和 Turbo Debugger 稍微玩了一下,我对操作码感到惊讶。更准确地说,我有一些组装好的二进制文件,Turbo Debugger 在其中反汇编了这个词……
    嘿哈 问答 2022年8月17日
  • A[-1] 是否真的从 A[0] 返回内存中的前一个位置?

    考虑以下代码: int A[5] = {0,1,2,3,4}; int i=1; int test = A[i]; 此代码生成的 MIPS 程序集将向左移动i 2 位以乘以 4,因为我们获取的是 int(4 字节)。……
    喔28 问答 2022年8月10日
  • 手工制作的 macOS 可执行文件

    我正在尝试为 macOS实现一个微型编译器。我在配备 M1 的 MacBook Pro 上运行macOS 11.5。该assembly编码工作正常,我对这个结果(移交给锵编译和运行的时候就……
    无卤 问答 2022年8月10日
  • 访问物理内存地址

    在研究作弊和反作弊的工作原理时,我开始对如何访问物理(非虚拟)RAM地址感兴趣,例如,在windows中,MmAllocateContiguousMemory用于从物理地址读取(在某些……
    小杜 问答 2022年8月10日
  • 堆栈如何区分不同的数字类型?

    我正在尝试学习汇编,但在理解堆栈上的内存分配/检索时遇到了一些麻烦。 当字符串在堆栈上分配时,程序知道当它到达空终止字符时停止读取字符串/x00。然而,对……
    田田 问答 2022年8月9日