0
我目前有一個「循環」打印出R4的數字,然後使用Stdout將該數字移動到R1。不過,我只想打印出偶數。所以,如果我打印所有的東西,例如我的序列將輸出爲2,3,5,6,7,9,10等,但我只想打印出偶數(2,6,10 ...等)ARM彙編中的偶數或奇數寄存器
這就是我想要的,但我不知道,如果ARM彙編允許這樣的:
- 檢查R4,看看裏面寄存器的個數爲偶數。
- 如果數字是偶數,則使用Stdout代碼將MOV R1,R4打印出來。
- 否則,如果R4內部的數字是奇數,則繼續循環直到指定了多少次。
任何幫助,將不勝感激..
非常感謝,正是我想要的。另外,是否可以添加所有打印的偶數?我知道他們被移動到R1,但可以將這些值存儲在某個地方,然後有一個ADD命令來添加所有存儲的數字,以便我可以打印出結果? – ColdMoney21
當然。指定一個寄存器作爲總和,在循環之前初始化爲零,在'BNE'行和'Odd'標籤之間放置一個'ADD rx,r4'行(因此它是有條件的)。 –
如果不想使用額外的寄存器或垃圾桶,可以使用'TST'(例如'TST r4,#1')。 – Michael