; R0 (A%) is start of buffer
; R1 (B%) is extent of buffer
; R2 is used internally to hold the data
; R3 is used internally to hold the EOR key

  LDR    R3, eor_key
.eor_loop
  LDR    R2, [R0]
  EOR    R2, R2, R3
  STR    R2, [R0], #4
  CMP    R0, R1
  BLT    eor_loop
  MOV    PC, R14

.eor_key
  DCD    &A5A5A5A5
