【汇编入门】
为什么学习汇编
首先要明确为什么学习汇编,之前学JVM与JAVA内存模型的时候,开始看得时候发现都能看得懂,然后越往后看越看不懂,比如什么栈帧、堆栈、堆等等很多的名词。虽然这些名词并不陌生,但总是对这些东西敬而远之,不能有更深入的了解。后来刷题的时候,遇到一些代码优化问题,每次都是看别人分析,自己却无能为力。并且学期也开了计组这门课,与汇编算是相辅相成。
基础知识
汇编语言是直接在硬件之上工作的编程语言,首先要了解硬件系统的结构,才能有效的应用汇编语言。
用底层的思维去指导写高级语言
1.1机器语言
-
机器语言是机器指令的集合。
-
机器指令展开来讲就是一台机器可以正确执行的命令。
-
指令 :01010000 (PUSH AX)
1.2 汇编语言的产生
-
汇编语言的主体是汇编指令。
-
汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。
-
汇编指令就是机器指令一个方便记忆的版本。 这个版本的写法与人类语言更加接近,便于阅读和理解。
1.3汇编语言组成:
-
汇编语言的组成:
-
汇编指令(机器码的助记符)
-
伪指令(有编译器执行)
-
其他符号(有编译器识别)
-
-
汇编语言的核心是汇编指令,它决定了汇编语言的特性。
1.4 存储器
-
CPU是计算器的核心部件,它控制整个计算机的运作并进行运算,要想让一个CPU工作,就必须向他提供指令和数据。
-
指令和数据在存储器中存放,就是主存储器,也就是平常所说的内存,包括了内存条 ,主板上的CMOS,ROM等等。
-
存储器被划为为若干个存储单元,每个存储单元从0开始顺序编号。
-
存储单元:包含多个存储元件(一
-