一、为什么还要学习汇编
二、学会汇编
2.1学习之前需要了解的基本知识
汇编代码格式种类:
常见的汇编格式主要分成两类:ATT和Intel,ATT是根据AT&T命名的,主要是linux下gcc,objdump和一些其他工具的默认格式,Intel主要是Microsoft的工具和Intel的文档主要使用的格式。
可以在编译中加入-masm=intel选项使gcc编译出Intel风格的汇编。
Intel和ATT格式主要在以下方面有所不同:
2.2汇编的数据类型
c语言的数据类型来自于汇编,C语言的数据类型多种多样,这些类型在汇编层的展现就是每种类型所占字节数的不同,汇编语言可以说没有数据类型之分,汇编语言的大多数指令都是直接说明了操作的字或者字节个数,这些字也即是汇编的数据类型。
汇编中称16位数据类型为“字”(word),称32位数据类型为“双字”(double worlds),称64位数为“四字”(quad words),许多汇编指令都是对字节或者双字进行操作的。
下面有个表展示了c语言中常用的数据类型对应于汇编语言的数据类型。
本文探讨了学习汇编语言的原因及基本概念,并详细对比了两种主要的汇编格式:ATT与Intel格式。此外,还介绍了汇编语言中的数据类型,包括16位的字、32位的双字和64位的四字等,以及这些类型如何映射到C语言的数据类型。
4474

被折叠的 条评论
为什么被折叠?



