GAS-x86 (或 x64) 突出显示方案
这是有史以来最伟大的语法定义
详细信息
安装次数
- 总计 8K
- Windows 3K
- Mac 1K
- Linux 3K
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 2 |
阅读me
Sublime Text: x86 汇编语法定义 (AT&T/GAS)
这是有史以来最伟大的语法定义
Sublime Text 的 x86 汇编语法定义 (GAS/AT&T 语法)
我没有计划支持任何其他语法类型(如 Intel)。已经有足够的包存在。
涵盖了大量不同的 cpuid 标志指令,即使您没有这些指令也是如此。
目的:我在网上找不到很好的语法定义,所以我为 UIUC 的 ECE391 课程自己制作了一个。我找到的没有一个能够很好地突出显示正确的指令。这并不是说这个定义是完美的,但对于您的大学生级系统编程课程来说,它应该足够好了。
我在这个软件包的 'test/' 目录中包含了一些测试文件。如果喜欢,可以四处看看。我还包括了一个 gdb 反汇编输出,我认为这是一个很好的效果测试。
移植到其他编辑器
这已经成为一个为各种移植的父项目,所以以下是链接列表,其中包含我已制作的移植: - Atom. 同样的突出显示功能。这是直接 JSON->CSON 转换。没有代码段。 - Vim. 可能具有相同的功能。正则表达式语法有点难以固定。可能会在以后扩展代码段等功能。 - Gedit. 这是一个略显薄弱的移植,但它应该看起来相当接近。编写它有些令人沮丧,因为相关的文档很少。 - 可能还会有更多的移植。目前我没有任何计划将此移植到 Emacs。编写主模式似乎比 Vim 容易得多。我也不会做 Notepad++。
安装
- 获取 Sublime Text。
- 安装“软件包控制”:https://sublime.wbond.net/installation
- 在您的 Sublime 窗口的菜单中,转到首选项>软件包控制并键入“安装”。
- 键入“gasx”以查找软件包。
- 如果捕获到错误,这将具备自动更新的优势。
手动安装
- 下载此仓库的内容。
- 将所有文件提取/复制/不论如何,都放到您的“软件包”目录中。
- 这可以从“首选项”>“浏览软件包…”轻松访问。
- 您总是可以在“软件包”目录中直接执行
git pull
。
- 如果上述方法都失败了,那就只能靠您自己了。祝好运。
Sublime会自动处理语法高亮,因此不需要重启。
如果您觉得说明不清楚,请告诉我。或者告诉Dennis,这样我们以后可以取笑您。
总是欢迎提交拉取请求和/或错误报告。
功能(秘密问答)
- 忘记系统调用的编号?从您的架构(
32
/64
)开始,输入您想要的调用(例如mmap
,read
),按tab/enter键,然后让自动完成完成剩余的操作。- 例如,我想在x64上使用mmap。我输入
64mmap
,按回车键,然后展开为#define SYS_MMAP $9
。
- 例如,我想在x64上使用mmap。我输入
- 忘记了位移语法?只需输入“位移”,然后从自动完成中选择辅助选项。然后通过参数进行切换。
- 如何启动独立的汇编程序?输入
skel32
或skel64
,然后进行自动完成。使用gcc -nostdlib
进行编译。 - 如何设置调用函数的栈帧?输入
newframe32
或newframe64
。
在gdb反汇编日志中的演示: