匯編語言 INT 20 & INT 21

2012-02-27 3:42 am
What are the purposes of INT 20 and INT 21 in assembly language?

回答 (1)

2012-02-28 12:36 am
✔ 最佳答案
這個問題只適用於x86 CPU 及應用於某環境,即係msdos。(不能只說 Assembly 中的int 21的功用是什麼。)
INT 其實係軟體的 interrupt,在用於msdos的api上,你可以想像為呼叫系統的功能。(也可以想像為call 一個 subroutine)
這個完全係軟體自行定義,所以非msdos上可以全然不同。
int21不是單一的指令,要視乎存入ah的數字,代表功能碼。 (共約100個)
而不同版本也有部份修改。如ah=0為退出(dos 1.x)。但後期則改為4c,al則存放回傳值,即batch的errorlevel。
int21功能全部和msdos相關。例如ah=2可以顯示一個字母,ah=3d則打開文件。
這裡不作細列,你可以輕易找到列表。
至於int20h原本設計為結束程序,也給int21,ah=4c取代。

和int21相關,可以看一看 int10h
這個功能直接呼叫 BIOS 顯示功能,而int 13h則直接呼叫disk IO 功能。




收錄日期: 2021-04-26 11:30:34
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20120226000051KK00836

檢視 Wayback Machine 備份