; 实验七-1: 字符串复制程序 - 使用REP MOVSB ; 功能: 将源字符串复制到目标字符串 DATAS SEGMENT SOURCE DB 'Hello, Assembly!', 0 ; 源字符串,以0结尾 DEST DB 20 DUP(?) ; 目标字符串缓冲区 DEST_END DB 0 ; 目标字符串结束标记 DATAS ENDS STACKS SEGMENT DB 64 DUP(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES, DS:DATAS, SS:STACKS START: MOV AX, DATAS MOV DS, AX MOV ES, AX ; 设置ES为同一数据段 LEA SI, SOURCE ; SI指向源字符串 LEA DI, DEST ; DI指向目标字符串 ; 计算源字符串长度 MOV CX, 0 COUNT_LOOP: CMP BYTE PTR [SI + CX], 0 JE COPY_START INC CX JMP COUNT_LOOP COPY_START: ; 使用REP MOVSB复制字符串 REP MOVSB ; 添加字符串结束符 MOV BYTE PTR [DI], 0 ; 程序结束 MOV AH, 4CH INT 21H CODES ENDS END START