[英]Why does this 8 appear in my assembler code?
這是我的匯編代碼,當我運行它時,會出現一個隨機的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
您沒有像verse
那樣將verse2
終止為null,因此它將繼續打印文本,直到找到0字節為止。
8可能是第一條指令的一部分,它可能以0x38 0x00 ...
開始,0x38是'8'的ASCII碼。
不確定SWI 3
在不可打印的情況下會做什么,但是可能在1-31范圍內的任何值中都有內存,並且被忽略了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.