Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
МожноИтак
25 марта 2003 г. 11:58
В ответ на:
Вопрос по Си(3 дня назад начал): в асме MCS51 что бы загрузить в Т/С0 число например 25000, пишешь- MOV TL0,#LOW 25000; MOV TH0,#HIGH 25000 - а как тоже самое сделать на Си?
отправлено Полу-программист 25 марта 2003 г. 11:43
/* 25000 = 0x61A8 */
/* значит : */
TL0 = 0xA8;
TH0 = 0x61;
Составить ответ
|||
Конференция
|||
Архив
Ответы
И что осталось от Си?:о))
—
ВМФ
(25.03.2003 12:31, 65 байт)
IAR - правильно, а другие как ? Переносимость вешь не последняя
—
ЭтоДробиУжеПошли
(25.03.2003 12:41,
пустое
)
Переносимость не при чем, просто порядок байт в int и в T0 должны совпадать. А в AVR специально сделано чтобы они совпадали.
—
Михаил Е.
(25.03.2003 13:01,
пустое
)
Дык вроде и в AVR и в 51м порядок байт в парных sfr одинаковый и прямо противоположен порядку бай т в int...
—
ВМФ
(25.03.2003 13:14,
пустое
)
Для AVR сейчас перепроверил - совпадают. А то уж засомневался было.
—
Михаил Е.
(25.03.2003 14:02,
пустое
)
Разве старший байт переменной в Си не по младшему адресу в памяти размещается?
—
ВМФ
(25.03.2003 14:17,
пустое
)
В моторолах по младшему, в интелах наоборот.
—
Linuxoid
(25.03.2003 14:28,
пустое
)
Младший байт по младшему адресу.
—
Михаил Е.
(25.03.2003 14:23,
пустое
)
Тож перепроверил)) ИАР - младший по младшему, Кеил - наоборот. ОК. Второй пункт наполовину снимается ))
—
ВМФ
(25.03.2003 14:41,
пустое
)
Я !
—
компилятор
(25.03.2003 12:38,
пустое
)
Ответ: Так тоже можно, только Вы делаете перевод вручную, что чревато ошибками. Лучше эту работу оставить компилятору.
—
Bill
(25.03.2003 12:27,
пустое
)
Не надо о "возможных ошибках" - ох, далеко зайдем ;)
—
Весельчак_У
(25.03.2003 15:01,
пустое
,
картинка
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru