Rotacia v C pre 8051
Richard Kaliciak
richard.kaliciak
Středa Březen 17 12:01:43 CET 2004
Dobry den!
Mam maly problem. Ako napisem v C pre 8051 (Keil ľVision 2) tento kusok
programu bez toho, aby som pouzil #pragma ASM?
**********************************************************
SendByte: MOV BitCnt,#8 ;Set bit count.
SBLoop: RLC A ;Send one data bit.
MOV SDAPin,C ;Put data bit on pin.
DJNZ BitCnt,SBloop ;Repeat until all bits sent.
**********************************************************
Zatial to mam vyriesene takto:
**********************************************************
BitCnt = 8; // Set bit count.
for( BitCnt = 8; BitCnt >0; BitCnt -- )
{
#pragma ASM
RLC A
MOV SDAPin,C
#pragma endasm
};
**********************************************************
Ide mi o instrukciu RLC. V manualy ku Keilu je popisana funkcia _crol_ a
_cror_, ktora robi rotaciu, ale vysledok je znova char. Ja by som
potreboval nejaku funkciu zodpovedajucu RLC alebo nieco, co by malo ako
vystup char(hodnota po rotacii) a bit (Carry).
Dakujem za tipy.
R. Kaliciak
Další informace o konferenci Hw-list