微机原理与接口技术(第3版)习题与答案 第4章 .doc

微机原理与接口技术(第3版)习题与答案 第4章 .doc

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

微机原理与接口技术(第3版)习题答案

PAGE

PAGE1

第4章习题答案

练习题1

4.1-1设A=10,B=20,Q=30,D=2,执行下列指令后,AL的值为多少?

(1)MOVAL,A?5-B+D (2)MOVAL,QMOD(A?D)

(3)MOVAL,AAND7 (4)MOVAL,QLEB

(5)MOVAL,B/AMODD (6)MOVAL,(ASAL2)+(QSHL2)

【解答】(1)32

(2)6

(3)1010AND0111=0010B,2

(4)0

(5)0

(6)160

4.1-2有如下数据定义:

DA1DB4DUP(5),2

COUNTEQU10

DA2 DDCOUNTDUP(?)

问:(1)上述数据定义为变量DA1分配多少字节存储空间?(2)为变量DA2分配多少字节存储空间?

【解答】(1)为DA1分配5字节;(2)为DA1分配40字节

4.1-3画出以下伪指令所定义的数据在存储器中的存放示意图。

DATA1DB66H,33H

DATA2DW12ABH,99H,?

DATA3DB05H,3DUP(1,2)

【解答】

66H

DATA1

33H

ABH

DATA2

12H

99H

00H

?

?

55H

DATA3

1

2

1

2

1

2

4.1-4有如下数据定义:

D1 DB 20 DUP(?)

D2 DW 01H

请写出用一条指令实现取D1的偏移地址到SI的2种方法

【解答】LEA SI,D1或者MOVSI,OFFSETD1

4.1-5写出具有下列功能的伪指令语句:

(1)在DATA为首地址的存储单元中连续存放字节数据:4个18,5个‘B’,10个(2,4,6);

(2)将字数据1234H、0ABCH存放在定义为字节变量的VAR存储单元中,并且不改变数据按字存储的次序

【解答】

(1)DATADBDUP4(18),5DUP(‘B’),10DUP(2,4,6)

(2)VAR DB34H,12H,0BCH,0AH

4.1-6假设程序中的数据定义如下:

LNAME DB 30DUP(?)

ADDRESS DB 30DUP(?)

CODE_LIST DB 1,7,8,3,2

CITY DB 15DUP(?)

(1)用一条MOV指令将LNAME的偏移地址存入AX。

(2)用一条指令将CODE_LIST的头两个字节存入SI。

(3)写一条伪指令使CODE_LENGTH的值等于CODE_LIST的实际长度。

【解答】(1)MOVAX,OFFSETLNAME

(2)MOV SI,WORDPTRCODE_LIST

(3)CODE_LENGTH=CITY?CODE_LIST

练习题2

4.2-1判断:汇编语言程序通常由几个段组成,可以没有数据段,没有堆栈段,但不能没有代码段。()

【解答】(对)

4.2-2完整的段定义是由伪指令SEGMENT定义段的开始,用伪指令ENDS作为段的结束。而段的性质可以由段的名字来决定吗?

【解答】:在完整段定义结构中,段的性质(也就是说改段是代码段、还是数据段、堆栈段)不能由段的名字决定,必须由伪指令ASSUME指明。

4.2-3阅读下列程序,找出其中不符合汇编语言规范之处,并修改。

DATA SEGMENT

A: DB 35,,24H,‘XYZ’

B: DB N DUP(0)

N: EQU $-A

ENDS

CODE SEGMENT

START: MOVAX,DATA

MOVDS,AX

LEA SI,A

LEA DI,B

MOVCX,N

LOP MOVAL,[SI]

MOV[DI],AL

INC SI

INC DI

LOOPLOP ;跳转到标号LOP处构成循环结构

MOVAH,4CH

INT 21H

ENDS

END START

【解答】存在以下错误:

=1\*GB3①变量定义时变量名后不要加“:”

=2\*GB3②DATA段定义结束时ENDS前少了段名DATA

=3\*GB3③少了ASSUME语句

=4\*GB3④标号LOP后少

您可能关注的文档

文档评论(0)

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

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档