DATA SEGMENT
ORG $+20H
STRG DB 3 DUP('ABCDEFG')
ORG $+20H
BLOCK1 DW STRG+5 ;Fountion address
BLOCK2 DW STRG+15;Aim address
LENG EQU 10
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS: CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET STRG + 5
MOV DI,OFFSET STRG + 15
CMP SI,DI
JAE NEXT1
ADD SI,LENG
ADD DI,LENG
NEXT2:
DEC SI
DEC DI
XOR AX,AX
MOV AL,[SI]
MOV [DI],AL
CMP SI,OFFSET STRG + 5
JNE NEXT2
JMP NEXT3
NEXT1:
XOR AX,AX
MOV AL,[SI];-------------------------这个地方是字节传送,不要写成AX(字传送)
MOV [DI],AL
INC SI
INC DI
CMP SI,(OFFSET BLOCK1) + 9
JNE NEXT1
NEXT3:
MOV AH,4CH
INT 21H
CODE ENDS
END START