如何从C ++使用Masm函数的自定义调用约定

时间:2019-05-07 14:44:28

标签: visual-c++ masm calling-convention

为了简化一些汇编代码以简化函数链接,我使用了调用约定,其中单个参数通过rax传递,输出也通过rax传递,这样我就可以调用一堆函数而不必使用mov rcx,rax。

在汇编中,这有效,当我尝试使用C ++时,问题就来了,没有这样的调用约定,而且由于我使用的是x64,所以不能使用内联汇编。

其他信息:

我正在使用Visual Studio 2019

这是功能之一(尽管我不认为您需要使用它来理解概念):

digcount proc
    mov rcx,10
    mov r11,0
lop:
    mov rdx,0
    cmp rax,0
    jz dend
    div rcx
    inc r11
    jmp lop
dend:
    mov rax, r11
    ret
digcount endp

0 个答案:

没有答案