Feb. 4th, 2005

lumag: (Default)
Blackfin — хороший процессор. Быстрый. Многоразрядный. Там есть полноценные 32-битные операции. И два 40-битных аккумулятора. Но! Адрес в регистр надо загружать за две операции: сначала верхюю половину, потом нижнюю (а можно и наоборот). Выглядит это, например, так:

p0.h = HI(EVT_NMI_ADDR);
p0.l = LO(EVT_NMI_ADDR);

Потом чтение/запись. Например так:

w [p0] = r0

Естественно, вторая строчка пишется методом c&p.
Минут десять размышлял, почему виснет такой код:

p0.h = HI(EVT_NMI_ADDR);
p0.l = HI(EVT_NMI_ADDR);
w[p0] = r0

Раньше я за собой такого не замечал :(

Profile

lumag: (Default)
Dmitry Eremin-Solenikov

March 2016

S M T W T F S
  12345
6789 101112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 14th, 2025 04:09 pm
Powered by Dreamwidth Studios