реклама на сайте
подробности

 
 
> Не удается повторить сишный код в асме АРМ., контроллер at91sam7s
Bulat
сообщение Nov 23 2009, 06:15
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



мне необходимо реализовать на асм-е следующий сишный код:
Код
if(datA&0x80000000) regA = 0x20000;
else regA = 0x0;

Но операнд в ARM-команде может иметь макс длину 12 бит, поэтому в асм-е я поступаю следующим образом:
Код
;r1 = datA, regA = r6
  mov      r6, r1
  mov      r6, r6, lsr #28
  and       r6, r6, #0x8                                                    
  ldrne     r6, =0x20000                                                    ;if(datA&0x80000000) regA = 0x20000
  ldreq     r6, =0                                                              ;else regA = 0x0

это правильно?
Заранее благодарен.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Bulat   Не удается повторить сишный код в асме АРМ.   Nov 23 2009, 06:15
- - Bulat   мне необходимо реализовать на асм-е следующий сишн...   Nov 23 2009, 06:34
|- - aaarrr   Цитата(Bulat @ Nov 23 2009, 09:34) это пр...   Nov 23 2009, 06:50
|- - aaarrr   Цитата(Bulat @ Nov 23 2009, 09:34) асм-ко...   Nov 23 2009, 07:30
|- - Bulat   Цитата(aaarrr @ Nov 23 2009, 13:30) Да, н...   Nov 23 2009, 09:13
|- - GetSmart   Цитата(Bulat @ Nov 23 2009, 15:13) Почему...   Nov 23 2009, 09:27
|- - Bulat   Цитата(GetSmart @ Nov 23 2009, 15:27) sub...   Nov 23 2009, 09:44
|- - GetSmart   Нельзя же так быстро цитировать Bulat, в асм-фун...   Nov 23 2009, 10:23
|- - Bulat   Цитата(GetSmart @ Nov 23 2009, 16:23) А в...   Nov 23 2009, 10:30
- - sergeeff   Кодtst r1, #2, 2; -2147483648 (0x80000000...   Nov 23 2009, 07:02
- - sergeeff   Авторы многих книг предупреждают о вреде преждевре...   Nov 23 2009, 08:06
|- - GetSmart   Цитата(sergeeff @ Nov 23 2009, 14:06) Авт...   Nov 23 2009, 08:52
|- - andrew_b   Цитата(GetSmart @ Nov 23 2009, 12:52) Мо...   Nov 23 2009, 08:58
|- - sergeeff   Цитата(GetSmart @ Nov 23 2009, 11:52) Мо...   Nov 23 2009, 09:08
- - sergeeff   Быстрее и короче: Код ldr r12,=TC_base ...   Nov 23 2009, 09:35
- - aaarrr   Bulat, вы с дизассемблированным кодом C-программы ...   Nov 23 2009, 10:02
|- - Bulat   Цитата(aaarrr @ Nov 23 2009, 16:02) Bulat...   Nov 23 2009, 10:18
|- - aaarrr   Цитата(Bulat @ Nov 23 2009, 13:18) В диза...   Nov 23 2009, 10:41
|- - Bulat   Цитата(aaarrr @ Nov 23 2009, 16:41) Не ве...   Nov 23 2009, 11:06
|- - GetSmart   Цитата(Bulat @ Nov 23 2009, 17:06) переме...   Nov 23 2009, 11:16
|- - Bulat   я имел в виду лишние обращения к памяти, которых в...   Nov 23 2009, 11:51
|- - aaarrr   Цитата(Bulat @ Nov 23 2009, 14:06) переме...   Nov 23 2009, 12:46
- - sergeeff   У вас в С-ой программе сплошь глобальные переменны...   Nov 23 2009, 12:10
- - defunct   Цитата(sergeeff @ Nov 23 2009, 14:10) Сов...   Nov 23 2009, 12:19
- - Bulat   Цитата(sergeeff @ Nov 23 2009, 18:10) У в...   Nov 23 2009, 12:49


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 21:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016