Browse Source

- Added pseudo instruction lda

git-svn-id: branches/laksen/avr32new@18236 -
Jeppe Johansen 14 years ago
parent
commit
858f0cf313

+ 2 - 1
compiler/avr32/avr32att.inc

@@ -177,5 +177,6 @@
 'fcp',
 'fchk',
 'frcpa',
-'frsqrta'
+'frsqrta',
+'lda'
 );

+ 1 - 0
compiler/avr32/avr32atts.inc

@@ -177,5 +177,6 @@ attsufNONE,
 attsufNONE,
 attsufNONE,
 attsufNONE,
+attsufNONE,
 attsufNONE
 );

+ 3 - 0
compiler/avr32/avr32ins.dat

@@ -288,3 +288,6 @@ reg32,imm5              \42\7                           1
 
 [FRCPA]
 [FRSQRTA]
+
+; Pseudo instruction
+[LDA]

+ 2 - 1
compiler/avr32/avr32op.inc

@@ -177,5 +177,6 @@ A_FCASTUW,
 A_FCP,
 A_FCHK,
 A_FRCPA,
-A_FRSQRTA
+A_FRSQRTA,
+A_LDA
 );

+ 12 - 7
rtl/embedded/avr32/at32uc3b1256.pas

@@ -248,17 +248,22 @@ end;
 
 procedure StartCode; nostackframe; assembler; [public, alias: '_START'];// interrupt 0;
 asm
+   .init
+   lda.w pc, .Lstart
+   
+   .text
+.Lstart:
    // Update stack
-   lddpc sp, .L_stack_top
+   lda.w sp, .L_stack_top
    
    // Set EVBA
-   lddpc r0, .L_evba_base
+   lda.w r0, .L_evba_base
    mtsr 4, r0 // EVBA
    
    // copy initialized data from flash to ram
-   lddpc r1,.L_etext
-   lddpc r2,.L_data
-   lddpc r3,.L_edata
+   lda.w r1,.L_etext
+   lda.w r2,.L_data
+   lda.w r3,.L_edata
 .Lcopyloop:
    cp.w r2,r3
    brhi .Lecopyloop
@@ -268,8 +273,8 @@ asm
 .Lecopyloop:
 
    // clear onboard ram
-   lddpc r1,.L_bss_start
-   lddpc r2,.L_bss_end
+   lda.w r1,.L_bss_start
+   lda.w r2,.L_bss_end
    mov r0, 0
 .Lzeroloop:
    cp.w r1,r2