目录
引言
在本章中,我们对硬件系统结构的问题进行一部分的探讨,以使后续的课程可在一个好的基础上进行。
原则是,以后用到的知识,以后再说。
汇编课程的研究重点放在如何利用硬件系统的编程结构和指令集有效灵活地控制系统进行工作。
一、机器语言
机器语言是机器指令的集合
机器指令展开来讲就是一台机器可以正确执行的命令。
电子计算机的机器指令是一列二进制数字。 计算机将之转变为一列高低电平,以便计算机的电子器件受到驱动,进行运算。
现在的PC机,通常用CPU(Central Processing Unit)来完成上面(早期)计算机的功能,CPU是一种微处理器
每一种微处理器,由于硬件设计和内部结构的不同,就需要用不同的电平脉冲来控制,使它工作。
早期的程序设计均使用机器语言。 程序员们将用。0、1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。
应用 8086CPU完成运算s =76 8+12288-1280,机器码如下。
101110000000000000000011
000001010000000000110000
001011010000000000000101假如将程序错写成以下这样,请你找出错误。
101100000000000000000011
000001010000000000110000
000101101000000000000101哈哈哈,是不是很痛苦!这还只是个很简单的需求!
上面代码暴露除了机器码的缺点:晦涩难懂和不易查错
上面的例子可能短了点体验不到快乐,下面的例子绝对能让你倍感快乐!
在显示器上输出“welcometo masm”,机器码如下
如何?此时如果其中有一个1写成了0,debug要de多久?
二、汇编语言的产生
产生的原因
机器语言难以辨别、记忆,发现问题…
汇编语言
汇编语言的主体是汇编指令。
汇编指令和机器指令的差别在于指令的表示方法上。
汇编指令是机器指令便于记忆的书写格式。
举例
操作:寄存器BX的内容送到AX中
机器指令:1000 1001 1101 1000
汇编指令:mov ax,bx
寄存器
- 简单地讲是CPU中可以存储数据的器件
- 一个CPU有多个寄存器
- AX和BX是寄存器的名称
有了汇编语言后,程序员只需要写汇编语言而不用去写机器语言了!
问题:但是计算机只能读懂机器语言,读不懂汇编语言,所以这时候就需要一个“翻译员”(编译器)
编译器:将汇编指令转换成机器指令的翻译程序
有了汇编