欢迎来到天天文库
浏览记录
ID:46102167
大小:1.47 MB
页数:531页
时间:2019-11-20
《微机原理第4章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、4.1汇编语言基本概念4.28086/8088指令系统4.3汇编语言程序设计的基本方法4.4汇编语言程序的编辑、汇编与连接4.5程序的调试第4章汇编语言程序设计基本方法返回主目录第4章汇编语言程序设计基本方法4.1汇编语言基本概念4.1.1汇编语言与机器语言我们已经学过高级语言,无论哪种语言,它都规定了一系列用于编写程序的语句和应该遵循的语法规则。人们根据一种语言给定的语句及其语法规则就可以写出程序,计算机则通过执行已编好的程序来完成人们要求它完成的各种复杂功能。汇编语言也一样,根据汇编语言的语句及其语
2、法规则可以写出汇编语言程序。但汇编语言与高级语言有较大的区别,汇编语言中的语句与机器的种类和型号密切相关。在高级语言中,完成某个加法功能,我们可采用语句X=A+B,只要给变量A和B赋一确定值,此加法就可以实现了。在汇编语言中则不同,程序必须指出A,B存放在何处,相加后的结果又存放在何处,然后才能实现这一加法运算。显然,汇编语言在通过程序告诉计算机做什么和如何做时,显得更加具体。正是这种具体,使得该语言与计算机(处理器)紧密相关,从而也要求学习和使用汇编语言的人对处理器的结构有更加深入的了解。那么,什么是
3、机器语言,汇编语言与机器语言之间又有什么关系呢?我们说,机器语言是这样一种语言,它的每条语句就是计算机可以直接执行的一条指令,这些指令以二进制码的形式表示。例如我们要将累加器AX中加上一个常数02,其二进制码表示的指令为:000001010000001000000000当处理器中取得了这样一组指令代码时,它将自动地完成(AX)+2→(AX)中的操作。不同的处理器,指令的机器码将各不相同,完成的具体功能也将各不相同。采用机器语言编写程序的一个最大好处是,程序送入计算机后,可以直接执行,但是,采用机器语言编写
4、程序十分困难,既不易书写,也不易检查。汇编语言正是为了克服这一缺点而形成的一种与机器语言直接相关的语言。汇编语言的基本思想是采用一组字母、数字或符号来代替一条二进制码表示的指令。例如上面所述的指令可采用字符ADDAX,02来代替,它表示将累加器AX中的内容加上一个常数02。表示一条指令的这些字符常称为助记符。采用助记符写出的程序,机器是不能直接执行的,采用汇编语言编写的程序在执行前还必须将其“翻译”成机器语言。通常将采用助记符指令写成的程序,称为源程序,将它翻译成的机器语言程序称为目标程序。将汇编语言的源
5、程序翻译成目标程序的过程称为汇编过程或简称汇编。汇编过程通常是由计算机完成的。它是通过执行一个专门完成汇编的软件——汇编程序来实现。源程序必须符合汇编程序的一系列要求或者规则,才能被正确地“翻译”。我们要介绍的是IBMPC宏汇编语言,其汇编程序是IBMPC宏汇编程序MASM。汇编语言的语句有两种基本类型,即指令与伪指令。指令可由汇编程序翻译成机器语言指令。汇编语言中的指令与机器语言指令基本上是一一对应的。伪指令则不汇编成机器语言指令,仅仅在汇编过程中告诉汇编程序应如何汇编。例如告诉汇编程序已写出的汇编语
6、言源程序有几个段,段的名称是什么,是否采用过程,汇编到某处是否需要留出存储空间,应留多大,是否要用到外部变量等。除了这两类基本语句外,在汇编语言中,还存在另一类指令称为宏指令,它是使用者利用上述基本语句自己定义的新的指令。4.1.2汇编语言中语句的组成汇编语言源程序是由一条条语句组成的。语句则由名称、操作助记符、操作数、注释四部分组成。1.名称语句中的名称是一个标识符,可由字母(a,b,c,……,z),数字(0,……,9)及特殊符号(?,·,@,-,$)组成。名称必须由字母打头,若名称中有圆点符,则圆点
7、符又必须用作第一个字符,数字不能用作第一个字符。构成名称的字符总数可多达31个,若超过31个字符,则31个字符以后的字符无效。名称不是所有语句都必需的,但若语句带有名称,那么,在大多数情况下名称表示的是内存的某一存储单元的地址,也就是名称后面各项在内存存放的第一个存储单元的地址(包括该名称所在段的段地址和段内的偏移地址)。名称与操作码之间的分隔可以是空格,也可以是冒号。当以冒号分隔时,该名称代表一个标号;当以空格分隔时,名称可能是标号,也可能是变量。关于标号与变量的使用及其区别,后面将逐步说明。2.操作助
8、记符(或称助记符)操作助记符将指出该语句的基本操作功能。它是语句的必要部分,也就是说每条语句都必须有操作助记符。操作助记符是汇编语言中规定了明确含义的一组符号,所以不能随意使用。例如:ADD是加法指令的助记符,DB则是定义字节变量的伪指令助记符3.操作数语句中的操作数部分,可以是数据本身,也可以是指出如何获得操作数的信息。前者可以是一个常数,也可以是代表常数的一个标识符或表达式,后者通常是以某种寻址方式给出的存放操作数的地
此文档下载收益归作者所有