Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Нет, не использует. Советую думать, прежде чем что-то писать (+)

Отправлено 26 декабря 2006 г. 00:41
В ответ на: Ответ: Спицально тупите? А в выражениях {пример которого я привёл}, которых в проге может быть туева хуча, компилятор тоже не использует служебную инфу при операциях с указателями {шоб определить, скока и куда надо прибавлять}??? отправлено ТуамОсес 26 декабря 2006 г. 00:33


char test [5][6][7];

char get_data(int a, int b, int c)
{
return test[a][b][c];
}

char get_data1(int a, int b, int c)
{
return *(*(*(test+a)+b)+c);
}


--------------------

.global _test
.bss _test,210,0,0 ; 210 = 5*6*7 !!!!!!!!!!!!
_get_data__FiN21:
;* T0 assigned to _a
;* T1 assigned to _b
;* AR0 assigned to _c

MOV #(_test & 0xffff), AR3 ; |7|
|| MOV T1, HI(AC0)

MPYK #7, AC0, AC0 ; умножить b на 7
MACK T0, #42, AC0, AC0 ; прибавить к этому a*42
MOV AC0, T0 ; |7|
ADD AR0, T0 ; прибавить к сумме "c"
MOV *AR3(T0), T0 ; достать данное
RET ; |7|
;------------------------------------
_get_data1__FiN21:
;* T0 assigned to _a
;* T1 assigned to _b
;* AR0 assigned to _c

MOV #(_test & 0xffff), AR3 ; |12|
|| MOV T1, HI(AC0)

MPYK #7, AC0, AC0 ; |12|
MACK T0, #42, AC0, AC0 ; |12|
MOV AC0, T0 ; |12|
ADD AR0, T0 ; |12|
MOV *AR3(T0), T0 ; |12|
RET ; |12|

Как видите, оба варианта корректны, идентичны, и компилер отлично узнал, сколько, когда и к чему надо прибавить.

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
при вычитании трёх из шести получится:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru