2015-10-28 57 views
1

這是我的彙編代碼,當我運行它時出現一個隨機8,我不知道如何擺脫它。這8個爲什麼出現在我的彙編代碼中?

B main 

number DEFW 4 
verse DEFB " men went to mow\nWent to mow a meadow\n",0 
verse2 DEFB " men," 



    ALIGN 


main ADR R0,number ;puts address of number into R0 
     SWI 4   ;prints value in number 

     ADR R0,verse  
     SWI 3   ;prints verse 

     ADR R0,number 
     SWI 4   ;prints value number 

     ADR R0,verse2 ;places the address of verse to R0 
     SWI 3   ;prints verse2 

     SWI 2 

enter image description here

回答

5

你沒空終止您verse2像你這樣verse,所以它將繼續打印文本,直到找到一個0字節。

8可能是第一條指令的一部分,它可能以0x38 0x00 ...開始,0x38是'8'的ASCII碼。

不知道SWI 3在nonprintables的情況下會發生什麼,但是可能有任何inbetwen的1-31範圍內的值存在,並且被忽略。

相關問題