; The M13_COPYSTR.ASM file .586P .MODEL FLAT, stdcall ; Flat memory model PUBLIC COPYSTR _TEXT SEGMENT ; Procedure for copying the null-terminated source string to the target string. ; ; Input: ; str_dest...Target string [ EBP + 08H ] ; str_src....Source string [ EBP + 0CH ] ; Output: ; EAX........address of the target string ; ; WARNING! target string length is unchecked ; COPYSTR PROC str_dest: DWORD, str_src: DWORD MOV ESI, str_src ; DWORD PTR [ EBP + 0CH ] MOV EDI, str_dest ; DWORD PTR [ EBP + 08H ] L1: MOV AL, BYTE PTR [ESI] MOV BYTE PTR [EDI], AL CMP AL, 0 JE L2 INC ESI INC EDI JMP L1 L2: MOV EAX, DWORD PTR [ EBP + 08H ] RET COPYSTR ENDP _TEXT ENDS END