Jump to content

    
Sign in to follow this  
ostrovv

Ассемблер AVR32

Recommended Posts

Дорого всем . . .

 

File main.c

#include <avr32/io.h>
extern void fun(void);
int main(void)
{
    while(1)
    {
        fun();
    }
}

File  Assembly1.s

#include <avr32/io.h>
.global fun
    fun:
      mov     r2, 0
      mov     r3, 0
      st.d    r0++, r2
      cp      r0, r1
      ld.d    r4, r2++
      st.d    r0++, r4

 

дизассемлер при отладке

  mov     r2, 0
8000010C  mov R2, 0         
      mov     r3, 0
8000010E  mov R3, 0         
      st.d    r0++, r2
80000110  st.d R0++, R1         
      cp      r0, r1
80000112  cp.w R0, R1         
      ld.d    r4, r2++
80000114  ld.d R2, R2++         
      st.d    r0++, r4
80000116  st.d R0++, R2

 

подскажите материал/ссылку/документик где описывается почему компилятор заменяет регистры, в последних двух командах (r4-r2), и как отключить в настройках компилятора . . .

в всяко разных доках Atmel не нашел . . .

 

Спасибо

 

Share this post


Link to post
Share on other sites
почему компилятор заменяет регистры, в последних двух командах (r4-r2), и как отключить в настройках компилятора . . .
Это либо ошибка ассемблера либо ошибка дизассемблера. Вы пробовали анализировать код команды? Из него будет видно, кто виноват. Ассемблер не имеет права подменять регистры. Т.е. в любом случае надо писать баг-репорт Атмелу и либо ждать исправления, либо разбираться в исходниках и править самому.

 

Share this post


Link to post
Share on other sites
Это либо ошибка ассемблера либо ошибка дизассемблера. Вы пробовали анализировать код команды? Из него будет видно, кто виноват. Ассемблер не имеет права подменять регистры. Т.е. в любом случае надо писать баг-репорт Атмелу и либо ждать исправления, либо разбираться в исходниках и править самому.

 

да, спасибо, чет затупил, команда для двойного слова

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this