在程序集中创建C字符串复制功能

时间:2018-04-12 21:00:57

标签: c assembly

我正在尝试在程序集中模拟C字符串复制命令。我将名为A的数组传递给.asm文件,并希望将其作为名为B的数组返回,然后打印出来,如下所示。我不知道该怎么做。我试图用“MOV EDX,[EBP + 4];”从堆栈中取出值,但我不知道如何将此作为变量返回到我的C文件。

MAIN.C

int main()
{
    char A[] = "abcdef";
    char B[100];
    strcopyx(B,A,sizeof(B));
    printf("%s\n",B);
    return sieve();
}

cstringlib.asm

.586
.MODEL FLAT
.STACK 4096                 
n=550
.data
    PUBLIC _strcopyx
    charArray DWORD 4 DUP(?)
.code

_strcopyx  PROC
PUSH EBP
MOV EBP,ESP

MOV EDX,[EBP+4];get A ??

mov eax, 0

POP EBP
ret
_strcopyx ENDP
END

0 个答案:

没有答案