Подсветка синтаксиса vim в сборке - PullRequest
27 голосов
/ 23 апреля 2009

Файл синтаксиса сборки по умолчанию не работал должным образом, и при поиске в Интернете о сборке газа я ничего не нашел в файле синтаксиса gas (AT & T) для vim. Кто-нибудь нашел это? Я не могу написать свой собственный файл синтаксиса.

http://img168.imageshack.us/img168/46/nasm.png фут = носм

http://img160.imageshack.us/img160/5857/asm.png ft = asm (по умолчанию)

http://img164.imageshack.us/img164/8476/tasm.png фут = тасм

Ответы [ 2 ]

42 голосов
/ 23 апреля 2009

Это может начать вас. Это больше похоже на то, что вы ищете?

Только что был быстрый поиск - похоже, есть несколько различных видов встроенной подсветки синтаксиса ассемблера. Какой из них вы используете?

Копирование вставлено из: синтаксис справки

Currently these syntax
files are included:
    asm     GNU assembly (the default)
    asm68k      Motorola 680x0 assembly
    asmh8300    Hitachi H-8300 version of GNU assembly
    ia64        Intel Itanium 64
 fasm Flat assemlby http://flatassembler.net
    masm        Microsoft assembly (probably works for any 80x86)
    nasm        Netwide assembly
    tasm        Turbo Assembly (with opcodes 80x86 up to Pentium, and
            MMX)
    pic     PIC assembly (currently for PIC16F84)

The most flexible is to add a line in your assembly file containing:
    :asmsyntax=nasm
Replace "nasm" with the name of the real assembly syntax.  This line must be
one of the first five lines in the file.

Этот дополнительный синтаксический скрипт из vim.org

Похоже, что ваш скриншот использует тип файла asm по умолчанию. Попробуйте

:set ft=nasm

и вы должны получить некоторые изменения цвета в соответствии с этими скриншотами.

ft=nasm

Из ваших скриншотов выше я сделал несколько быстрых изменений в синтаксисе fasm vim и назвал их gasm. Его можно найти здесь на наклейке.

Скопируйте и вставьте это в свой личный каталог .vim / syntax или vimfiles / syntax и назовите его gasm.vim Затем в вашем файле сборки: установите ft = gasm

Этот скрипт vim использует комментарии в форме % комментарий с включенным пространством. Вы можете увидеть это (или изменить, если хотите) в строке 116 скрипта.

Обратите внимание: не копируйте номера строк.

27 голосов
/ 21 ноября 2009

Я начал писать полный GNU как синтаксис с нуля.

Файл синтаксиса доступен на vim.org: GNU как синтаксис для X86
Как и непосредственно на GitHub: GNU как синтаксис для X86

В дополнение к основным инструкциям он распознает следующие расширенные инструкции Intel / AMD:

  • Общий набор команд X86 (8086 - 686)
  • Инструкции Katmai Streaming SIMD (SSE - a.k.a. KNI, XMM, MMX2)
  • Введено в Deschutes, но необходимо для поддержки SSE
  • XSAVE группа (AVX и расширенное состояние)
  • Общие операции с памятью
  • Новые инструкции MMX введены в Katmai
  • AMD Улучшенное 3DNow! (Athlon) инструкция
  • Инструкции по кэшированию Willamette SSE2
  • Инструкции Willamette MMX (целочисленные инструкции SSE2 SIMD)
  • Инструкции Willamette Streaming SIMD (SSE2)
  • Prescott New Instructions (SSE3)
  • Инструкции VMX
  • Расширенные таблицы страниц Инструкции VMX
  • Tejas New Instructions (SSSE3)
  • AMD SSE4A
  • Новые инструкции в Барселоне
  • Penryn New Instructions (SSE4.1)
  • Nehalem Новые инструкции (SSE4.2)
  • Инструкции AMD SSE5
  • Intel SMX
  • Geode (Cyrix) 3DNow! дополнения
  • Инструкция Intel AES
  • Инструкции Intel AVX AES
  • Инструкции Intel AVX
  • Инструкции по умножению без переноса (CLMUL)
  • Инструкции Intel AVX для умножения без переноса (CLMUL)
  • Инструкции Intel Fused Multiply-Add (FMA)
  • VIA (Кентавр) инструкции по безопасности
  • Инструкции AMD XOP, FMA4 и CVT16 (SSE5)
  • Систематические названия для подсказок

Вот как это выглядит:

alt text

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...