ARM Assembly code for block transfer of data

    ARM processor is used in all the Embedded systems that are being built now.ARM has both 32-bit and 64-bit RISC multi-core processors. RISC processors are designed to perform a smaller number of types of computer instructions so that they can operate at a higher speed, performing more millions of instructions per second. By stripping out unneeded instructions and optimizing pathways, RISC processors provide outstanding performance at a fraction of the power demand of CISC (complex instruction set computing) devices.
 So, now let’s see how write a ARM assembly program for block transfer of data.


  1. Start
  2. Create a array of numbers in memory( say internal memory)
  3. Initialize a counter register to number of elements in memory
  4. Load base address of array to a register
  5. Load value to a temporary register from source memory
  6. Store the value in destination memory
  7. Decrement counter value
  8. Repeat steps 5-7 till counter value becomes zero
  9. Stop

Here is a example code for block transfer of 10 numbers from memory location 0x40000000 to 0x50001000.