- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)