Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ассемблер AVR32
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > AVR32
ostrovv
Дорого всем . . .

Код
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 не нашел . . .

Спасибо
Сергей Борщ
Цитата(ostrovv @ Dec 17 2013, 10:38) *
почему компилятор заменяет регистры, в последних двух командах (r4-r2), и как отключить в настройках компилятора . . .
Это либо ошибка ассемблера либо ошибка дизассемблера. Вы пробовали анализировать код команды? Из него будет видно, кто виноват. Ассемблер не имеет права подменять регистры. Т.е. в любом случае надо писать баг-репорт Атмелу и либо ждать исправления, либо разбираться в исходниках и править самому.
ostrovv
Цитата(Сергей Борщ @ Dec 17 2013, 14:19) *
Это либо ошибка ассемблера либо ошибка дизассемблера. Вы пробовали анализировать код команды? Из него будет видно, кто виноват. Ассемблер не имеет права подменять регистры. Т.е. в любом случае надо писать баг-репорт Атмелу и либо ждать исправления, либо разбираться в исходниках и править самому.


да, спасибо, чет затупил, команда для двойного слова
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.