2016-07-26 20 views
0

因爲我是ALP的新手,所以我需要此彙編語言程序的幫助。 這裏是問題: 編寫一個彙編語言程序,將子串插入主字符串 我使用的是tasm(不知道它是否有任何幫助) 我試過了。但我得到errors將子串插入主字符串的tasm程序

+0

歡迎來到Stackoverflow!請粘貼你的程序的源代碼,這樣會更方便圖像。此外,您提供的圖像包含源代碼,而不是錯誤。 – kelin

+0

你不能把'msg1'的內容放在'msg2'上。您可以在'msg2'處預留一些空間並在運行時複製字符串,或者可以使'msg1'成爲_equate_(使用'EQU'或您的彙編程序支持的任何指令)。 – Michael

+0

請注意,如果您需要在代碼中的某個位置使用地址,則無法將「msg1」等同。 – Michael

回答

0

我沒有看到任何(直接可見)在該PNG中的錯誤。

你沒有做任何「插入子字符到主」,你只有「顯示字符串msg2」在你的代碼。

我甚至不敢執行它,因爲它不能正確退出,所以在你的代碼之後的內存(未定義的)內容將開始執行,可能會導致各種奇怪的行爲。

所以現在做的事:

  1. 增加出口INT 21H服務電話(見你對DOS int 21h,文檔,如何調用它「退出計劃」功能)。 (之後你可能想編譯它,然後運行,以驗證它確實在msg2內存中正確顯示字符串)。

  2. 意識到字符串如何存儲在內存中,它們不是空中的虛擬物,計算機只能處理數字,所以它們必須以某種方式符合這一點。之後,準備足夠長的內存緩衝區以容納最終修改的字符串。

  3. 定義什麼是程序的輸入(要插入主字符串,子字符串,你怎麼定義它得到插入)

  4. 寫代碼插入子成主串,使用大緩衝區寫入最終的字符串

  5. 重用顯示你現在必須顯示輸出

  6. 退出;)