A common tactic is to create your own pointers to system registers. I don't know the DDRD address, but something like this should be a trick:
volatile unsigned char *reg_DDRD = (unsigned char *)0xE000;
*reg_DDRD = 0xAB;
C , -. , :
DDRD = 0xAB;
, C .
3 . , C. , C, . , , , , :
org 38h ; or wherever the gameboy CPU jumps to on interrupt
jp _intr_function
, CPU intr_function() C. . org, .
, C . , :
void intr_function()
{
asm(" push af");
asm(" push bc");
asm(" push de");
asm(" push hl");
asm(" pop hl");
asm(" pop de");
asm(" pop bc");
asm(" pop af");
}
, . C, .
, . C . main(), , . , C- , SDK Arduino, , , , C.