diff --git a/ES/Lab/Lab2/swap/MULTINDEX.asm b/ES/Lab/Lab2/swap/MULTINDEX.asm new file mode 100644 index 0000000..931e4d3 --- /dev/null +++ b/ES/Lab/Lab2/swap/MULTINDEX.asm @@ -0,0 +1,40 @@ + AREA RESET, DATA, READONLY + EXPORT __Vectors +__Vectors + DCD 0x10001000 + DCD Reset_Handler + ALIGN + AREA mycode,CODE,READONLY + ENTRY + EXPORT Reset_Handler +Reset_Handler + LDR R0, =SRC + LDR R1, =DST + LDR R2,[R0] + STR R2,[R1] + LDR R3,[R0,#4]! + STR R3,[R1,#4]! + LDR R4,[R0,#4]! + STR R4,[R1,#4]! + LDR R5,[R0,#4]! + STR R5,[R1,#4]! + LDR R6,[R0,#4] + STR R6,[R1,#4] + LDR R7,[R0,#4] + STR R7,[R1,#4] + LDR R8,[R0,#4] + STR R8,[R1,#4] + LDR R9,[R0],#4 + STR R9,[R1],#4 + LDR R10,[R0],#4 + STR R10,[R1],#4 + LDR R11,[R0],#4 + STR R11,[R1],#4 + +STOP + B STOP + ALIGN +SRC DCD 0x00000032, 0x12345644, 0x00000005, 0x00000098, 0x000000AB, 0x000000CD, 0x00000055, 0x00000032, 0x000000CA, 0x00000045 + AREA mydate, DATA, READWRITE +DST DCD 0 + END \ No newline at end of file