Для моего назначения я пытаюсь написать функцию Insert, такую как вставка C++. Моя функция должна вставить одну строку в другую строку в определенном месте.Как вставить строку в другую строку в определенной позиции в Assembly?
Входы:
destination : Be my friend today
source : good
position : 6
Выходные:
Be my good friend today
Как я должен сделать комнату в середине строки?
Это мой код до сих пор.
Insert PROC PROC uses edi esi ebx ecx,
destination:DWORD ,
source:DWORD,
position:DWORD
mov esi,destination ;add esi address of str
add esi,position
add esi,4 ;lenght of source
mov edi,destination
add edi,position
;I don't know what should I do in here
;How should I make room in the middle of destination ?
;How should I insert at certain position + source length :-(
;Also, I shouldn't use loop and lea.
rep movsb
Insert ENDP
Попробуйте мой ответ и дайте мне знать! –