欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在TC2.0中調(diào)用匯編程序

 更新時間:2013年05月06日 15:31:21   作者:  
本篇文章介紹了,如何在TC2.0中調(diào)用匯編程序的解決方法。需要的朋友參考下

TC是美國BORLAND 公司在IBM PC機(jī)上開發(fā)的一個高效、優(yōu)化的C編譯程序,它自帶高效的全屏幕編輯程序,在集成開發(fā)環(huán)境下可支持編輯、編譯、連接調(diào)試和運行等過程連續(xù)完成。

    TC提供了與匯編語言的接口和在C程序中直接插入?yún)R編指令代碼的功能,支持以“遠(yuǎn)調(diào)用”和“近調(diào)用”方式來調(diào)用使用匯編語言編寫的函數(shù)。

    TC調(diào)用匯編語言函數(shù)時,對匯編語言的編寫要求十分嚴(yán)格,并且對大小寫字母也有嚴(yán)格的區(qū)分。如果在編寫供TC調(diào)用的匯編函數(shù)時不按照規(guī)定好了的格式書寫,調(diào)用是不會成功的。

下面先舉一個在TC中調(diào)用匯編函數(shù)的例子,然后再詳細(xì)講解怎樣做才能成功。
步聚如下:

1、在TC集成環(huán)境中編寫一個主程序(名為TCMAIN.C)

/*程序功能:建立一個整型數(shù)組并輸入數(shù)組的各元素值,調(diào)用匯編代碼以取得元
  素最大值和該最大值在數(shù)組中的位置*/
#include<stdio.h>
void main()
{
    extern found(int i,int*j,int *k,int *s);
    int i,j,k,s[10];
    printf("Enter Values of Array:/n");
    for(i=0;i<10;i++)
       scanf("%d",&s[i]);
    i=10;
    found(i,&j,&k,s);
    printf("/nThe Max_Value is:%d/n",j);
    printf("The Place is:%d/n",k);
}

2、在TC集成環(huán)境中編寫如下匯編代碼(取名為TCFOUND.ASM)
(功能:取得數(shù)組元素最大值和該最大值在數(shù)組中的位置)
  PUBLIC _FOUND
_TEXT SEGMENT BYTE PUBLIC 'CODE'
  ASSUME CS: _TEXT
_FOUND  PROC NEAR
   PUSH BP
   MOV  BP,SP
   MOV  CX,[BP+4]
   DEC  CX
   MOV  SI,[BP+10]
   LODSW
   MOV  DX,1
   MOV  BX,0
COMP:  CMP  AX,[SI]
   JA  BIGGER
   MOV  AX,[SI]
   MOV  BX,DX
BIGGER:  INC  SI
   INC  SI
   INC  DX
   LOOP COMP
   MOV  DI,[BP+6]
   MOV  [DI],AX
   MOV  DI,[BP+8]
   MOV  [DI],BX
   POP  BP
   RET
_FOUND  ENDP
_TEXT  ENDS
   END

3、用MASM宏匯編在命令行下對TCFOUND.ASM匯編:

    masm tcfound.asm
匯編后生成一個模塊文件 tcfound.obj
注意:如果tcfound.asm不在該目錄下,必須指出該文件所在路徑。
      匯編后把tcfound.obj復(fù)制到TC目錄下,以便于建立TC下的工程文件。

4、工程文件的建立

   在TC集成環(huán)境下建一個新文件,其內(nèi)容為:
TCMAIN.C
TCFOUND.OBJ
就只有以上兩行內(nèi)容,寫完后保存為MYTC.PRJ
注意:MYTC.PRJ是一個工程文件,其后綴必須為.PRJ,這是TC中工程文件的標(biāo)識。這個工程文件
      的內(nèi)容只有兩行,說明了該工程包含了TCMAIN.C和TCFOUND.OBJ兩個程序模塊。對工程文件
      編譯連接時將依次編譯和連接這兩個文件,最后連接成可執(zhí)行文件MYTC.EXE

5、編譯連接前的設(shè)置

    由于TC對大小寫字母非常敏感,而MASM匯編生成的OBJ文件均為大寫字母,故需把LINKER選項中的CASE-SENSITIVE LINK(大小寫敏感連接)開關(guān)關(guān)閉(OFF)狀態(tài)。

    操作如下:

F10--OPTION--LINKER    回車后選菜單的最下面的一項“CASE-SENSITIVE LINK”,把光標(biāo)停在這一選項上,回車即可改變其設(shè)置為“OFF”狀態(tài)。
    最后不要忘了保存設(shè)置的結(jié)果。

6、編譯連接

    選菜單 F10---Project---Project name   回車后輸入剛才建立的工程文件名MYTC
    選菜單 F10---Compile---Build all  回車后即開始對工程文件MYTC.prj編譯連接,最后生成可運行文件MYTC.EXE

您可能感興趣的文章:

相關(guān)文章

  • c++ 虛函數(shù)與純虛函數(shù)的區(qū)別(深入分析)

    c++ 虛函數(shù)與純虛函數(shù)的區(qū)別(深入分析)

    本篇文章是對c++中虛函數(shù)與純虛函數(shù)的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++實現(xiàn)LeetCode(70.爬樓梯問題)

    C++實現(xiàn)LeetCode(70.爬樓梯問題)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(70.爬樓梯問題),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言實現(xiàn)動態(tài)版通訊錄的代碼分享

    C語言實現(xiàn)動態(tài)版通訊錄的代碼分享

    這篇文章主要為大家詳細(xì)介紹了如何利用C語言實現(xiàn)一個簡單的動態(tài)版通訊錄,主要運用了結(jié)構(gòu)體,一維數(shù)組,函數(shù),分支與循環(huán)語句等等知識,需要的可以參考一下
    2023-01-01
  • C++實現(xiàn)圖書館管理系統(tǒng)

    C++實現(xiàn)圖書館管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)圖書館管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++實現(xiàn)簡單學(xué)生信息管理系統(tǒng)

    C++實現(xiàn)簡單學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)簡單學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++實現(xiàn)LeetCode(100.判斷相同樹)

    C++實現(xiàn)LeetCode(100.判斷相同樹)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(100.判斷相同樹),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 使用VSCode和VS2017編譯調(diào)試STM32程序的實現(xiàn)

    使用VSCode和VS2017編譯調(diào)試STM32程序的實現(xiàn)

    這篇文章主要介紹了使用VSCode和VS2017編譯調(diào)試STM32程序的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 深入解析C++中的字符數(shù)組和處理字符串的方法

    深入解析C++中的字符數(shù)組和處理字符串的方法

    這篇文章主要介紹了深入解析C++中的字符數(shù)組和處理字符串的方法,需要的朋友可以參考下
    2015-09-09
  • C++資源管理操作方法詳解

    C++資源管理操作方法詳解

    系統(tǒng)中的資源,諸如動態(tài)申請的內(nèi)存,文件描述符,數(shù)據(jù)庫連接,網(wǎng)絡(luò)socket等,在不用的時候,應(yīng)該及時歸還給系統(tǒng),否則就會造成內(nèi)存泄露
    2022-09-09
  • C語言超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)中的線性表

    C語言超詳細(xì)講解數(shù)據(jù)結(jié)構(gòu)中的線性表

    線性表,數(shù)據(jù)結(jié)構(gòu)中最簡單的一種存儲結(jié)構(gòu),專門用于存儲邏輯關(guān)系為"一對一"的數(shù)據(jù)。線性表是基于數(shù)據(jù)在實際物理空間中的存儲狀態(tài),又可細(xì)分為順序表(順序存儲結(jié)構(gòu))和鏈表
    2022-05-05

最新評論