汇编语言的类型
回答
基本上x86芯片组有两种风格,分别是AT&T
或Intel
snytax。我认识的大多数人更喜欢英特尔语法,因为它更容易理解,但当然这也是习惯的问题。当我在6510或M68000上学习汇编时,发现AT & T语法更紧密相关,因此它在地址模式IMO中相当混乱。
如果指示的gcc写的组件的资源文件,它使用AT默认& T语法,但你可以切换到英特尔使用
gcc -S -masm=intel test.c
nasm
以及是一个汇编和gcc是一个编译器,使他们有不同的目的。
至于学习大会有很多的教程,例如The Art of Assembly。但是如果你真的想学习它,IMO最好的办法是开始debug
并输入一些指令,看看他们在做什么以及他们如何改变reigsters和flags,先写小循环。
通过这种方式,您可以专注于指令,而不会与汇编源语法争执。
我不会从x86开始,即使您有硬件,也不是一个好的第一个指令集。 ARM,msp430,avr和其他一些更好,并有开源模拟器,您可以获得更好的可视性。我会从小处着手,简单地添加或添加几个数字,写一个内存位置,读回它,如果是这样的话。模拟器(可以)阻止你需要进行系统调用以“看到”你的结果,同样他们也可以帮助你处理挂起和崩溃,你会得到什么,以及哪些IMO导致放弃整个事情。一旦你知道了更多,你可以切换到硬件或尝试另一个指令集(每个新指令集比前一个指数更容易)导致x86,如果你仍然觉得有需要......在x86中,我建议回到早期,找到一个8088/86模拟器,学习原始指令集,然后如果你仍然觉得需要,那么跳到80386和更新。你也需要能够在头脑中转换格式,使用AT & T是一个基本的罪恶(gnu汇编人员经常犯这些罪恶,这是几乎预料中的),但不幸的是我们现在有这两种竞争格式。通过练习,您应该能够轻松地知道在检查代码时使用了哪种格式,但是精神上来回切换可能仍然是一个挑战。
- 1. 汇编语言 - 多种类型?
- 2. 汇编语言?
- 3. 汇编语言
- 4. MIPS汇编语言
- 5. 8086汇编语言
- 6. ARMv6汇编语言
- 7. 汇编语言 - 乘
- 8. x86汇编语言
- 9. 汇编语言Bubblesort
- 10. 汇编语言环
- 11. 汇编语言 - LDI
- 12. CMP汇编语言
- 13. 汇编语言:cbw
- 14. 汇编语言IA32
- 15. .NET汇编语言
- 16. SPARC汇编语言
- 17. MIPS汇编语言
- 18. LC3汇编语言
- 19. 将汇编语言宏转换为纯汇编语言
- 20. sicxe汇编语言编程
- 21. 汇编语言的用法
- 22. 汇编语言的指针
- 23. 汇编语言diff工具
- 24. 了解汇编语言
- 25. 汇编语言:+ vs add
- 26. 汇编语言注册
- 27. 汇编语言介绍
- 28. 以汇编语言开头
- 29. 汇编语言x86 Irvine32
- 30. 汇编语言加法