匯編程序 - TD調試


為了寫這個Blog,無奈的我深夜打開虛擬機,希望也能幫助一些人,因為好像真的有人不會欸!(→_→)

 

寫在前面的話:

1. TD面板下的調試十分重要。可以觀察內存(GOTO DS:XXXX)存放的位置與數值,是否正確。

2. 通過寄存器面板查看取出的值是否正確,單步調試(F8)查看程序的運行流程是否和想法相同。

3. 通過步入(F7)查看調用子程序內部是否按照正常邏輯執行。

4. 通過標志位寄存器查看進位借位標志和程序跳轉的狀態等。

5. 我沒講明白的,請你search一下吧,如果你願意分享,不妨留言啦! (●'◡'●)

 

我的TD是老師給的,你們,額,我相信你們能找到,找不到再說吧 ^3^

 

說明一下,寄存器里面表示數據的時候,尤其是內存中,可能和你思路不一樣,自己調試一下就知道了,多說無益。

 

重點來了!!!

1. 將你調試的代碼放在TD路徑下

  TASM   -V  XXX.asm  (這個叫匯編,其實和編譯差不多)

  TLINK   -Z  XXX.obj   (這個叫鏈接)

  TD    XXX.exe   (這個就是打開調試的面板啦!!!)

其實你可以發現后綴都可以不加,參數也可以不加(TASM  XXX / TLINK  XXX)

2. win + R --> cmd ,然后cd 啥的進入TD的目錄(建議所有目錄英文,畢竟是人家外國佬的東西)

3. 就調試mul.asm 這個程序吧!(匯編程序 - 1 (32位無符號乘法))

  3.1 匯編,鏈接

    

  3.2 td mul

    

  3.3 F5,窗口填充(就是大點,上面灰色圖層填滿了而已)

    F8 單步調試

    F7 步入調試(在CALL指令調用子程序使用)

  3.4 只有最后一個需要講的了,查看內存區的數據,一般我們使用DS寄存器存放數據的內存地址,但是你會發現TD會跑到ES去了,沒關系。

    

    在代碼區右鍵,goto...,DS:XXXX (由上圖可知,我們內存地址開始是0069,所以我們需要查看那的數據變化)

    

    這時內存區域已經變化了。

    

    TIPS:可以對照着源代碼來查看運行情況,畢竟TD中是匯編過后的代碼。

    

    我輸入第一個數據是99999999,第二個數據是12345678,自己觀察。

    

    結果是,倒着存放的,也自己觀察。

    

  

我覺得我寫完了,也足夠用了。end..... []~( ̄▽ ̄)~*


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM