為了寫這個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..... []~( ̄▽ ̄)~*