今天對前面做乙個總結,重點強調一些需要注意的地方,也簡單的說一下程式編譯,連線,執行中實際遇到的問題。
1.任何通用的作業系統都要提供乙個稱為shell(外殼)的程式,使用者(操作人員)使用這個程式來操作計算機系統進行工作。
2.dos中有乙個程式command.com,這個程式在dos中稱為命令直譯器,也就是dos系統的shell。
3.在dos中,command處理各種輸入:命令或要執行的程式的檔名。我們通過command來進行工作的。
4.我們知道在dos中執行乙個程式時,有dos將程式從可執行檔案中載入如記憶體,並是其得以執行,command程式的載入,設定cs:ip指向程式的入口,command放棄cpu 的控制權,cpu開始執行程式,直到出現結束。
我們看一下上面的執行,發現ds = 129eh,而下面程式執行是從12ae開始的,這是為什麼呢?請大家看下面的解釋
原來,那個10h,被段字首(psp)給占用了。(是dos用來和引導程式進行通訊用的)
匯程式設計序需要注意的 寫程式要有套路
assume cs codesg codesg segment start mov bx,1000h mov ds,bx mov al,0 mov ax,4c00h int 21h codesg ends end經常在將寫程式的時候,要有套路,當理解不了的時候,先不用去理解,把套路放在那裡。以後會明...
匯程式設計序 退出
作為第乙個匯程式設計序,本程式除了退出以外,並沒有執行其他的功能。目的 退出並向linux核心返回乙個狀態碼的簡單程式 輸入 無 輸出 返回乙個狀態碼.在執行程式後可通過輸入echo 來讀取狀態碼 變數 eax儲存系統呼叫號 ebx儲存返回狀態 section data section text g...
微機匯程式設計序
又是自學的一學期,呵呵。學到最後也就知道零星半點指令吧,複雜的程式可能還是不怎麼會寫,熟練當然也不敵c了,但是彙編之於嵌入式,往上走肯定少不了遇到,學好還是必要的!此次僅作入門吧。今日所學,明日之用。1 統計正負零的個數 datas segment array db 1,2,1,0,2,0,2,4,...