程式 a.asm 透過命令列參數 /Darg=N 決定操作目標:
txt 讀 't' 到 charchar '1' 到 txtchar '2' 到 txttxt 讀 't',31 輸出 '3'txt核心 DOS 中斷 21h 功能:3Dh 開檔、45h 複製控制代碼、46h 強制重導向、3Fh/40h 讀/寫、3Eh 關檔。鍵盤輸入經 44h 設為二進位模式,利用 BIOS 鍵盤緩衝區(40:1Eh~3Dh)捕捉掃描碼與 ASCII 碼對應關係(如 Ctrl+C、F1)。
DOS 3.31 版 MORE.COM 處理管道輸入時 不建立新進程:
45h 複製 STDIN(代碼 0)到 BP,再 3Eh 關閉原 STDIN45h 複製 STDERR(代碼 2)或執行時開啟的控制代碼,佔用剛釋放的 0 號槽3Fh 從 BP 讀資料(管道或鍵盤),一次最多 1000 位元組-- More --,0C08h 清鍵盤緩衝並從 STDERR 讀一鍵(不動管道指標)02h 輸出到 STDOUT,支援再接管道實驗證明:type a.asm | a.com 會因管道重導向觸發蜂鳴;a.com a.com 則以 FCB 與 Handle 重複開啟同檔,經 45h/46h 複製/強制重導向後 4B00h 執行子進程,螢幕顯示計數 11231123,印證檔案引用計數遞增機制。