bloggerads

2015年9月14日 星期一

DOS boot menu problem (autoexec.bat + exe file )

在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        

沒有留言:

張貼留言