|
Hi-Tech PRO PIC10/12/16 V9.65PL1 & PCLATH |
|
|
|
 |
Ответов
|
Dec 4 2009, 09:03
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(Herz @ Dec 3 2009, 21:10)  А в чём проблема? Проблем нет, просто испытываю дискомфорт, изучая код, созданный компилятором. Показываю более полный пример - исходник и результат: Код Out = 0; Delay10K(30); // 0.3 s Out = 1; Delay10K(50); // 0.5 s Out = 0; Delay10K(30); // 0.3 s Out = 1; Delay10K(50); // 0.5 s Out = 0; Delay10K(30); // 0.3 s Out = 1; Delay10K(50); // 0.5 s Код 61: Out = 0; Delay10K(30); // 0.3 s 0027 1008 BCF 0x8, 0 0028 301E MOVLW 0x1e 0029 120A BCF 0xa, 0x4 002A 118A BCF 0xa, 0x3 002B 27F3 CALL 0x7f3 62: Out = 1; Delay10K(50); // 0.5 s 002C 1408 BSF 0x8, 0 002D 3032 MOVLW 0x32 002E 120A BCF 0xa, 0x4 002F 118A BCF 0xa, 0x3 0030 27F3 CALL 0x7f3 63: Out = 0; Delay10K(30); // 0.3 s 0031 1008 BCF 0x8, 0 0032 301E MOVLW 0x1e 0033 120A BCF 0xa, 0x4 0034 118A BCF 0xa, 0x3 0035 27F3 CALL 0x7f3 64: Out = 1; Delay10K(50); // 0.5 s 0036 1408 BSF 0x8, 0 0037 3032 MOVLW 0x32 0038 120A BCF 0xa, 0x4 0039 118A BCF 0xa, 0x3 003A 27F3 CALL 0x7f3 65: Out = 0; Delay10K(30); // 0.3 s 003B 1008 BCF 0x8, 0 003C 301E MOVLW 0x1e 003D 120A BCF 0xa, 0x4 003E 118A BCF 0xa, 0x3 003F 27F3 CALL 0x7f3 66: Out = 1; Delay10K(50); // 0.5 s 0040 1408 BSF 0x8, 0 0041 3032 MOVLW 0x32 0042 120A BCF 0xa, 0x4 0043 118A BCF 0xa, 0x3 0044 27F3 CALL 0x7f3 Когда я писал на ассемблере, я выбирал страницы по мере необходимости. А тут весь код в одной странице, зачем же "перетрахивать" ненужные биты? И памяти жалко, и времени...
|
|
|
|
|
Dec 4 2009, 09:18
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Цитата(ViKo @ Dec 4 2009, 11:03)  Проблем нет, просто испытываю дискомфорт, изучая код, созданный компилятором. Показываю более полный пример - исходник и результат: Код ... 0044 27F3 CALL 0x7f3 Когда я писал на ассемблере, я выбирал страницы по мере необходимости. А тут весь код в одной странице, зачем же "перетрахивать" ненужные биты? И памяти жалко, и времени... Не стоит их жалеть, ведь, как Вы сами сказали, проблем нет и на производительности (как я понимаю) это не сказывается. Тем более, что программные задержки по типу ваших уж никак примером эффективности служить не могут - в них потеряете больше... Кроме того, Вы уверены что при вызове функции не происходит переход на другую страницу? Где находится 0x7f3 ?
|
|
|
|
|
Dec 4 2009, 13:32
|

Гуру
     
Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287

|
Цитата(ViKo @ Dec 4 2009, 11:33)  Мне большего не требуется. Простая задача, простая программа. Речь не о ней. Так будет везде, в любой программе. А 0x7f3 находится в конце нулевой страницы. В данном вопросе компилятор молодец, разместил подпрограмму в конце, чтобы не "путалась под ногами". Да, я тоже заметил, что компилятор молодец  и часто делает за нас нашу работу иногда лучше нас самих. Так что не спешите тревожится: будут проблемы - будут и решения...  А то , что обратили внимание: по-моему, хорошо и пока достаточно.
|
|
|
|
Сообщений в этой теме
ViKo Hi-Tech PRO PIC10/12/16 V9.65PL1 & PCLATH Dec 3 2009, 14:45 xemul Цитата(ViKo @ Dec 3 2009, 17:45) Что сдел... Dec 4 2009, 14:35 ViKo Цитата(xemul @ Dec 4 2009, 16:35) Предлож... Dec 4 2009, 15:58  xemul Цитата(ViKo @ Dec 4 2009, 18:58) А как я,... Dec 4 2009, 16:32   Евгений Германович Цитата(xemul @ Dec 4 2009, 20:32) Может к... Dec 6 2009, 09:25    ViKo Мое мнение - семейства PIC10/12/16 не блещут произ... Dec 7 2009, 10:25     Herz Цитата(ViKo @ Dec 7 2009, 12:25) В-общем,... Dec 7 2009, 11:10 ViKo А вот гляньте на следующий код! Та же программ... Mar 19 2010, 08:43
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|