最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

1、在TC集成環(huán)境中編寫(xiě)一個(gè)主程序(名為T(mén)CMAIN.C)

/*程序功能:建立一個(gè)整型數(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)境中編寫(xiě)如下匯編代碼(取名為T(mén)CFOUND.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宏匯編在命令行下對(duì)TCFOUND.ASM匯編:

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

4、工程文件的建立

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

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

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

    操作如下:

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

6、編譯連接

    選菜單 F10---Project---Project name   回車(chē)后輸入剛才建立的工程文件名MYTC
    選菜單 F10---Compile---Build all  回車(chē)后即開(kāi)始對(duì)工程文件MYTC.prj編譯連接,最后生成可運(yùn)行文件MYTC.EXE

您可能感興趣的文章:

相關(guān)文章

  • C++詳細(xì)分析講解函數(shù)參數(shù)的擴(kuò)展

    C++詳細(xì)分析講解函數(shù)參數(shù)的擴(kuò)展

    在C++中,定義函數(shù)時(shí)可以給形參指定一個(gè)默認(rèn)的值,這樣調(diào)用函數(shù)時(shí)如果沒(méi)有給這個(gè)形參賦值(沒(méi)有對(duì)應(yīng)的實(shí)參),那么就使用這個(gè)默認(rèn)的值。也就是說(shuō),調(diào)用函數(shù)時(shí)可以省略有默認(rèn)值的參數(shù)
    2022-04-04
  • C語(yǔ)言實(shí)現(xiàn)Flappy Bird小游戲

    C語(yǔ)言實(shí)現(xiàn)Flappy Bird小游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)Flappy Bird小游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 深入理解c++20 concepts

    深入理解c++20 concepts

    本文主要介紹了深入理解c++20 concepts,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Vs?Code中C/C++配置launch.json和tasks.json文件詳細(xì)步驟

    Vs?Code中C/C++配置launch.json和tasks.json文件詳細(xì)步驟

    使用VSCode開(kāi)發(fā)C/C++程序,需要配置tasks.json/launch.json,下面這篇文章主要給大家介紹了關(guān)于Vs?Code中C/C++配置launch.json和tasks.json文件的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié)

    VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié)

    本文主要介紹了VS2022設(shè)置編碼方式為utf-8的三種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • C++ lambda函數(shù)詳解

    C++ lambda函數(shù)詳解

    小編可以明確告訴大家:lambda函數(shù)是C++11中最重要的,使用最廣泛的,最具現(xiàn)代風(fēng)格的內(nèi)容,lambda函數(shù)的出現(xiàn)改變了C++編程的思維方式。所以快和小編學(xué)習(xí)一下C++11中l(wèi)ambda函數(shù)的使用吧
    2023-02-02
  • C語(yǔ)言算法學(xué)習(xí)之雙向鏈表詳解

    C語(yǔ)言算法學(xué)習(xí)之雙向鏈表詳解

    雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個(gè)數(shù)據(jù)結(jié)點(diǎn)中都有兩個(gè)指針,分別指向直接后繼和直接前驅(qū)。本文主要介紹了C語(yǔ)言算法中雙向鏈表的實(shí)現(xiàn),需要的可以參考一下
    2022-05-05
  • C++ new與malloc和delete及free動(dòng)態(tài)內(nèi)存管理及區(qū)別介紹

    C++ new與malloc和delete及free動(dòng)態(tài)內(nèi)存管理及區(qū)別介紹

    這篇文章主要介紹了深入理解C++中的new/delete和malloc/free動(dòng)態(tài)內(nèi)存管理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • C語(yǔ)言實(shí)現(xiàn)井字棋詳解

    C語(yǔ)言實(shí)現(xiàn)井字棋詳解

    這篇文章主要為大家介紹了C語(yǔ)言如何實(shí)現(xiàn)井字棋,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-11-11
  • C++中map容器的具體使用

    C++中map容器的具體使用

    本文主要介紹了C++中map容器的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論

庐江县| 通辽市| 盘锦市| 喜德县| 法库县| 于都县| 河津市| 黑山县| 肇东市| 隆安县| 宜良县| 安岳县| 东莞市| 海原县| 太保市| 沽源县| 宁蒗| 孟村| 墨竹工卡县| 屏山县| 绵竹市| 荣成市| 沁源县| 玉树县| 德令哈市| 从江县| 鲜城| 水富县| 德昌县| 灵璧县| 黄大仙区| 哈巴河县| 土默特右旗| 旬邑县| 东乡县| 泉州市| 漳州市| 那曲县| 武陟县| 宣化县| 中牟县|