77范文网 - 专业文章范例文档资料分享平台

《微机原理与接口技术》课后习题答案(2)

来源:网络收集 时间:2018-12-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第三章

1.分别指出下列指令中的源操作数和目的操作数的寻址方式: (1)MOV SI,200 立即寻址 寄存器寻址

(2)MOV CX,DATA[SI] 寄存器相对寻址 寄存器寻址 (3)ADD AX,[BX][DI] 基址变址寻址 寄存器寻址 (4)AND AX,BX 寄存器寻址 寄存器寻址 (5)MOV [SI],AX 寄存器寻址 寄存器间接寻址 (6)PUSHF 寄存器寻址 寄存器间接寻址 2.写出以下指令中内存操作数的所在地址。 (1)MOV AL,[BX+5] DS (2)MOV [BP+5],AX SS (3)INC BYTE PTR[SI+3] DS (4)MOV DL,ES:[BX+DI] ES (5)MOV BX,[BX+SI+2] DS

3.设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1)执行指令PUSH AX后SP=?

答:执行指令PUSH AX后 (SP)=2000H-2=1FFEH;

(2)再执行PUSH BX及POP AX后SP=? AX=? BX=?

答:再执行PUSH BX及POP AX后 (SP)=1FFEH, (AX)=5000H, (BX)=5000H 4.要想完成把[2000H]送[1000H]中,用指令:

MOV[1000H],[2000H]是否正确?如果不正确,应用什么方法? 答:把[2000H]送[1000H]中,用指令 MOV [1000H],[2000H]不正确,应改为:MOV AX,[2000H] MOV [1000H],AX

5.假如想从100中减去AL中的内容,用SUB100,AL是否正确?如果不正确,应用什么方法?

答:想从100中减去AL中的内容,用SUB 100,AL不正确, 应改为: MOV BL,100 SUB BL,AL

6.用两种方法写出从88H端口读入信息的指令。再用两种方法写出从42H口输出100H的指令。

答: 读入: (1)IN AL,88H (2)MOV DX,0088H IN AL, DX 输出: (1)MOV AL,100H OUT 42H,AL (2)MOV DX,0042H MOV AL,100H OUT DX,AL

7.假如AL=20H,BL=10H,当执行CMP AL,BL后,问:

(1)若AL,BL中内容是两个无符号数,比较结果如何?影响哪几个标志位? 答:此时 AL>BL, CF=0,ZF=0

(2)若AL,BL中内容是两个有符号数,结果又如何?影响哪几个标志位? 答:此时 AL>BL, OF=0,SF=0

6

第四章

1.编一个程序,统计一个8位二进制数中的为“1”的位的个数。 答案:假设AL中存放的是需要的8位数 xor ah,ah mov cx,8

loop1: sal al,1 ;左移 adc ah,0 ;加CF loop loop1

最终结果AH中为1的个数。 2.编一个程序,使放在DATA及DATA+1单元的两个8位带符号数相乘,乘积放在DATA+2及DATA+3单元中(高位在后)。

--先运行如下sql,建立一个合并函数

create function fmerg(@company varchar(200)) returns varchar(8000) as begin

declare @str varchar(8000) set @str=''

select @str=@str+','+jobname from zhaopin where company=@company set @str=right(@str,len(@str)-1) return(@str) End go

--调用自定义函数得到结果

select distinct company,dbo.fmerg(company) from zhaopin

3.若在自1000H单元开始有一个100个数的数据块,要把它传送到自2000H开始的存储区中去,用以下三种方法,分别编制程序: (1)不用数据块传送指令;

(2)用单个传送的数据块传送指令; (3)用数据块成组传送指令。 解:

(1) LEA ST, 1000H LEA DI, 2000H MOV CX, 100 L1: MOV AX, [SI] MOV [DI], AX LOOP L1 HLT

(2) LEA SI, 1000H LEA DI, 2000H MOV CX, 100 CLD L1: MOVSB

7

LOOP L1 HLT

(3) LEA ST, 1000H LEA DI, 2000H MOV CX, 100 CLD

REP MOVSB HLT

4.利用变址寄存器,编一个程序,把自1000H单元开始的100个数传送到自1070H开始的储存区中去。 解:

LEA SI, 1000H LEA DI, 1070H MOV CX, 100 CLD

REP MOVSB HLT

5.要求同题4,源地址为2050H,目的地址为2000H,数据块长度为50。 解:

LEA SI, 2050H

LEA DI, 2000H MOV CX, 50 CLD

REP MOVSB HLT

6.编一个程序,把自1000H单元开始的100个数传送至1050H开始的存储区中(注意:数据区有重叠)。 解:

LEA SI, 1000H LEA DI, 1050H ADD SI, 63H ADD DI, 63H MOV CX, 100 STD

REP MOVSB HLT

7.在自0500H单元开始,存有100个数。要求把它们传送到1000H开始的存储区中,但在传送过程中要检查数的值,遇到第一个零就停止传送。 解:

LEA SI, 0500H

LEA DI, 1000H MOV CX, 100 N1: MOV AL, [SI] CMP AL, 0

8

JZ N2

MOV [DI], AL INC SI

INC DI LOOP N1 N2: HLT

8.条件同题7,但在传送过程中检查数的值,零不传送,不是零则传送到目的区。 解: MOV SI, 0500H MOV DI, 1000H MOV CX, 100 N1: MOV AL, [SI] CMP AL, 0 JZ N2

MOV [DI], AL N2; INC SI INC DI LOOP N1 HLT

9.把在题7中指定的数据块中的正数,传送到自1000H开始的存储区。 MOV SI, 0500H

MOV DI, 1000H MOV CX, 100 N1: MOV AL, [SI] CMP AL, 0 JS N2

MOV [DI], AL INC DI N2; INC SI LOOP N1 HLT

10.把在题7中指定的数据块中的正数,传送到自1000H开始的存储区;而把其中的负数,传送到自1100H开始的存储区。且分别统计正数和负数的个数,分别存入1200H和1201H单元中。

MOV SI, 0500H

MOV DI, 1000H MOV BX, 1100H MOV CX, 100H MOV DX, 0 N1: MOV AL, [SI] CMP AL, 0 JS N2

MOV [DI], AL INC DL INC SI

9

INC DI

JMP N3 N2: MOV [BX], AL INC DH INC SI INC BX N3: LOOP N1

MOV BX, 1200H MOV [BX], DL MOV [BX+1], DH HLT

11.自0500H单元开始,有10个无符号数,编一个程序求这10个数的和(用8位数运算指令),把和放到050A及050B单元中(和用两个字节表示),且高位在050B单元。 解: LEA BX, 0500H MOV AX, 0 MOV CL, 10 N1: MOV DL, [BX] ADD AL, DL ADC AH, 0 INC BX DEC CL JNZ N1

MOV 050AH, AX

12.自0200H单元开始,有100个无符号数,编一个程序求这100个数的和(用8位数运算指令),把和放在0264H和0265H单元(和用两字节表示),且高位在0265H单元。 解: LEA BX, 0200H MOV AX, 0 MOV CL, 100 N1: MOV DL, [BX] ADD AL, DL ADC AH, 0 INC BX DBC CL JNZ N1

MOV 0264H,AL

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《微机原理与接口技术》课后习题答案(2)在线全文阅读。

《微机原理与接口技术》课后习题答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/344682.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: