gpt4 book ai didi

x86 - 选择合适的方法并学习汇编器以进行编译器编写

转载 作者:行者123 更新时间:2023-12-03 15:02:51 25 4
gpt4 key购买 nike

我正在编写一个编译器,并且已经遍历了所有编译器书籍中显示的所有步骤(标记,解析,语法树结构等)。 (请不要使用“编写编译器的资源”问题的链接进行评论!)。

我选择将NASM和alink一起用作后端。

现在我的问题是:我只是找不到用于学习NASM和组装的良好资源。

x86汇编上的Wikibook(德语)是可怕的。他们甚至不解释在这里写的代码,我现在什至无法获得简单的东西,例如将1加2并输出有效的结果。

  • 我在哪里可以学习NASM x86组件?
  • 最佳答案

    除非您已经检查过,否则NASM手册是学习NASM的很好的资源:http://www.nasm.us/doc/

    比较NASM和GAS也会有所帮助:http://www.ibm.com/developerworks/linux/library/l-gas-nasm.html

    Freenode se(r)上的irc channel #asm提供了以下链接:

  • 了解程序集:http://www.acm.uiuc.edu/sigmil/RevEng/ch06.html
  • 80386 HTML引用:http://pdos.csail.mit.edu/6.828/2004/readings/i386/toc.htm
  • 带nasm的Linux/Win32 x86教程:http://www.drpaulcarter.com/pcasm/
  • Linux汇编书:http://nongnu.uib.no/pgubook/

  • 我还花了一些时间为您整理一个小世界:
    bits 32
    section .data
    greeting db "hello world", 10
    section .text
    global _start
    _start:
    mov eax, 4 ; sys_write
    mov ebx, 1 ; stdout
    mov ecx, greeting
    mov edx, 12 ; greeting.length
    int 0x80 ; system call interrupt

    mov eax, 1 ; sys_exit
    mov ebx, 0
    int 0x80

    将此组装为:
    nasm -f elf -o example.o example.asm
    ld -o example example.o -melf_i386

    我自己用python编写了一个小型代码生成器。虽然前一阵子我把那东西留在中间。最近,我编写了一些不同的工具,该工具可能对处理汇编的任何人都有用。现在,我也在寻求帮助。.似乎我必须在该处进行一些自助: x86 instruction encoding tables

    我拥有的旧代码生成器片段位于 http://bitbucket.org/cheery/g386/中,直到启动并运行新的基于表的代码生成器为止。

    关于x86 - 选择合适的方法并学习汇编器以进行编译器编写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694734/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com