在dos下想要做選單連結一些執行檔,但是將執行檔路徑寫在autoexec.bat 常常會碰到顏色花掉以及執行完執行檔卻回不了DOS的問題。
原因是因為在執行autoexec.bat時DOS initial還沒完成(還必須設定VGA mode跟執行int 21h回到Dos),因此autoexec.bat內不能直接執行用C寫的程式,要先寫執行一個組合語言寫的程式切video mode 以及呼叫DOS中斷來回到DOS,才會完整跑完DOS initial的流程。
在autoexec.bat最前面先放以下這隻程式,之後再跑其他的C語言寫的執行檔都能順正常執行,執行完後也能順利回到DOS
+ code segment
+ assume cs:code,ds:code
+ org 100h
+ ;---------------------------------------
+ start: jmp begin
+ begin: mov ax,cs
+ mov ds,ax
+ mov ax, 03h ; set video mode: 80x25 16 color text
+ int 10h
+ mov ax,4c00h ; return to dos
+ int 21h
+ ;---------------------------------------
+ code ends
+ ;***************************************
+ end start
沒有留言:
張貼留言