угу, в нашел, может кто объяснит, почему по разному работают два куска кода?
Отправлено
mim 27 августа 2009, г. 16:35
В ответ на:
(+) отправлено пользователем
Quasy 27 августа 2009, г. 16:19
volatile unsigned long temp32;
unsigned char temp08 = 0;
//--------
if(
(temp32&(1L<<2) != 0L)
||(temp32&(1L<<3) != 0L)
)
temp08 = 1;
дает на выходе (по моему неправильно) ...
??menuProcessMenu_3:
LDI R30, LOW(temp32)
LDI R31, (temp32) >> 8
LD R16, Z
LDD R17, Z+1
LDD R18, Z+2
LDD R19, Z+3
SBRC R16, 0
RJMP ??menuProcessMenu_4
LDI R30, LOW(temp32)
LDI R31, (temp32) >> 8
LD R16, Z
LDD R17, Z+1
LDD R18, Z+2
LDD R19, Z+3
SBRS R16, 0
RJMP ??menuProcessMenu_5
??menuProcessMenu_4:
LDI R16, 1
STS temp08, R16