[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Sot 06 августа 2002 г. 14:33
В ответ на: Просмотрел доки. Однако так и нашел ничего по созданию "intrinsic" функций. Самому додуматься не получается. Как? Можно маленький сампл? Буду благодарен. отправлено Vollan 05 августа 2002 г. 03:45

Создай собственную библиотеку и включи в нее необходимые тебе функции, что я собственно и делаю. Пример на asm'е твоей функции,
файл _cswap_.a51, текст ниже. Включаешь ее в библиотеку, собираешь, прописываешь в заголовочном файле библиотеки (my.h) ее вызов unsigned char _cswap_(unsigned char byte). Включаешь библиотеку (my.lib) и ее заголовок (my.h) в свой проект и работай на здоровье :) Не используемые функции библиотеки прилинковываться к рабочему коду не будут, так что полный аналог Intrinsic Routines.

----------------------
NAME _CSWAP_


?PR?_cswap_?_CSWAP_ SEGMENT CODE

PUBLIC __cswap_


; ===================================================================
; = Обменять местами тетрады байта =
; = --------------------------------------------------------------- =
; = Вход: R7 - исходный байт =
; = Выход: R7 - сконверченный байт =
; ===================================================================
; unsigned char _cswap_(unsigned char byte) {

RSEG ?PR?_cswap_?_CSWAP_
USING 0

__cswap_:
MOV A,R7
SWAP A
MOV R7,A
; }
RET


END
----------------------

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru