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

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

Отправлено ejol 04 сентября 2002 г. 11:44


int Data1;
char Data2;
void main(void)
{
Data1=0;
Data1 += (int)Data2;
}

; 62 int Data1;
; 63 char Data2;
; 64 Data1=0;
; Data1 -> R16,R17
; Data2 -> R18
__GETWRN 16,17,0
; 65 Data1 += (int)Data2;
MOV R30,R18
CLR R31 //обнуление!!!
__ADDWRR 16,17,30,31


CodeVision не хочет слаживать интовую переменную с байтовой с учётом знака.Если Data2 отрицательная,то старший байт при сложении должен не обнуляться а приравниваться 0xff(расширение знака).Как правильно написать?

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

Ответы



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

E-mail: info@telesys.ru