微机原理第5章 习题(lar).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习 题 5 答案 1.什么是汇编语言? 它和机器语言及高级语言有何区别? 答:汇编语言是面向机器的程序设计语言,助记符形式,它是符号化的机器语言。高级语言更符合人的逻辑思维,容易掌握。机器语言是二进制的,计算机能直接执行,但不便于人们书写和记忆。 2.汇编语言程序一般包括了哪些段?如何定义这些段?这些段分别有什么作用? 答:数据段、代码段、椎栈段。定义方式有简化段定义和复杂段定义两种方式。 3.汇编语言程序的每行语句由哪些部分组成?指令语句前的标号和伪指令语句前的标号在写法上有何不同? 答:标号、操作码、操作数、注释。指令语句前的标号后有“:”分隔,伪指令语句的标号没有“:”。 4.汇编语言程序有哪些数据类型?它们的后缀怎么表示? 5.汇编语言程序的标号有什么规定?地址标号有哪三种属性? 答:见教材。地址标号具有三种属性:段属性(SEGMENT)、偏移属性(OFFSET)、距离属性(NEAR/FAR )。 6.汇编语言程序的变量如何定义?变量有哪三种属性? 答:变量( Variable )是存储器中某个数据区的名字,数据区中的内容可以改变,因此变量的值也可以改变。通过DB、DW、DD等伪指令定义。 变量具有的三种属性:段属性(SEGMENT)、偏移属性(OFFSET)、类型属性(TYPE)。 7.汇编语言程序中,算术表达式、逻辑表达式、关系表达式各有什么含义? 答:见教材。 8.什么是伪指令?它和指令有何区别? 答:伪指令用来告诉编译程序如何对源程序进行汇编,它不生成目标代码, CPU不执行。 指令会生成对应的机器代码,CPU执行。 9.什么是汇编器?汇编语言程序上机包括哪些步骤? 答:把汇编语言源程序翻译成目标程序(二进制代码)的软件。 10.什么是DOS和BIOS功能调用?采用DOS功能调用时,一般步骤是什么? 答:见教材。 11.指令“OR AX, X OR Y”中X和Y是两个已赋值的常量,问两个OR操作符在功能上有什么区别?它们分别在什么时候操作? 答:X OR Y是在汇编时由编译其完成的,这个逻辑运算符OR只能用于数值表达式,结果也是数值。 而指令中的OR是操作码,CPU要执行的。 12.指出以下四条指令的作用(HEX为数据段的一个变量名) ⑴ MOV BX, HEX 答:变量对应的值送BX ⑵ LEA BX, HEX 答:变量的偏移地址送BX ⑶ MOV BX, OFFSEG HEX 答:变量的偏移地址送BX ⑷ MOV BX, SEG HEX 答:变量的段地址送BX 13.下面是变量定义伪指令, DATA SEGMENT BUF DW 3 DUP(5,2 DUP(8)) CED DB ‘Welcome to you’,ODH, OAH, ‘$’ ADDR DW BUF COUNT EQU $-CED DATA ENDS 问: ⑴ 按内存单元存放的先后次序,按字节写出数据段中的数据。 ⑵ 说明 对BUF, CED, ADDR等变量施行TYPE, LENGTH SIZE运算符后,其结果分别为多少? ⑶ COUNT的值为多少? 答:⑴按内存单元存放的先后次序,按字节写出数据段中的数据。 05H, 00H, 08H, 00H, 08H, 00H, 05H, 00H, 08H, 00H, 08H, 00H, 05H, 00H, 08H, 00H, 08H, 00H, 57H, 65H, 6CH, 63H, 6FH, 6DH, 65H, 20H, 74H, 6FH, 20H, 79H, 6FH, 75H, 0DH, 0AH, 24H, 00H, 00H ⑵ 对BUF, CED, ADDR等变量施行TYPE后,值分别为2、1、2, 对BUF, CED, ADDR等变量施行LENGTH后,其结果分别为 3、1、1 对BUF, CED, ADDR等变量施行SIZE运算符后,其结果分别为 6、 1、2 ⑶ COUNT的值为 19 14.编写一个汇编语言程序,将字符串‘Assembly Language Programming’全部转换为大写字母,存放到原来所在单元。 15.编写一个将16位二进制数转换成BCD码数的程序。 答:解法一: DATA SEGMENT BIN DB 5C0EH ;待转换数为23567 ADEC DB 5 DUP(?) TAB DW 10000,1000,100,10,1 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA, BXEDC PROC FAR START: MOV AX,DATA

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档