16位彙編 多檔案 intel彙編 編譯器masm5.0 調用子程式庫即靜態庫的自訂函數 WINDOWS

來源:互聯網
上載者:User

標籤:win   定義   ***   world   5.0   自訂   code   字串   標準   

;以下是16位彙編 建立靜態庫,並調用靜態庫中的函數

;多檔案彙編格式

;編譯方法(此處用的是masm 5.0,如果是其他的編譯器,有可能不能編譯)

;第一種,編譯方法

;1、masm main.asm  產生.obj檔案

;2、masm lib.asm  產生.obj檔案

;3、link main.obj lib.obj 產生.exe檔案

;第二種,編譯方法

;1、masm main.asm  產生.obj檔案

;2、masm 16lib.asm  產生.obj檔案

;3、lib 16lib.lib 16lib.obj  由.obj檔案產生.lib檔案,即靜態庫檔案,可以做為函數庫使用

;4、link main.obj  16lib.lib  由.obj .lib兩個檔案產生.exe檔案

;=======================================

;(main.asm)

.model small

.stack 100h

.386

.data  

  Msg db "in my world! you know?",0  

.code

   extrn int21h_40h:far  ;引用外部函數,注意:masm5.0用的是extrn ,少一個e字元

main PROC  

  mov ax,@data  

  mov ds,ax    

  push di

  mov di,offset Msg  

  call int21h_40h     

  pop di  

  mov ax,4c00h

  int 21h main

  ENDP

END main

;==================================

;(16lib.asm)

.model small

.stack .data

.code   

  public int21h_40h ;定義外部函數

;********MS-DOS 中斷 int 21h功能調用***********************

;--------int 21h 功能號 40h案例-------------

;說明:在標準輸出上顯示字串

;輸入參數:di = 字串地址

;輸出參數:無

int21h_40h proc far    

  xor cx,cx  

   mov dx,di ;在迴圈前儲存參數,由於後面迴圈會改變di     

        ;此處也是功能 40h 的參數

L1: 

  ;計算字串長度   

  cmp byte ptr[di],0  

  je L2  

   inc cx  

   inc di   

  jmp L1     

 L2: 

  ;顯示字串到標準輸出裝置上  

   mov ah,40h     

  mov bx,1     

    int 21h

    ret

int21h_40h endp

end

16位彙編 多檔案 intel彙編 編譯器masm5.0 調用子程式庫即靜態庫的自訂函數 WINDOWS

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.