资源描述:
《新版汇编语言程序设计钱晓捷第3章习题答》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章汇编语言程序格式〔习题3.1〕伪指令语句与硬指令语句的本质区别是什么?伪指令有什么主要作用?〔解答〕伪指令语句与硬指令语句的本质区别是能不能产生CPU动作;伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。〔习题3.2〕什么是标识符,汇编程序中标识符怎样组成?〔解答〕为了某种需要,每种程序语言都规定了在程序里如何描述名字,程序语言的名字通常被称为标识符;汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号(如-,$,?,@)组成,不能以数字开头。〔
2、习题3.3〕 什么是保留字,汇编语言的保留字有哪些类型,并举例说明。〔解答保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。汇编语言对大小写不敏感。如定义字节数和字符串的DB就是伪指令助记符。〔习题3.4〕汇编语句有哪两种,每个语句由哪4个部分组成?〔解答〕汇编语句有执行性语句和说明性语句;执行性语句由标号、硬指令助记符、操作数和注释四部分组成;说明性语句由名字、伪指令助记符、参数和注释四部分组成〔习题3.5〕汇编语言程序的开发有哪
3、4个步骤,分别利用什么程序完成、产生什么输出文件。〔解答〕⒈ 编辑 文本编辑程序 汇编语言源程序.asm⒉ 汇编 汇编程序 目标模块文件.obj⒊ 连接 连接程序 可执行文件.exe或.com⒋ 调试 调试程序 应用程序〔习题3.6〕将第2章习题2.36采用简化段定义格式编写成一个完整的源程序。〔解答〕 ;简化段定义格式 .modelsmall ;定义程序的存储
4、模式(小模式) .stack ;定义堆栈段(默认1024个字节) .data ;定义数据段str1 db'InputNumber:0~9:',0dh,0ah,'$' str2 db'Error!',0dh,0ah,'$' .cade ;定义代码段 .startup ;说明程序的起始点,建立ds,ss的内容。 mova
5、h,09h ;显示str1字符串 movdx,offsetstr1 int21hgetkey: movah,1 ;调用DOS功能 int21h cmp al,'0' jberror ;小于0,出错处理 cmpal,'9' jaerror ;大于9,出错处理 movah,02h
6、 ;调用DOS显示字符功能,显示该数字 movdl,al int21h .exit0 ;终止程序执行,返回DOSerror: movah,09h ;出错,调用DOS功能显示str2字符串 movdx,offsetstr2 int21h jmpgetkey ;返回按键 end ;汇编结束〔习题3.7〕将第2章
7、习题2.37采用完整段定义格式编写成一个完整的源程序。〔解答〕 ;xt307.asmstack segment dw512dup(?)stack endsdata segmentarray db255 db0array1 db255dup('$')array2 db0dh,0ah,'$'data endscode segment'code'assumecs:code,ds:data,ss:stackstart: movax,da
8、ta movds,ax movah,0ah ;键盘输入字符串 movdx,offsetarray int21h