汇编语言学习笔记1
进行学习8086系列汇编语言,针对《王爽汇编语言》学习心得体会。。。
汇编语言是基于硬件的编程,首先要有一台PC机。当然纯粹的X86计算机已经不存在,但是有一台兼容INTEL CPU 的计算机完全满足学习需求。汇编语言适合具体的微处理器相联系的,由于不同的CPU 有不同的架构,所以不同的CPU 具有不同的汇编语言。本人学的是x86汇编语言当然针对的也是intel cpu。
《王爽汇编语言》知名汇编语言编程平台是硬件系统而不是操作系统。从而汇编语言能够充分的让程序员体验到底层编程的乐趣。当然对于初学者具有一定的高级语言编程基础,二进制,十六进制等基础知识更好。
第一章 基础知识
1.1 机器语言
最初控制计算机运算的是机器语言,机器语言是早于汇编语言的一种最底层的语言,就算汇编语言也是利用汇编语言编译器将汇编语言编译成机器语言,计算机才能执行。因为计算机只能执行机器语言。但是由于汇编语言与机器语言一一对应,所以汇编语言具有很高的执行效率。这是其他高级语言无法比的。 但是由于机器语言全部是二进制数,给编程带来了极大地不便。导致了整个计算机行业的发展缓慢,就这样会变啊语言诞生了。
1.2 汇编语言
汇编语言的主题是汇编指令——汇编指令就是机器指令的便于记忆的书写格式。。例如 机器指令:100010011111000 汇编指令: MOV AX,BX
当然如前边所说,计算机能读懂的只有机器指令,汇编语言还是要被翻译成机器指令。。汇编语言的组成--1 汇编指令:机器码的对应助记符。 2 伪指令:由编译器识别执行,没有对应的机器码 3:其他符号例如(+,-*/...)
1.3 存储器
存储器是计算机的核心部件,cpu执行的指令和数据都存放在存储器中。如果cpu是大脑那么存储器就是大脑的记忆。没有了记忆的大脑是不能进行工作的。
1.4 指令和数据在计算机中指令和数据都是一样的--二进制代码1.5 存储单元存储器都被换分成若干个存储单元,编号从0开始(值得注意)
计算机的最小存储单元就是bit(比特)就是一个二进制位,8个二进制位组成一个字节(byte)当然计算机能够识别的最小单位就是字节。存储器的容量单位有以下换算关系 1MB=1024KB 1GB=1024MB 1TB=1024GB 呵呵1024=2的十次方。。1.6 cpu对存储器的读写前边已经说过存储器被划分成具有编号的存储单元,这些编号就成了存储单元的地址(具有编程语言基础的人--你懂的)。当然计算机处理传输的的信息都是电信号,这就需要有导线来进行传输信号。其实计算机内部有三种传输线:数据线,地址线,控制线。由于这些导线并不是一根,而是由很多根导线组成所以,相同的导线就组成了相应的总线。数据总线,地址总线,控制总线。相应工作原理是: 由控制总线发出指令--进行取存指令或存取数据,地址总线负责寻找存储相应数据或指令的存储单元,数据总线负责传输数据或指令。所以就知道了:地址总线决定了计算机寻址范围,数据总线决定了传输数据的速率,控制总线影响了cpu性能(此处仅本人认为)。既然信息传输都是电信息,而计算机中只有0和1表示高低电位,所以相应的寻址范围,或者传输能力就由导线宽度决定导线宽度为N 则就有2的N次方种情况,所以对于地址总线的寻址范围就是2的N次方 x86的总线宽度貌似是16位的所以就是能一次性传输2个字节的数据, 呵呵386就是全32位的了。88敬请期待续集。