微机原理与接口技术(第二版)课后习题答案 下载本文

XCHG CX, BX MOV DH, [BX] MOV DL, 01H XCHG CX, BX MOV [BX],DL HLT

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

AL = 1OH BL = OOH BH = 2OH CL = OOH CH = 1OH DH = 1OH (10O0H) = lOH (200OH) = 0lH

2.要求同题4.1,程序如下:

MOV AL, 50H MOV BP, 100OH

21

MOV BX, 200OH MOV [BP], AL MOV DH, 20H MOV [BX], DH MOV DL, OlH MOV DL, [BX] MOV CX, 300OH HLT

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

AL = 5OH BL = OOH BH = 20H CL = OOH CH = 30H DL = 20H DH = 2OH BP = 100OH (10OOH) = 5OH

22

(20OOH) = 20H

4.3 自1000H单元开始有一个100个数的数据块,若要把它传送到自200OH开始的存

储区中去,可以采用以下3种方法实现,试分别编制程序以实现数据块的传送。

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

(1) LEA SI, 1OOOH

LEA DI, 200OH MOV CX, 100

L1: MOV AX, [SI]

MOV [DI], AX LOOP Ll HLT

(2) LEA SI, 100OH

23

LEA DI, 2000H MOV CX, 100 CLD L1: MOVSB

LOOP L1 HLT

(3) LEA SI, 100OH

LEA DI, 200OH MOV CX, 100 CLD REP MOVSB HLT

4.4 利用变址寄存器,编写一个程序,把自1000H单元开始的100个数传送到自1070H

开始的存储区中去。 解:

LEA SI, 100OH

24

LEA DI, 1070H MOV CX, 100 CLD REP MOVSB HLT

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

LEA SI, 205OH LEA DI, 200OH MOV CX, 50 CLD REP MOVSB HLT

4.6 编写一个程序,把自100OH单元开始的100个数传送'至105OH开始的存储区中

(注意:数据区有重叠)。 解:

LEA SI, 100OH

25