C語言與彙編語言混合編程實驗

混合編程方法:編程

  1. 模塊連接法
  2. 彙編指令嵌入法

1: 模塊連接法則

模塊連接法是指分別用匯編語言和C語言實現獨立的模塊(或子程序),再用連接程序把各模塊生成的obj文件鏈接成一個可執行程序。spa

  •  1:C語言調用匯編語言子程序:即由彙編語言實現子程序,C語言實現主程序。
  •  2: 彙編語言調用C語言子程序:即由C語言實現子程序,彙編語言實現主程序。

1.1 C語言調用匯編語言子程序

首先準備彙編語言子程序,以下(採用了簡化段定義方式):
    .386
    .model flat, C
    .STACK
    .CODE
getmax PROC Param1:SDWORD, Param2:SDWORD
    MOV EAX, Param1
    CMP EAX, Param2
    JG EXIT
    MOV EAX, Param2
EXIT:
    RET
getmax  ENDP
    END

用新的彙編程序ML彙編源文件,格式爲:ML /c /coff 源文件名
 這樣就會生成一個Win32下支持的格式的obj文件code

 

 

 成功生成 ok.objblog

在VC6中建立一個項目,添加C語言源文件到項目,再把彙編生成obj文件也添加到項目(跟源文件同樣),而後編譯便可。

get

extern  int getmax(int a, int b);
#include <stdio.h>
int main(int argc, char* argv[])
{
    int m = getmax(12, 8);
    printf("%d",m);
    return 0;
}

如何添加OBJ文件:io

方式一: 右鍵你建立的項目添加文件到工程便可正常連接編譯

方式二: 工程選項》設置class

 

 

 將剛纔的ok.obj 這個能夠是你的彙編程序生成的任何obj文件,添加到model

 

 

 注意:ok.obj 必須在當前工程的目錄下gc

 運行

 

 

 

1.2彙編語言調用C語言子程序

 

 

2: 彙編指令嵌入發

相關文章
相關標籤/搜索