diff --git a/ES/Lab/Lab3/add128bit.asm b/ES/Lab/Lab3/add128bit.asm new file mode 100644 index 0000000..38cce39 --- /dev/null +++ b/ES/Lab/Lab3/add128bit.asm @@ -0,0 +1,45 @@ + AREA RESET, DATA, READONLY + EXPORT __Vectors + +__Vectors + DCD 0x10001000 + DCD Reset_Handler + + ALIGN + + AREA MYCODE, CODE, READONLY + ENTRY + + EXPORT Reset_Handler + +Reset_Handler + LDR R1, =N1 + LDR R2, =N2 + MOV R3, #4 + +UP + LDR R4, [R1], #4 + LDR R5, [R2], #4 + ADCS R6, R5, R4 + SUB R3, R1 + TEQ R3, #0 + BNE UP; + + LDR R4, =Result + STR R2, [R4], #4 + STR R5, [R4] + + +STOP + B STOP + ALIGN + +N1 DCD 0x10002000, 0x30004000, 0x50006000, 0x70008000 +N2 DCD 0x10002000, 0x30004000, 0x50006000, 0x70008000 + + AREA mydata, DATA, READWRITE + + +Result DCD 0 + + END \ No newline at end of file