;子程序名:在字符串1后面追加字符串2,设字符串均以0结束
;功 能:在字符串1末追加字符串2
;入口参数:DS:SI=字符串1起始地址的段值:偏移
; DS:DI=字符串2起始地址的段值:偏移
;出口参数:无
;说 明:不考虑在字符串1后是否留有足够的空间
STRCAT PROC
PUSH ES
PUSH AX
PUSH CX
PUSH SI
PUSH DI
CLD
PUSH DS
POP ES ;使ES同DS
PUSH DI
MOV DI,SI
XOR AL,AL
MOV CX,0FFFFH
REPNZ SCASB ;确定字符串1的尾
LEA SI,[DI-1] ;SI指向字符串1的结束标志
POP DI
MOV CX,0FFFFH
REPNZ SCASB ;测字符串2的长度
NOT CX ;CX为字符串2包括结束标志的长度
SUB DI,CX ;DI再次指向字符串2的首地址
XCHG SI,DI ;为拼接作准备
TEST SI,1 ;字符串2是否从奇地址开始?
JZ STRCAT1
MOVSB ;特别处理第一字节
DEC CX
STRCAT1: SHR CX,1 ;移动数据块长度2
REPZ MOVSW ;子移动
STRCAT2: POP DI
POP SI
POP CX
POP AX
POP ES
RET
STRCAT ENDP
需要加什么才能运行,本人完全白痴,只为作业,求人帮帮忙,谢了。