您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页微机原理习题解答第四章

微机原理习题解答第四章

来源:抵帆知识网
第四章

1.在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:

MOV AL,10H

MOV CX,1000H

MOV BX,2000H

MOV [CX],AL

XCHG CX,BX

MOV DH,[BX]

MOV DL,01H

XCHG CX,BX

MOV [BX],DL

HLT

解:寄存器及存储单元的内容如下:1

AL=10H

BL=00H

BH=20H

CL=00H

CH=10H

DL=01H

DH=10H

(1000H)=10H

(2000H)=01H

2.要求同题4.1,程序如下:MOV AL,50H

MOV BP,1000H

MOV BX,2000H

2

MOV [BP],AL

MOV DH,20H

MOV [BX],DH

MOV DL,01H

MOV DL,[BX]

MOV CX,3000H

HLT

解:寄存器及存储单元的内容如下: BL=00H

BH=20H

CL=00H

CH=30H

DL=20H

3

DH=20H

BP=1000H

(1000H)=50H

(2000H)=20H

3.自1000H单元开始有一个100个数的数据块,若要把它传送到自2000H开始的存储区中去,可以采用以下三种方法实现,试分别编写程序以实现数据块的传送。

(1)不用数据块传送指令。

(2)用单个传送的数据块传送指令。

(3)用数据块成组传送指令。

解:(1)LEA SI,1000H

LEA DI,2000H

MOV CX,100

L1: MOV AX,[SI]

MOV [DI],AX

4

LOOP L1

HLT

(2)LEA SI,1000H

LEA DI,2000H

MOV CX,100

CLD

L1:MOVSB

LOOP L1

HLT

(3)LEA SI,1000H

LEA DI,2000H

MOV CX,100

CLD

5

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开始的存储区中,但在传送过程中要检查数的值,遇到第一个零时就停止传送。

6

解:LEA SI,0500H

LEA DI,1000H

MOV CX,100

N1:MOV AL,[SI]

TEST AL,0

JZ,N2

MOV [DI],AL

INC SI

INC DI

LOOP N1

N2:HLT

12.自0200H单元开始,有100个无符号数,编写一个程序,求这100个数的和(用8位数运算指令),把和存放在02H和0265H单元(和用两个字节表示),且高位在0265H单元。

7

解:LEA BX,0200H

MOV AX,0

MOV CL,100

N1:MOV DL,[BX]

ADD AL,DL

ADC AH,0

INC BX

DEC CL

JNZ N1

MOV 02H,AL

14.若在0500H单元中有一个数X:

(1)利用加法指令把它乘2,且送回原存储单元(假定X×2后仍为一个字节)。

(2)X×4。

8

(3)X×10(假定X×10≤255)。

解:(1)LEA BX,0500H

MOV AL,[BX]

ADD AL,AL

MOV [BX],AL

(2)LEA BX,0500H

MOV AL,[BX]

ADD AL,AL

ADD AL,AL

MOV [BX],AL

(3)LEA BX,0500H

MOV AL,[BX]

ADD AL,AL

9

MOV DL,AL

ADD AL,AL

ADD AL,AL

ADD AL,DL

MOV [BX],AL

33.若在0200H和0201H单元中有两个正数,编写一个程序比较它们的大小,并且把大的数放在0201H单元中。

解:MOV AL,[0200H]

CMP AL,[0201H]

JNS LAG

JMP NEXT

LAG:XCHG AL,[0201H]

NEXT:

38.若自1000H单元开始有1000个无符号数,把它们的最大值找出来,并且放在

10

2000H单元中。

解:LEA BX,[1000H]

MOV AX,[BX]

INC BX

INC BX

MOV CX,999

AGAIN:CMP AX,[BX]

JNC NEXT

MOV AX,[BX]

NEXT: INC BX

INC BX

LOOP AGAIN

MOV [2000H],AX

11

HLT

12

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务