#define MASK_bm 0x78
#define MASK_bp 3
#define TETRADA( n ) {register unsigned char copy = SREG; \
__disable_interrupt(); \
PORTB = ( (PORTB & (~(MASK_bm))) | \
(((n)& 0x0f) << MASK_bp ) ); \
SREG = copy; }
//-- примеры вызова
TETRADA(1);
TETRADA(12);