我有一個彙編程序,我試圖通過調試進行測試,但是程序通常具有用戶輸入的整數。有沒有一種方法來調試程序,仍然能夠「運行」它的意義上說,我可以輸入整數到程序中,但仍然在寄存器中查看值?如何調試程序/查看需要用戶輸入的寄存器
在此先感謝您的幫助。
我有一個彙編程序,我試圖通過調試進行測試,但是程序通常具有用戶輸入的整數。有沒有一種方法來調試程序,仍然能夠「運行」它的意義上說,我可以輸入整數到程序中,但仍然在寄存器中查看值?如何調試程序/查看需要用戶輸入的寄存器
在此先感謝您的幫助。
有沒有一種方法來調試程序,仍然能夠「運行」它的意義上說,我可以輸入整數到程序中,但仍然在寄存器中查看值?
是的,任何值得它的鹽的調試器都應該能讓你通過指令執行你的代碼指令。
例如,Borland的Turbo Debugger
開放WATCOM Watcom Debugger
有Trace Into
和Step Over
執行選項。兩者相似但不完全相同。後者執行整個子程序作爲call subroutine
指令的一部分,前者只執行一條指令,無論是否爲call
。
瞭解如何在調試器中執行此操作。查找它的UI和/或文檔。
此外,調試器通常允許您根據自己選擇的指令設置斷點並執行代碼,直到遇到斷點。你也可以使用它。
好的謝謝..我老實說不知道我在用什麼調試器,但我認爲它是nasmide或實際上只是在DOS Shell中進行調試。無論如何,我決定只是放入一些設置值而不是用戶輸入,這允許我進行一些基本的調試。感謝您的幫助,但我可能會嘗試查看是否可以下載其中一個調試器。 – Calibre 2013-04-06 23:16:50
您可以肯定地下載'wd.exe'作爲開放Watcom C/C++的一部分。 – 2013-04-06 23:17:59
如果它是普通的老DEBUG(呃...呃...),不要嘗試用'int 21h'來代替'使用'p'roceed。這應該等待你輸入一個字符。我記得,儘管dos並不能很好地工作! – 2013-04-07 00:14:33
什麼調試器?什麼OS?你如何閱讀用戶輸入?向我們展示代碼。 – nrz 2013-04-06 22:09:10
對不起,這還不是很清楚,我在DosBox裏面使用了nasmide調試器。我目前正在使用Int 21H中斷之一,具體來說AH = 01來讀取用戶輸入。 – Calibre 2013-04-06 22:14:57