内容发布更新时间 : 2024/11/19 15:34:01星期一 下面是文章的全部内容请认真阅读。
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