0
所以我正在學習程序集,我寫了一個程序來總結我在'data_type'中定義的值。裝配初學者:設置一個變量等於DCD中的值的數量?
大氣壓我有手動設置變量「NUM」等於值的「DATA_TYPE」的數量,以確保環總結它們。
我想知道是否有更好的方法來做到這一點?
或者,如果有聲明變量「民」動態地承擔起「DATA_TYPE」值量的方法嗎?
在此先感謝!
AREA Sum loop, CODE, READONLY
ENTRY
num EQU 5
Reset_Handler
LDR r1, =data_values
MOV r5,#num
loop
LDR r2,[r1],#4
ADD r3,r3,r2
SUBS r5,r5,#1
BNE loop
data_values
ALIGN 4
DCD 1, 1, 1, 1, 1 ; example values
END
不確定你的彙編程序,但:1)如果'data_values'沒有對齊會發生什麼?如果它與其他彙編程序的工作方式類似,data_values符號將具有未對齊的地址值,而DCD將定義對齊的數據,因此您的代碼將對錯誤的數據字節進行非對齊訪問。我相信你應該交換這兩個,首先對齊,然後定義符號標籤。 2)'BNE'後會發生什麼?或者你只是在調試器中運行它,不要讓它超出你定義的代碼? – Ped7g
好的,謝謝,現在就換掉它們。使用Keil工具。 我只是在調試器中運行它到BNE,因爲它只是一個學習練習,你有什麼建議如何實現我以上要求的? – ohkneel