From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../ARM202U/EXAMPLES/SCATTER/INITAPP.S | 81 ++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 Bachelor/Mikroprozessorsysteme2/ARM202U/EXAMPLES/SCATTER/INITAPP.S (limited to 'Bachelor/Mikroprozessorsysteme2/ARM202U/EXAMPLES/SCATTER/INITAPP.S') diff --git a/Bachelor/Mikroprozessorsysteme2/ARM202U/EXAMPLES/SCATTER/INITAPP.S b/Bachelor/Mikroprozessorsysteme2/ARM202U/EXAMPLES/SCATTER/INITAPP.S new file mode 100644 index 0000000..1bdbaea --- /dev/null +++ b/Bachelor/Mikroprozessorsysteme2/ARM202U/EXAMPLES/SCATTER/INITAPP.S @@ -0,0 +1,81 @@ + AREA InitApp, CODE , READONLY + EXPORT InitialiseApp +InitialiseApp + ADR r0,ziTable + MOV R3,#0 +ziLoop + LDR r1,[r0],#4 + CMP r1,#0 + BEQ initLoop + LDR r2,[r0],#4 +ziFillLoop + STR r3,[r2],#4 + SUBS r1,r1,#4 + BNE ziFillLoop + B ziLoop + +initLoop + LDR r1,[r0],#4 + CMP r1,#0 + MOVEQ pc,lr + LDMIA r0!,{r2,r3} + CMP r1,#16 + BLT copyWords +copy4Words + LDMIA r3!,{r4,r5,r6,r7} + STMIA r2!,{r4,r5,r6,r7} + SUBS r1,r1,#16 + BGT copy4Words + BEQ initLoop +copyWords + SUBS r1,r1,#8 + LDMIAGE r3!,{r4,r5} + STMIAGE r2!,{r4,r5} + BEQ initLoop + + LDR r4,[r3] + STR r4,[r2] + + B initLoop + + MACRO + ZIEntry $execname + LCLS lensym + LCLS basesym + LCLS namecp +namecp SETS "$execname" +lensym SETS "|Image$$":CC:namecp:CC:"$$ZI$$Length|" +basesym SETS "|Image$$":CC:namecp:CC:"$$ZI$$Base|" + IMPORT $lensym + IMPORT $basesym + DCD $lensym + DCD $basesym + MEND + + MACRO + InitEntry $execname + LCLS lensym + LCLS basesym + LCLS loadsym + LCLS namecp +namecp SETS "$execname" +lensym SETS "|Image$$":CC:namecp:CC:"$$Length|" +basesym SETS "|Image$$":CC:namecp:CC:"$$Base|" +loadsym SETS "|Load$$":CC:namecp:CC:"$$Base|" + IMPORT $lensym + IMPORT $basesym + IMPORT $loadsym + DCD $lensym + DCD $basesym + DCD $loadsym + MEND + +ziTable + ZIEntry root + DCD 0 + +InitTable + InitEntry root + InitEntry overmgr + DCD 0 + END -- cgit v1.2.3