习题集-04程序设计(answers).doc

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题集-04程序设计(answers)

指令语句有哪几部分组成?伪指令语句有哪几部分组成? 【参考答案】 指令语句:[标号:] 助记符 [操作数] [;注释] 伪指令语句:[名字] 定义符 [操作数] [;注释] 什么是指令语句?什么是伪指令语句?它们之间有什么区别? 【参考答案】 指令语句:与机器代码一一对应,一条指令语句对应机器的一种操作,汇编时产生一组目标代码。 伪指令语句:没有对应的机器代码,它只为汇编程序提供汇编时所产生的信息。 什么是标号和名字?它们之间有什么区别? 【参考答案】 标号:是某条指令所在单元的符号地址,必须后跟冒号“:”,它是可供选择的标识符。一个标号可以作为JMP指令或CALL指令的一个操作数。 名字:是给某伪指令取的名称,它不能后跟冒号“:”,它可以是变量名、段名、过程名、符号名等。 标号/名字应符合以下规定: 由字母、数字或某些特殊字符(?· @ - $)等组成; 不能用数字开头。第一个字符必须是字母或某些特殊字符(?号不能单独使用,“·”号必须放在开头,不能放在其它位置); 有效长度为31个字符; 保留字(关键字)不能作标识符。 什么是助记符? 【参考答案】 助记符:是指令的操作码,规定某指令语句的操作类型。 在MASM86中,什么是定义符? 【参考答案】 定义符:是由MASM-86规定的符号,是种汇编命令,规定变个伪指令的伪操作功能给程序员编写汇编语言源程序提供方便。 指令语句的操作数与伪指令语句的操作数各有什么特点? 【参考答案】 指令语句的操作数的个数:0 个,1个,2个等;最大不超过两个,操作数之间必须用逗号“,”分隔;有的操作数可以用表达式来表示。 伪指令语句的操作数的个数:随不同的伪指令而相差悬殊;有的伪指令不允许有操作数;有的允许带多个操作数,其间用逗号“,”分隔;有的操作数也可用表达式表示。 变量名是用来表示操作数所在存储器单元地址的符号,它有哪几个属性?在编程使用时应注意什么? 【参考答案】 属性:段属性(SEGMENT)、偏移地址属性(OFFSET)、类型属性(TYPE) 类型属性:字节(BYTE)、字(WORD)、双字(DWORD)、四字(DQ)、五字(DT) 注意:在程序中变量名的定义只允许出现一次。 标号是某条指令所在单元的符号地址,它表明该指令在存储器中的位置,可以作为转移指令和调用指令的目的操作数。它有哪几个属性? 【参考答案】 段属性:段基址总是在代码段寄存器CS中。 偏移属性:16位无符号数。代表从段起始地址到定义标号的位置之间的偏移量。 距离属性:NEAR或FAR。NEAR:只需改变IP值,不改变CS值。默认属性。FAR:改变IP和CS的值。 伪指令EQU的功能是什么?使用时有哪些注意事项? 【参考答案】 功能:可以把符号名字定义为一个常量、一个表达式的值、其它符号名或保留字。 注意:(1)EQU伪指令中如果有变量或标号的表达式,则它们应在该伪指令前已定义过的,否则汇编程序将指示出错。 (2)经EQU伪指令定义的符号名在同一程序模块中不允许重新定义,否则必须用清除指令PURGE将原有符号名清除后,才能用EQU伪指令重新定义。 伪指令“=”与“EQU”有什么异同点? 【参考答案】 =与EQU具有相同的功能,区别仅在于用等号语句定义的符号名可以再定义。 定义如下数据段, DATA SEGMENT FIRST DB 66H SECOND DW –6,100H THIRD DD 5*20 ONE DB ‘ABC’,’OK’ TWO DW ‘OK’ AB DB 0,?,?,0 CD DW ?,66H,? DATA ENDS 试画出这些变量代表的数据在内存的存储方式。 【参考答案】 定义如下数据段, DATA SEGMENT TAB1 DB 2DUP(0,1) TAB2 DW 2DUP(1110H,?) TAB DB 2DUP(0SDUP(1,2),6) DATA ENDS 试将这三个变量展开成字节存放的形式。 【参考答案】 TAB1 DB 00,01,00,01,10,11,-,-,10,11,-,- TAB DB 00,01,02,01,02,06,00,01,02,01,02,06 假定标号ONE和TWO处于同一代码段内,CS=1000H,其偏移地址分别为0200H和0400H;变量A和B处于同一数据段内,DS=4000H,其偏移地址分别为0600H和0800H。试写出如下伪指令的结果。 【参考答案】 段定义伪指令有哪几种定位类型? 【参考答案】 PARA, BYTE, WORD, PAGE 段定义伪指令有哪几种组合类型? 【参考答案】 NONE, PUBLIC, COMMON, AT, STACK, MEMORY. 段定义伪指令有哪几种类别? 【参考答案】 代码段“CODE”;数据段“D

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档