VS2017如何使用C_C++語言呼叫匯編函式

路人暴脾氣發表於2017-12-17

VS2017如何使用C_C++語言呼叫匯編函式

1. 使用VS 建立一個新的空專案

2. 新建 main.cpp 檔案和 test.asm 檔案

這裡寫圖片描述

3. main.cpp 檔案與 test.asm 檔案

main.cpp

//main.cpp 
#include <stdio.h>
#include <stdlib.h>

extern "C" int test_(int a,int b,int c);

int main()
{
    int a = 17;
    int b = 20;
    int c = 19;
    int sum = test_(a, b, c);
    printf("c = %d\n", sum);

    system("pause");
    return 0;
}

test.asm


;測試函式   三個數相加  
;.386
.model flat, c
;public test_

.code

test_ proc

;初始化棧幀指標
    push ebp
    mov ebp,esp
;載入引數值
    mov eax,[ebp+8]
    mov ecx,[ebp+12]
    mov edx,[ebp+16]

;求和
    add eax,ecx
    add eax,edx

;恢復父函式的棧幀指標

    pop ebp
    ret


test_ endp
end

4. 配置test.asm 檔案

【1】
這裡寫圖片描述
【2】
這裡寫圖片描述
點選確定

【3】
再次開啟屬性頁
命令列填寫: ml /c /coff %(fileName).asm
輸出填寫:%(fileName).obj;%(OutPuts)
————-(注意空格)——–
這裡寫圖片描述

5. 編譯 執行

這裡寫圖片描述

相關文章