2.8 KiB
asm layer
Description
This layer supports for writing Assembly code. The built-in major mode for
editing assmebly code in Emacs is asm-mode
. The layer adds nasm-mode
, which
understands NASM-specific syntax. Also nasm-mode
is intended for NASM, it
actually works well with other variants of Assembly in general, and provides Imenu
integration (so you can jump around with SPC s j
).
Features:
- Improved syntax highllighting.
- Automatic indentatation.
- Auto-completion for symbol in opened buffers.
- Look up documentation for current instruction at cursor.
- Imenu integration.
Install
To use this contribution add it to your ~/.spacemacs
(setq-default dotspacemacs-configuration-layers '(asm))
To look up the x86 instructions, two things are required:
pdftotext
command line program from Poppler:
#+being_src sh sudo apt-get install poppler-utils
#+end_src
- Intel® 64 and IA-32 Architectures Software Developer Manuals. Any PDF that contains the full instruction set reference will work, though volume 2 is the best choice for x86-lookup.
Then, set x86-lookup-pdf
to the location of your PDF document (Tip: If you use
Helm as your completion of choice, you can use SPC f f
to navigate to the
file, and press C-c i
to insert the path). For example, something like this:
(setq x86-lookup-pdf "~/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf")
The first time you launch the command, it took a while for indexing. After that, the result is cached and the next time you start in an instant.
Key bindings
Key Binding | Description |
---|---|
<SPC> m h |
Look up the documentation for instruction at point |
; |
Insert a comment |
Note: Quoted from the docstring of asm-comment
, the command bound to ;
:
Convert an empty comment to a `larger' kind, or start a new one.
These are the known comment classes:
1 -- comment to the right of the code (at the comment-column)
2 -- comment on its own line, indented like code
3 -- comment on its own line, beginning at the left-most column.
Suggested usage: while writing your code, trigger asm-comment
repeatedly until you are satisfied with the kind of comment.