欢迎来到天天文库
浏览记录
ID:6880161
大小:187.00 KB
页数:11页
时间:2018-01-29
《微机原理习题解答:5》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、习题五1.汇编程序和汇编语言源程序有什么区别?两者的作用是什么?答:汇编程序是对汇编源程序进行编译的系统程序;汇编源程序是编程人员利用汇编语言为解决某些问题而编写的程序。汇编程序用来对汇编源程序进行编译,从而产生目标代码的;而汇编源程序是用来执行程序动作的语句。2.汇编语言源程序的语句有哪几种?各自的作用是什么?答:汇编语言源程序是由指令语句、伪指令语句、宏指令语句组成。指令语句:产生目标代码,是CPU可以执行的能够完成特定功能的语句。伪指令语句:在汇编程序对源程序汇编期间由汇编程序处理的操作,它可以完成如处理器选择、定义数据、分配存储区、指
2、示程序结束等功能,但不产生目标代码。宏指令语句:宏指令语句的目的在于简化汇编语言源程序的书写,不能缩小目标代码文件。3.标号和变量都有什么属性?各属性的作用是什么?答:有段属性、偏移地址属性和类型属性。①段属性:段属性定义了标号和变量的段起始地址,其值是在某一段寄存器中。②偏移地址属性:该属性表示标号和变量相距段起始地址的字节数,是一个16位无符号数。③类型属性:对于标号而言:用于指出该标号是在本段内引用还是在其它段中引用。标号的类型有NEAR(段内引用)和FAR(段间引用)两种;对变量而言:其类型属性由定义变量的伪指令DB(定义字节型)、D
3、W(定义字型)、DD(定义双字型)等确定。4.试叙述汇编语言源程序的上机过程。答:分四步进行①编辑、②汇编、③连接、④调试。编辑:用编辑程序(例如EDIT.COM)建立扩展名为.ASM的汇编语言源程序文件。汇编:用汇编程序(例如MASM.EXE)将汇编语言源程序文件汇编成目标程序文件,其扩展名为.OBJ。如果在汇编过程中出现语法错误,根据错误信息提示(如错误位置、错误类型、错误说明),用编辑软件重新调入源程序文件进行修改,直至没有出现语法错误,再进行连接程序。连接:用连接程序(例如LINK.EXE)把目标程序文件转化成可执行文件,其扩展名为.
4、EXE。调试:用调试程(例如DEBUG.EXE)序对可执行文件进行调试,直到无错误为止。此时的可执行文件在DOS命令下直接执行。5.已知数据段DATA从存储器02000H单元开始,DATA段的定义如下:DATASEGMENTVAR1DB2DUP(0,1,?)VAR2DW50DUP(?)VAR3DB10DUP(0,1,2DUP(3),4)DATAENDS试求出三个变量经SEG、OFFSET、TYPE、LENGTH、SIZE运算的结果。答:运算结果如下表所示:回送符变量SEGOFFSETTYPELENGTHSIZEVAR10200H0000H1H
5、2H2HVAR20200H0006H2H32H64HVAR30200H006AH1H0AH0AH6.已知数据段定义如下,试采用图示说明各变量在内存的分配情况以及数据的预置情况。DATASEGMENTA1DB50,100,2DUP(0,1)A2DB2DUP(2,3DUP(?),10H)A3DB‘happynewyear!’A4DW0,2000HA5DW?,‘AB’A300H00H00H20H××H××H42H41HA1A2A4A50000H32H64H00H01H00H01H02H××H××H××H10H02H××H××H××H10H68H61
6、H70H70H79H20H6EH65H77H20H79H65H61H72H21H001FH0010HDATAENDS答:B3××H64H00H00H00H00H00H00H01H00H01H00H01H00H01H00H01H32H31H34H33H36H35H0100HB1B2B4B57.试采用图示说明各变量在内存的分配情况以及数据的预置情况。DATASEGMENTORG0100HB1DB?B2DW100B3DW2DUP(0)COUNTEQU5B4DBCOUNTDUP(0,1)B5DW‘12’,‘34’,‘56’DATAENDS答:内存的分
7、配情况以及数据的预置情况见右图8.已知变量VAR1、VAR2、VAR3定义如下,试分析下面的指令是否正确,若有错误,请进行改正。DATASEGMENTVAR1DB?VAR2DB10VAR3EQU100DATAENDS(1)MOVVAR1,AX(2)MOVVAR3,AX(3)MOVBX,VAR1MOV[BX],10(4)CMPVAR1,VAR2(5)VAR3EQU50答:(1)类型不匹配,该为:MOVVAR1,AL(2)立即数不能作为目的操作数,该为:MOVAX,VAR3(3)第一句类型不匹配,改为:MOVBL,VAR1第二句未指明存储器操作数
8、的类型,改为:MOVBYTEPTR[BX],10(4)两个存储器操作数之间不能直接作比较,改为:MOVAL,VAR1CMPAL,VAR2(5)符号VAR3已被定义,
此文档下载收益归作者所有