汇编语言基础知识总结
这学期选修了汇编语言课程,通过大一一年对于C语言以及C++的学习,已经认识到了计算机语言给人们生活带来了许多便捷,之前对于汇编语言的印象是与计算机病毒有关。个人认为作为计科系的学生,不能只掌握高级程序设计语言,而忽略了计算机底层知识和低级语言。第一节课介绍了汇编语言的基础知识,我对这一部分进行了梳理和总结。
·汇编语言的特点
汇编语言的主体是汇编指令。汇编指令是机器指令的助记符,从目标代码的长度和程序运行时间的角度上看,汇编语言程序与机器语言程序是等效的。不同的CPU有不同的汇编指令,汇编语言不具有可移植性。汇编语言具有能够直接有效控制硬件的能力,能够编写出运行速度快、(代码量小?)的高效程序。例如加密解密软件、分析和防治计算机病毒等。
·汇编语言的组成
汇编指令:机器码的助记符,有对应的机器码;伪指令;其他符号
汇编语言的核心是汇编指令,它决定了汇编语言的特性
·计算机硬件系统组成
主机 :
CPU:控制器 运算器
存储器(内存)
外设:
输入设备 输出设备 外存
·存储器
CPU是计算机的核心部件,控制整个计算机的运作并进行运算。指令和数据存储在存储器中,存储器的作用仅次于CPU。
·指令vs 数据
数据和指令,在内存或磁盘上,没有任何区别,都是二进制信息。
·存储单元
存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号。
·内存地址空间
概念:
内存地址空间表示CPU所能找到的最大地址空间范围,与CPU地址总线宽有关。例如一个CPU的地址总线宽度为n,那么可以寻址2n个内存单元,这2n个可寻到的内存单元就构成这个CPU的内存地址空间。注:80386的地址总线宽度为32根,它的寻址空间(寻址能力)为232字节(4GB)。
NOTE:
CPU在操控这些独立的物理存储器时,把它们统一当作一个逻辑存储器看待。这个逻辑存储器即内存地址空间。
每个物理存储器在这个逻辑存储器中占有一段地址空间;CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。
不同的计算机系统的内存地址空间分配情况是不同的。
·地址总线、数据总线、控制总线:
CPU要从内存中读数据,首先要指定存储单元的地址。CPU在读写数据时还要指明对哪种器件的哪种操作。总线连接CPU和其他芯片,总线又分地址总线、控制总线、数据总线。
三者之间的关系是:内容的收发与内容的地址和其信息。
·数据总线决定每次传输数据的大小
·地址总线决定了CPU所能访问的最大内存空间的大小
·控制总线反映了数据的状态和传输方式。
·CPU通过总线对存储器数据的读写过程
CPU 通过地址总线将需要读/写的地址信息发出。
通过控制线发出内存读/写命令,选中存储芯片,并通知它,要向其中读/写数据。
通过数据线将数据送入存储单元(读)或内存单元(写)