ASM vs C

Jan 30, 2004 2 Replies

Hi All, hope you are having a nice day!


HÕ ÞÔÏ, ÐÏÄÌÉÔØ ÍÁÓÌÉÃÁ × ÏÇÏÎØ? %)



ôÕÔ ËÁË ÒÁÚ ÔÁË ÐÏÌÕÞÉÌÏÓØ, ÞÔÏ Õ ÍÅÎÑ ÅÓÔØ Ä×Á ÉÄÅÎÔÉÞÎÙÈ ÁÌÇÏÒÉÔÍÉÞÅÓËÉ É ÐÏ ÆÕÎËÃÉÏÎÁÌØÎÏÓÔÉ ÐÒÏÅËÔÁ. ïÄÉÎ ÉÚ ÎÉÈ - ËÏÎÔÒÏÌÌÅÒ ÄÉÓÐÌÅÑ É ËÌÁ×ÉÁÔÕÒÙ Ó IIC ÉÎÔÅÒÆÅÊÓÏÍ ÎÁ PIC18 (mcc18), ×ÔÏÒÏÊ ÔÏÖÅ ÓÁÍÏÅ ÎÁ PIC16 (MPASM).
ðÅÒ×ÏÎÁÞÁÌØÎÏ ÐÒÏÅËÔ ÂÙÌ ÎÁÐÉÓÁÎ ÎÁ C ÄÌÑ PIC18, ÐÏÔÏÍ × ÓÉÌÕ ÒÑÄÁ ÐÒÉÞÉÎ ÂÙÌ ÐÅÒÅÐÉÓÁÎ ÄÌÑ PIC16 ÎÁ ÁÓÓÅÍÂÌÅÒÅ. é ÔÏÔ É ÄÒÕÇÏÊ ËÏÄ ÐÉÓÁÌ Ñ. áÌÇÏÒÉÔÍÙ ÐÒÁËÔÉÞÅÓËÉ ÉÄÅÎÔÉÞÎÙ. HÕ ×ÌÏÍ ÍÎÅ ÂÙÌÏ ÉÓËÁÔØ ËÏÍÐÉÌÑÔÏÒ ÄÌÑ PIC16, ÄÁ É ÐÒÏÅËÔ ÎÅ ÔÏÇÏ ÕÒÏ×ÎÑ, ÞÔÏÂÙ ÚÁÍÏÒÁÞÉ×ÁÔØÓÑ.
é ×ÏÔ ÞÔÏ ÐÏÌÕÞÉÌÏÓØ:
äÌÑ PIC18:


4153 out of 33048 program addresses used, program memory utilization is 12%



äÌÑ PIC16:


1531 out of 2312 program addresses used, program memory utilization is 66%



HÅÓËÏÌØËÏ ÐÏÑÓÎÅÎÉÊ:


  1. PIC18 ÉÍÅÅÔ Ä×Á ÂÁÊÔÁ (ÁÄÒÅÓÁ) ÎÁ ËÏÍÁÎÄÕ, ÔÏÇÄÁ ËÁË Õ PIC16 ËÏÍÁÎÄÁ ×ÓÅÇÄÁ ÏÄÎÏÓÌÏ×ÎÁÑ, Ô.Å. ÒÅÁÌØÎÏÅ ÓÏÏÔÎÏÛÅÎÉÅ ÐÏÌÕÞÁÅÔÓÑ ÐÒÉÍÅÒÎÏ 2076/1531. ëÒÏÍÅ ÔÏÇÏ, ÎÅËÏÔÏÒÙÅ ËÏÍÁÎÄÙ ÎÁ PIC18 ÄÁÖÅ ÞÅÔÙÒÅÈÂÁÊÔÎÙÅ, ÔÏ ÅÓÔØ ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÓÏÏÔÎÏÛÅÎÉÅ ÄÁÖÅ ÍÅÎØÛÅ.
  2. mcc18 ÎÅ ÌÕÞÛÉÊ ËÏÍÐÉÌÑÔÏÒ C ÄÌÑ PIC18.


éÔÏÇÏ ÉÍÅÅÍ (2076-1531)/1531 ~= 36% ÐÏÓÌÅ ÓÁÍÏÇÏ ÔÕÐÏÇÏ ÐÏÄÓÞÅÔÁ ËÏÄÁ ÂÅÚ ÕÞÅÔÁ ×ÔÏÒÏÊ ÞÁÓÔÉ Ð.1



Disclaimer: ÜÔÁ ÉÎÆÏÒÍÁÃÉÑ ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÇÍÏÊ, É ÐÒÉ×ÏÄÉÔÓÑ ÐÒÏÓÔÏ ËÁË ÐÒÉÍÅÒ ÒÅÁÌØÎÏÇÏ ÐÒÏÅËÔÁ ÎÁ C É ASM, ÄÁÂÙ Õ ÓÐÏÒÑÝÉÈ ÐÏÑ×ÉÌÉÓØ ÈÏÔØ ËÁËÉÅ-ÔÏ ÁÒÇÕÍÅÎÔÙ. :)



WBR, AVB



ICQ# 43835774 mailto: avb<at>dialup.etr.ru


Hi!

"Alexey V Bugrov" сообщил в новостях следующее:

Тогда и я могу свой пример привести. Недавно потребовалось провести реинжиниринг устройства, разработанного мною же лет 5 назад - расширить функциональность. В исходном варианте программа занимала 4Ксловный пик почти под завязку и писана была на асме, причем написана довольно плотно (в ущерб читабельности), дабы в 4К впихнуться. Полистал я с тоской исходники, и осознал, что быстрее это все на Це перепишу с нуля, чем разбираться буду и с глюками бороться. Пик был взят 8Ксловный (877 вместо 74), программа переписана (плата - без изменений), результат - 6К с небольшим хвостиком. Вначале, правда, были проблемы с оверхедом, с опциями не вполне разобрался (я первый раз в руки Hi-Tech PIC взял) , я и тут, в конфе спрашивал, но мне подсказали, в чем была ошибка. С учетом того, что функциональность заметно расширена, оверхед я оцениваю где-то 25%. Вставки на асме не понадобились, хотя куски, до некоторой степени критичные к быстродействию были - софтверный UART на 9600(аппаратный тоже занят), генерация DTMF врукопашную, штук 5 уровней прерываний - все и на С можно успеть, если в генерируемый код поглядывать и писать с учетом.

Да-да :-)

Примите уверения в совершеннейшем к Вам почтении

"Alexey V Bugrov" <Alexey_V snipped-for-privacy@f32.n.z2.fidonet.org>

ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:MSGID_2=3A5029=2F32 snipped-for-privacy@fidonet.org...
äÁ, Ñ É ÒÁÎØÛÅ-ÔÏ ÐÏÌÁÇÁÌ, ÞÔÏ ÎÁ ÁÓÍÅ ÐÉÓÁÔØ ÓÔÏÉÔ ÔÏÌØËÏ ÐÏ ÍÅÄÉÃÉÎÓËÉÍ ÐÏËÁÚÁÎÉÑÍ, Á ÔÅÐÅÒØ ÔÅÍ ÂÏÌÅÅ. íÎÅ ÐÒÁ×ÄÁ ÐÒÏÝÅ É ÏÄÎÏÚÎÁÞÎÅÅ - ÐÏÄÅÌËÉ ÎÅÔÉÒÁÖÎÙÅ, Á ×ÒÅÍÑ Ó×ÏÅ Ñ ÃÅÎÀ. äÅÎÉÓ.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required