學習筆記-編寫供Turbo C調用的函數

來源:互聯網
上載者:User

這東西可真夠古老的。學習《80x86。。。。》8.5節

1.彙編模組:

.MODEL SMALL

.CODE

PUBLIC  _Sum

_Sum      PROC

               .........

               .........

_Sum     END

/*程式名:CA8.C*/
externSum(int,int,int);/*聲明函數sum已在其他模組定義*/
intxxx=5               /*以初始化的變數*/
intyyy;

main()
{
yyy=Sum(1,xxx,3);
print("%d\n",yyy);
}

;;模組名:A8.ASM
;;內容:含一個供CA8.C調用的函數Sum
     .MODEL SMALL
     .CODE
     PUBLIC _Sum

PARM1 EQU [BP+4]  ;這裡為什麼用[bp+4],[bp+6]..擷取參數,請參考教材《80x86...》
PARM2 EQU [BP+6]   ;
PARM3 EQU [BP+8]

_Sum  PROC

      PUSH BP
      MOV BP,SP
      MOV AX,PARM1
      ADD AX,PARM2
      ADD AX,PARM3
      POP BP
      RET
_Sum  ENDP
      END

最後用下面命令編譯CA8.C,彙編A8.ASM,最後再串連到一起:
TCC  -ms  CA8  A8.ASM

或者是分別:

TCC -ms -c CA8

TASM /ml A8

TLINK c0s CA8 A8,CA8, ,cs

上述最後串連命令的c0s和cs分別是Turbo C的small模式下的啟動代碼

目標模組檔案和庫函數。

閱讀全文

類別:c/c++ 查看評論

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.