All Projects → calculuswhiz → Assembly-Syntax-Definition

calculuswhiz / Assembly-Syntax-Definition

Licence: MIT license
This is the greatest syntax definition of All Time

Programming Languages

assembly
5116 projects

Projects that are alternatives of or similar to Assembly-Syntax-Definition

ST-ASS
ASS/SSA subtitles syntax highlight for Sublime Text.
Stars: ✭ 23 (+0%)
Mutual labels:  syntax-highlighting, sublime-text
kasm
Assembler library for Kotlin
Stars: ✭ 40 (+73.91%)
Mutual labels:  x86-64, x86
asm2cfg
Python command-line tool and GDB extension to view and save x86, ARM and objdump assembly files as control-flow graph (CFG) pdf files
Stars: ✭ 42 (+82.61%)
Mutual labels:  x86-64, x86
Css3
The most complete CSS support for Sublime Text
Stars: ✭ 178 (+673.91%)
Mutual labels:  syntax-highlighting, sublime-text
Capstone.NET
.NET Core and .NET Framework binding for the Capstone Disassembly Framework
Stars: ✭ 108 (+369.57%)
Mutual labels:  x86-64, x86
sublime-import-helper
A Sublime Text Plugin that helps you to import your modules.
Stars: ✭ 69 (+200%)
Mutual labels:  sublime-text, sublime-package
SDA
SDA is a rich cross-platform tool for reverse engineering that focused firstly on analysis of computer games. I'm trying to create a mix of the Ghidra, Cheat Engine and x64dbg. My tool will combine static and dynamic analysis of programs. Now SDA is being developed.
Stars: ✭ 98 (+326.09%)
Mutual labels:  x86-64, x86
Pythonimproved
The best Python language definition for Sublime Text - ever. Includes full support for Unicode, as well as both Python 2 and Python 3 syntax. Check out the Neon Color Scheme for highlighting.
Stars: ✭ 95 (+313.04%)
Mutual labels:  syntax-highlighting, sublime-text
sublime-text-theme-switcher-menu
Painless theme selection in Sublime Text ⚡
Stars: ✭ 18 (-21.74%)
Mutual labels:  sublime-text, sublime-package
sublime-commands
Adds all default commands to the command pallet
Stars: ✭ 18 (-21.74%)
Mutual labels:  sublime-text, sublime-package
Biosyntax
Syntax highlighting for computational biology
Stars: ✭ 164 (+613.04%)
Mutual labels:  syntax-highlighting, sublime-text
elm-syntax-highlighting
Syntax Highlighting for Elm in Sublime Text
Stars: ✭ 27 (+17.39%)
Mutual labels:  syntax-highlighting, sublime-text
Inspiredgithub.tmtheme
A color scheme for Sublime Text 3.
Stars: ✭ 117 (+408.7%)
Mutual labels:  syntax-highlighting, sublime-text
oberon-07-compiler
Oberon-07 compiler for x64 (Windows, Linux), x86 (Windows, Linux, KolibriOS), MSP430x{1,2}xx, STM32 Cortex-M3
Stars: ✭ 45 (+95.65%)
Mutual labels:  x86-64, x86
Nord Sublime Text
An arctic, north-bluish clean and elegant Sublime Text theme.
Stars: ✭ 109 (+373.91%)
Mutual labels:  syntax-highlighting, sublime-text
bmod
bmod parses binaries for modification/patching and disassembles machine code sections.
Stars: ✭ 12 (-47.83%)
Mutual labels:  x86-64, x86
Sublimetext
Caddyfile syntax highlighting for Sublime Text 3
Stars: ✭ 17 (-26.09%)
Mutual labels:  syntax-highlighting, sublime-text
Ecmascript Sublime
ECMAScript/JavaScript syntax (ES2015-ES2018, JSX, template highlighting, etc) with absurdly specific scopes
Stars: ✭ 78 (+239.13%)
Mutual labels:  syntax-highlighting, sublime-text
profiler-api
The portable version of JetBrains profiler API for .NET Framework / .NET Core / .NET / .NET Standard / Mono
Stars: ✭ 21 (-8.7%)
Mutual labels:  x86-64, x86
sublime-coconut
Coconut syntax highlighting for Sublime Text and VSCode.
Stars: ✭ 18 (-21.74%)
Mutual labels:  syntax-highlighting, sublime-text

Sublime Text: x86 Assembly Syntax Definition (AT&T/GAS)

This is the greatest syntax definition of All Time

Sublime Text syntax definition for x86 assembly (GAS/AT&T syntax)

I do not have plans to support any other syntax type (such as Intel). Sufficient packages already exist.

Covers a lot of instructions for a lot of different cpuid flags, even if you don't have them.

Purpose: I couldn't find any good ones online, so I made one myself for my ECE391 class at UIUC. None of the ones I did find did a good job highlighting the right instructions. This is not to say that this definition is perfect, but for the purposes of your college level systems programming class, it will do just fine.

I have included some test files in the 'test/' directory of this package. Look around if you like. I even included a gdb disas dump, which I think is a good test for efficacy.

Ports to other editors

This has become somewhat of a parent-project for various ports, so here's a list of links to ports I've made:

  • Atom. Same highlighting features. It was a direct JSON->CSON conversion. No snippets.
  • Vim. Probably same highlighting features. Regex syntax was kind of hard to nail down. Might extend with snippet-like features later.
  • Gedit. It's a bit of a weaker port, but it should look reasonably close. It was a bit frustrating to write, with so little documentation around.
  • More perhaps to come later. I currently have no plans to port to Emacs. Writing major modes seems like a major pain compared to how easy it is for Vim. I also will not do Notepad++.

Installation

  • Get Sublime Text.
  • Install "Package Control": https://sublime.wbond.net/installation
  • In your Sublime window menu, go to Preferences>Package Control and type "Install".
  • Type "gasx" to find the package.
  • This has the advantage of automatic updates if a bug is caught.

Manual Install

  • Download the contents of this repo.
  • Extract/copy/Whatever-I-Don't-Care all files into your 'Packages' directory.
    • This is easily accessible from Preferences>Browse Packages...
    • You could always just git pull in the 'Packages' directory.
  • If all this has failed, you're on your own. Good luck.

Sublime should automatically take care of the syntax highlighting, so there's no need to restart.

If you feel the directions are unclear, please tell me. Or tell Dennis, so we can make fun of you later.

Pull requests and/or bug reports are always welcome.

Features (Secret Q/A):

  • Can't remember a system call number? Start with your architecture (32/64) and type the call you want (e.g. mmap, read), press tab/enter, and let the autocomplete do the rest.
    • E.g. I want to use mmap on x64. I type 64mmap, enter, and it expands to #define SYS_MMAP $9.
  • Can't remember displacement syntax? Just start typing "displace" and select the helper option in autocomplete. Then tab through the arguments.
  • How do I start a standalone assembly program? Type skel32 or skel64, autocomplete. Compiles with gcc -nostdlib.
  • How do I set up a stack frame for calling a function? Type newframe32 or newframe64.

Demo on gdb disassembly log: Demo

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].