Единственное где использую линейный код — это задержки порядка микросекунд и прочие супер тайм-критикал вещи. В тех же местах в топике, которые я привел, быстродействие — самая последняя вещь о которой надо думать, например форматирование SD карты (а именно оно в примере) происходит совсем не часто.
PS. А можно я ваш код чуток пооптимизирую, точнее поизвращаюсь ;)
Исхожу из того что 256 баранов байт лежат в одной банке, что ну уж очень логично, особенно в 16-м семействе пиков (судя по командам), тогда:
clrf FSR ; этого не то чтобы нет в исходном примере, его просто плохо видно :)
start:
clrf INDF ;1 cycle
incfsz FSR, f ;1(2 if Zero) cycles
goto start ;2 cycles
;end
Подумалось тут, надо ввести в свой лексикон выражение «гипотетический факт», классно бы звучал демагог диалог: «А как вы считаете, этот факт не достаточно ли гипотетичен и эфемерен, для того чтобы обсуждать его практические последсвия?»
Искренне восхищен познаниями в столь тонких материях, сам я в них к сожалению как свинья в апельсинах, поэтому индусский для меня это как для римлян варварский — суть — непонятный в первую очередь; ксенос может быть но -фобос никак, я боюсь не кода как такового, или огнепоклонника в чалме с тем что у него в голове такой код, а того что такой код был в моих программах.
И ни в коем случае не хочу обидеть представителей столь древней цивилизации провернувшей сексуальную революцию задолго до того как мои предки начали шариться где-то в лесах и промышлять собирательством, язычеством и прочим воруй-убивай (гусей н ебыло). А слово «шиваизм» просто пришлось кстати, для меня любой набор звуков в противоестественной уху позе, например, «абухрантропия» или «нонемичизм» будет невольно ассоциироваться с тем, что я видел в исходниках микрочипа.
" -1 в том или ином виде", -1 в виде unsigned это 0xF...F по соответствующей ширине, но видимо надо было привести кусок чуть шире:
#if defined __C30__ || defined __C32__
{
BYTE* localPointer = ioInfo.pBuffer;
WORD localCounter = ioInfo.wNumBytes;
// здесь тот самый, приведенный кусок
// переменные локальнее некуда
}
#endif
Но даже если есть задача написать полный эквивалент, а не функциональный в данном контексте, то достаточно внести декремент внутрь операторных скобок, что увеличит исходный код всего на одну строку.
Данный вариант внес в топик чтобы не было недопониманий, хотя кто-нибудь другой вполне возможно назвал это пустой придиркой. Все-таки тема не про тесты на языке си, хотя такую тоже интересно было бы поднять, интересно кто как берет программистов на работу. Вот у меня, например, накопилось с десяток заданий-тестов.
SPIBUF не определен в обоих кусках (на то они и куски — он определен выше и это не суть), а если читать внимательно то уменьшение указателя компенсируется его последующим увеличением. В этом то и фокус — писать код так чтобы никто не разобрался, но выглядело умно'.
Ну культура именований переменных должна быть и так, чтобы понять где глобальная, а где локальная, но можно и параметры в макрос пихнуть и явно потом переменные указывать:
Кстати для пика актуальнее вообще вынести в обычную функцию (особенно если переменные глобальны и передается только условие) — значительно компактнее код получится, так как на работу с указателями используется довольно громоздкая обертка и штук пять костылей.
Компиляторы под PIC реализуют стандарт ANSI X3.159-1989 «Язык программирования C», именно эту версию часто называют «ANSI C» или «C89», а 1989 год был чуть раньше чем 13 лет назад, так что inline там нет.
Если воспользоваться конвертером, или каким еще способом получить vcf, а далее сделать как написано в пункте «Импорт в телефон» то в процессе импорта можно будет выбрать куда импортировать контакты: в телефон или аккаунт.
Совет сменить ориентацию он конечно дельный, поговаривают женский оргазм куда более интенсивный. Но все-таки думаю что друзья нужны для того, чтобы помогать в том что мы не можем одолеть сами, а не учить жить, тем более когда это стоит всего полчаса рабочего времени.
Будучи полностью согласным, и абсолютно доверяющим гуглу, признаюсь что у меня просто нет секретов, таких, которые нельзя доверить, например, жене. Но если человек спокойнее спит, когда знает что коварные империалисты (а этот закостенелый сухарь не по наслышке знает такие слова) не получат его персональных данных (пусть по его мнению), то пусть это будет так (как пел Джон Леннон, хотя я далеко и не Мать-Мария).
Человек, который пытался конвертировать контакты довольно не глупый, хорошо владеет английским и умеет искать информацию. Точно не знаю пользовался ли он этими советами, но насколько я вижу эти ребята предлагают свой конвертер, вероятно с блекджеком и девками, а может просто не знающий кириллицу, или не работающий под Ubuntu:
For such stream, we provide you an efficient vCard converter software which will minimize your time, effort and cost. Software will not only export multiple vCard from Outlook 2003 but also import multiple vCard into your Outlook 2003 application. Give a try to us and take sigh of relief from manual process.
Вариант с гуглопочтой был отвергнут первым, по причине того, что человек отказался привязывать контакты к аккаунту гугла, резона я в этом не видел, но не спрашивал — у каждого свои тараканы.
PS. А можно я ваш код чуток пооптимизирую, точнее поизвращаюсь ;)
Исхожу из того что 256
барановбайт лежат в одной банке, что ну уж очень логично, особенно в 16-м семействе пиков (судя по командам), тогда:У меня на 256 циклов меньше.
демагогдиалог: «А как вы считаете, этот факт не достаточно ли гипотетичен и эфемерен, для того чтобы обсуждать его практические последсвия?»И ни в коем случае не хочу обидеть представителей столь древней цивилизации провернувшей сексуальную революцию задолго до того как мои предки начали шариться где-то в лесах и промышлять собирательством, язычеством и прочим воруй-убивай (гусей н ебыло). А слово «шиваизм» просто пришлось кстати, для меня любой набор звуков в противоестественной уху позе, например, «абухрантропия» или «нонемичизм» будет невольно ассоциироваться с тем, что я видел в исходниках микрочипа.
Но даже если есть задача написать полный эквивалент, а не функциональный в данном контексте, то достаточно внести декремент внутрь операторных скобок, что увеличит исходный код всего на одну строку.
Данный вариант внес в топик чтобы не было недопониманий, хотя кто-нибудь другой вполне возможно назвал это пустой придиркой. Все-таки тема не про тесты на языке си, хотя такую тоже интересно было бы поднять, интересно кто как берет программистов на работу. Вот у меня, например, накопилось с десяток заданий-тестов.
Ну а если вопрос действительно в тактах, то это уже про ассемблер, так как компилятор может и поменяться.
Спасибо!
Кстати для пика актуальнее вообще вынести в обычную функцию (особенно если переменные глобальны и передается только условие) — значительно компактнее код получится, так как на работу с указателями используется довольно громоздкая обертка и штук пять костылей.
Будучи полностью согласным, и абсолютно доверяющим гуглу, признаюсь что у меня просто нет секретов, таких, которые нельзя доверить, например, жене. Но если человек спокойнее спит, когда знает что коварные империалисты (а этот закостенелый сухарь не по наслышке знает такие слова) не получат его персональных данных (пусть по его мнению), то пусть это будет так (как пел Джон Леннон, хотя я далеко и не Мать-Мария).