2014-03-06 63 views
0

在我的代碼中,我正在創建一個字符串並將小寫字母改爲大寫。出於某種原因,當我運行代碼時,它只會得到第一個單詞「This」,然後停止。程序集:分支

我認爲'空間'不是'空',應該繼續分支。

 ORG $5000 
data: dc.b "This is a Test String", 0 
     ORG $4000 
     ldx #data 
     ldy #$5020 
loop: ldaa 1,X+ 
     anda #$5F 
     staa 1,Y+ 
     bne loop 
     bgnd 
+0

解釋你從哪裏得到#5F。 –

+0

#$ 5F二進制是#1011111,所以ANDing它,將清除該位,如果它是小寫,因此將其切換爲大寫。 – aks

+0

*空格*小寫嗎? –

回答

0

你退出循環,因爲你沒有比較space,但相與#$5F,這是nullspace

+0

謝謝。對此,我真的非常感激。 – aks