|

- UID
- 460236
- 帖子
- 32
- 主題
- 16
- 精華
- 0
- 積分
- 61
- 楓幣
- 1918
- 威望
- 59
- 存款
- 0
- 贊助金額
- 0
- 推廣
- 0
- GP
- 17
- 閱讀權限
- 10
- 性別
- 保密
- 在線時間
- 48 小時
- 註冊時間
- 2024-10-12
- 最後登入
- 2026-11-13
|
|
微軟實作了 C 語言標準函式庫,稱為 MSVCRT.DLL(這是 Microsoft Visual C++ Runtime 的縮寫)動態連結成式庫。MSVCRT.DLL 包含了 C 語言常用的函式,譬如 scanf、printf、sqrt……,在組合語言中也可以呼叫它們。
實作:
1.安裝MASM64 SDK:到MASM論壇 下載masm64sdk_beta_2b.exe,安裝。
2.依據\masm64\bin64\FileList.txt內容,到PCONLIFE下載FileList.txt內的所有檔案。
實例:- INCLUDE E:\masm64\include64\masm64rt.inc
- EXTRN printf:PROC
- EXTRN scanf:PROC
- EXTRN getchar:PROC
- EXTRN strcat:PROC
- ;*********************************************************************
- .DATA
- now SYSTEMTIME <>
- szName DB 24 DUP (0)
- szFmt1 DB "%18[^",0Ah,"]",0
- szFmt2 DB "今天是%d月%d日,",0Dh,0Ah,0
- szFmt3 DB "%s,祝您學習x64組合語言順利。",0
- szHint DB "請輸入您的姓名:",0
- Ellipses DB "...",0
- ;*********************************************************************
- .CODE
- ;---------------------------------------------------------------------
- main PROC
- ;印出提示字串,並讓使用者輸入姓名
- invoke printf,ADDR szHint
- invoke scanf,ADDR szFmt1,ADDR szName
- call getchar
- cmp al,0Ah ;若AL=0Ah,表示輸入未超過18個字元
- je ok
- invoke strcat,ADDR szName,ADDR Ellipses
- ;取得今天日期,並印出來
- ok: invoke GetLocalTime,ADDR now
- xor rdx,rdx
- sub r8,r8
- invoke printf,ADDR szFmt2,now.wMonth,now.wDay
- ;印出使用者輸入的姓名及祝福語
- invoke printf,ADDR szFmt3,ADDR szName
- invoke ExitProcess,NULL
- main ENDP
- ;*********************************************************************
- END
複製代碼 |
|