问答题 将A单元起的100个数据移到B单元起的存储区中,试用三种方法实现数据的搬移。
【正确答案】方法一:
   DATA  SEGMENT
     A  DB  100 DUP(1)
     B  DB  100 DUP(?)
   DATA ENDS
   CODE SEGMENT
   ASSUME  CS:CODE,DS:DATA
   START:MOV  AX,DATA
          MOV  DS,AX
          MOV  SI,OFFSET A
          MOV  DI,OFFSET B
          MOV  CX,100
   NEXT: MOV  AL,[SI]    ;完成数据转移
          MOV  [DI],AL
          INC  SI
          INC  DI
          LOOP NEXT
          MOV  AH,4CH
          INT  21H
   CODE ENDS
   END START
   方法二:
   DATA  SEGMENT
     A  DB  100 DUP(1)
     B  DB  100 DUP(?)
   DATA  ENDS
   CODE  SEGMENT
     ASSUME  CS:CODE,DS:DATA
   START:MOV  AX,DATA
          MOV  DS,AX
          MOV SI,0
          MOV CX,100
   NEXT: MOV AL,A[SI]    ;使用相对位移实现转移
          MOV B[SI],AL
          INC SI
          LOOP NEXT
          MOV  AH,4CH
          INT  21H
   CODE ENDS
   END START
   方法三:
   DATA  SEGMENT
     A  DB  100 DUP(1)
     B  DB  100 DUP(?)
   DATA    ENDS
   CODE    SEGMENT
     ASSUME  CS:CODE,DS:DATA
   START:MOV  AX,DATA
          MOV  DS,AX
          LEA  SI,A
          LEA  DI,B
          MOV  CX,100
          CLD
          REP  MOVSB    ;使用REP MOVSB实现数据转移
          MOV  AH,4CH
          INT  21H
   CODE ENDS
   END START
【答案解析】