//h8300-hms-gcc -mh -g 3.c -o 3.x //h8300-hms-gdb 3.x //h8300-hms-gcc -c -mh -S 3.c //h8300-hms-gcc -fomit-frame-pointer -c -O2 -mh -S -Wall 3.c //h8300-hms-gcc -mh 3.s -o 3.x //h8300-hms-gdb 3.x //h8300-hms-gcc -fomit-frame-pointer -c -O2 -mh -g -Wall 3.c -o 3.x volatile char* const P4PCR = ( char* )0xffffda ; volatile char* const P4DR = ( char* )0xffffc7 ; volatile char * const P4DDR = (char* )0xffffc5 ; void Timer( int LoopCnt ) ; void Led( int Status ) ; void LedBlink( void ) ; int main( void ) { *P4DDR = 0x7f ; *P4PCR = 0xff ; LedBlink() ; return( 0 ) ; } void LedBlink( void ) { for(;;) { Led( 1 ) ; Timer( 1 ) ; Led( 0 ) ; Timer( 1 ) ; } } void Led( int Status ) { if( Status == 0 ) { *P4DR = ( *P4DR ) | 0x40 ; } else { *P4DR = ( *P4DR ) & ( ~0x40 ) ; } } void Timer( int LoopCnt ) { int i ; for( i = 0 ; i < LoopCnt ; i ++ ) { } }