1. 程式人生 > >組合語言入門(在debug中編輯和除錯程式)

組合語言入門(在debug中編輯和除錯程式)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

        我們在Windows中進入的Dos方式,實際上是虛擬8086模式的Dos,方法是:點選“開始”,“執行”,輸入"command",點選“確定”, 可以看到彈出一個黑色的框框,然後,在黑色的框框中輸入相關資訊,如圖所示(提前說一句,組合語言對大小寫不敏感,而C語言對大小寫敏感):



       下面來具體分析一下:

      1. debug是一個除錯工具(雖然可以在debug中寫程式,但真正要寫彙編程式,很少在debug中寫)

      2. r用於查詢各暫存器的值

      3. a用來輸入彙編指令

      4. t用來執行一條彙編指令

      5. 還有其他命令,如d, e等等,此處不做介紹,用的時候,查一下就Ok

      6.CPU執行的起點是CS:IP處

      7.debug中寫程式時,mov ax, 1 中的1表示0001h, 驗證如下:




        下面,我們再來看一個程式:



        下面簡要分析一下:

       1. 棧為SS:SP, 即1000:0100

       2. push表示入棧

       3. pop表示出棧

       4. 根據棧的性質可知:ax和bx的值交換了


       還有一個問題需要解決:在上面的過程中,是用t命令來執行程式的,每次只能執行一條,那有沒有什麼命令可以將程式完全執行的呢?有!且看g命令的用法:



        對一些人來說,看不到程式,看不到操作,就看不到想看到的東西,弄懂上面幾個小程式,對組合語言就有了一個初步的認識了,別一開始就搞無邊無際的理論。

       雖然基本操作和程式碼簡單(容易被所謂的組合語言大牛鄙視),但無疑,最簡單的東西通常具有最大的單刀直入性。入門了,一切都不在話下。



           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述