mov ax,4c00h int 21h

通常來說,DOS程序結束有三種方法 spa

一,是用int 20h 來終止程序,但有條件,在結束時cs必須跟程序開始時一致,不然要死機。在DOS中經常使用於*.com文件。 二,是用ret來終止程序,以下: ... code segment start        proc far        ;注意,這裏有 far,表示是遠調用,主要影響ret指令,編譯後爲RETF                push cs                mov ax,0                push ax                ......                ......         ;應用戶程序                ......                ret     ;返回DOS start        endp                ends                end start 應用這種退出機制,千萬注意堆棧一個都不能錯,不然死機。在DOS中經常使用於*.exe文件。 三,就是你提到的 mov ax,4c00h int 21h 用它返回是不需任何條件,還可順便幫你關閉你打開後忘記關閉的文件。並返回寄存器al的值。在DOS中可用於*.com或*.exe文件。 具體來講: DOS系統提供給用戶不少應用,好比文件讀寫、時間讀寫,顯示等等。int 21h是DOS系統的系統調用的入口,ah爲功能號,就是本問題中的4c,好比 mov ah,9 mov dl,‘a' int 21h 表示要在屏幕上顯示英文字母a 本問題中mov ax,4c00h代表應用程序要退出,併爲調用本程序的程序返回00,傳遞退出信息。 ax取值範圍是4c00h---4cffh。
相關文章
相關標籤/搜索