web-dev-qa-db-ja.com

アセンブリvim構文の強調表示

デフォルトのアセンブリ構文ファイルがうまく機能せず、ガスアセンブリに関するWebを検索しました。vim用のガス(AT&T)構文ファイルについては何も見つかりませんでした。誰かがこれを見つけましたか?独自の構文ファイルを作成できません。

http://img168.imageshack.us/img168/46/nasm.png ft = nasm

http://img160.imageshack.us/img160/5857/asm.png ft = asm(デフォルト)

http://img164.imageshack.us/img164/8476/tasm.png ft = tasm

27
Pwn

これはかもしれません 始めましょう。それはあなたが探しているものに似ていますか?

クイック検索を実行しました-いくつかの異なる種類のアセンブリ構文強調表示が組み込まれているようです。どちらを使用していますか?

:help構文からコピーして貼り付け

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と呼びました。 Pastebinで here を見つけることができます。

それをコピーして個人の.vim/syntaxまたはvimfiles/Syntaxディレクトリに貼り付け、それをgasm.vimと呼びます。次に、アセンブリファイルで:set ft = gasm

このvimスクリプトは、スペースが含まれた%コメントという形式のコメントに依存しています。これは、スクリプトの116行目で確認できます(必要に応じて変更できます)。

注意:行番号をコピーしないでください。

43
Andy

私は完全なGNUを構文として最初から書き始めました。

構文ファイルはvim.orgから入手できます: X86の構文としてのGN
GitHubで直接: X86の構文としてのGN

基本的な手順に加えて、次の拡張Intel/AMD手順を認識します。

  • X86共通命令セット(8086-686)
  • KatmaiストリーミングSIMD命令(SSE-別名KNI、XMM、MMX2)
  • Deschutesで導入されましたが、SSEのサポートに必要です
  • XSAVEグループ(AVXおよび拡張状態)
  • 一般的なメモリ操作
  • Katmaiで導入された新しいMMX命令
  • AMD拡張3DNow! (アスロン)指示
  • WillametteSSE2のキャッシュ機能の説明
  • Willamette MMX命令(SSE2 SIMD整数命令)
  • ウィラメットストリーミングSIMD命令(SSE2)
  • プレスコットの新しい指示(SSE3)
  • VMXの手順
  • 拡張ページテーブルVMX命令
  • Tejas New Instructions(SSSE3)
  • AMD SSE4A
  • バルセロナの新しい指示
  • ペンリンの新しい指示(SSE4.1)
  • ネハレムの新しい指示(SSE4.2)
  • AMDSSE5の説明
  • インテルSMX
  • Geode(Cyrix)3DNow!追加
  • Intel AESの手順
  • インテルAVX AES命令
  • IntelAVXの説明
  • インテルのキャリーレス乗算命令(CLMUL)
  • インテルAVXキャリーレス乗算命令(CLMUL)
  • Intel Fused Multiply-Add Instructions(FMA)
  • VIA(Centaur)のセキュリティ手順
  • AMD XOP、FMA4、CVT16命令(SSE5)
  • ほのめかすnop命令の体系的な名前

これは次のようになります。

alt text

27
Shirkrin