Assembly ARM汇编程序代码,用于在表中查找未配对的值

Assembly ARM汇编程序代码,用于在表中查找未配对的值,assembly,arm,Assembly,Arm,我在ARM上的dcd表中有一组整数。它们出现的次数都是偶数,但我试图得到唯一出现一次的数字。下面是我在ARM中的算法 ;我明白为什么它显然不起作用,但我就是想不出更好的代码 区域EXOD1,代码 进入 LDR r1=表1 第二节第17节 MOV r6,r2 回路LDR r3,[r1],#4 B循环2 潜艇r2,r2,#1 BNE环 回路2 LDR r4,[r1],#4 CMP r4,r3 BNE环2 EOREQ r5、r3、r4 CMP[r1],#33 BNE环2 停B停 表1 DCD 10,

我在ARM上的dcd表中有一组整数。它们出现的次数都是偶数,但我试图得到唯一出现一次的数字。下面是我在ARM中的算法

;我明白为什么它显然不起作用,但我就是想不出更好的代码
区域EXOD1,代码
进入
LDR r1=表1
第二节第17节
MOV r6,r2
回路LDR r3,[r1],#4
B循环2
潜艇r2,r2,#1
BNE环
回路2 LDR r4,[r1],#4
CMP r4,r3
BNE环2
EOREQ r5、r3、r4
CMP[r1],#33
BNE环2
停B停
表1 DCD 10,5,10,2,5,95,33,95,33,10,95,33,2,10,95,2,33

结束
我的意思是,将代码编辑到问题中。为什么不对所有数字进行异或运算呢。这将返回一次出现的数字。@User7当然!谢谢
        AREA ExOdd1, CODE
        ENTRY

        LDR r1, =TABLE1
        MOV r2, #17
LOOP    LDR r3, [r1], #4 
        EOR r4, r4, r3
        SUBS r2, r2, #1
        BNE LOOP

STOP    B STOP

TABLE1  DCD 10, 5, 10, 2, 5 ,95, 33, 95, 33, 10, 95, 33, 2, 10, 95, 2, 33
; the DCD directive just allocates all the
; needed memory locations for the values
; listed afterwards
; each value is stored in the next memory word.
        END