您现在的位置:希赛网>云阅读>软件设计师考试考点分析与真题详解(第4版)>机器语言与汇编语言第2章:程序语言基础知识作者:希赛教育软考学院来源:希赛网2014年01月26日机器语言与汇编语言上一节本书简介下一节第2章:程序语言基础知识作者:希赛教育软考学院来源:希赛网2014年01月26日汇编程序2.1.1机器语言与汇编语言每一种特定型号的计算机系统都有自己特定的机器指令集合,集合中每条指令都代表一项具体的操作,例如从内存取数据到寄存器。这个机器指令集合就是机器语言,由机器语言编写的程序就称为机器程序。机器指令本质上是一个特定长度的二进制串,特定的位表示操作码,而另外的位表示操作数。由于机器程序都是由二进制的机器指令组成的,在编写机器程序的时候,不仅要记住特定操作码的二进制表示,还需要记下各个数据的地址的二进制表示。这是十分不方便的,而且容易出错,程序也很难读懂。于是人们就开始使用助记符(汇编指令)代表机器指令的操作码,并且使用伪指令(即不对应任何机器指令,只用于助记)和标号帮助确定数据或代码的位置,这就是汇编语言了。由于汇编指令和机器指令是相对应的,所以每种特定型号的计算机系统都有自己的汇编指令集合。由汇编指令编写的程序就是汇编程序,计算机是不能直接执行汇编程序的,而必须由一个特殊程序根据伪指令的控制把汇编程序转化为对应的机器语言程序。这个特殊的程序就是汇编程序。版权方授权希赛网发布,侵权必究2.1.2汇编程序如前面所述,汇编程序的基本工作包括:将每一条可执行汇编指令转换成对应的机器指令;处理源程序中出现的伪指令。这一工作通常需要对汇编程序进行超过一次的扫描。前面的分析已经指出,形成操作数地址的各个部分有可能出现符号,而符号是稍后语句的标号:SUB1,C48…C48DC48为了计算各汇编语句中标号的地址,我们在汇编程序中设立单元地址计数器LC,其初值一般为0.以后每处理完一条可执行的汇编语句和与存储分配有关的伪指令(如定义常数语句、定义存储语句),LC的值就增加相应长度,这样LC的值始终是下一个存储单元的相对地址。当处理一条汇编语句标号时,就将LC当时的值定义为标号值。由于符号使用可能出现在符号定义前,整个汇编程序工作要通过对源程序进行二次扫描才能完成。第一次扫描主要工作是定义符号的值。除了设置单元计数器LC外,我们设立机器指令表MOT1.由于本次扫描并不具体生成机器指令,MOT1的每一元素只需两个域:机器指令记忆码和机器指令长...