¥ë¥Í¥µ¥¹½ãÀµH8¥â¥Ë¥¿¤òµ¡Ç½¶¯²½¤·¤Æ¤ß¤ë




¥ë¥Í¥µ¥¹½ãÀµH8¥â¥Ë¥¿¤òµ¡Ç½¶¯²½¤·¤Æ¤ß¤ë

2003/JUN/20

¥ë¥Í¥µ¥¹½ãÀµ¤ÎH8ÍÑ¥â¥Ë¥¿¤ò¤¤¤í¤¤¤í²þ¤¤·¤Æ¤ß¤Þ¤·¤¿¡£watson8Ū¤Ë¤Ï¤â¤Ï¤ä¥ª¥ê¥¸¥Ê¥ëÈǤˤÏÌá¤ì¤Ê¤¤ ¤Ã¤Æ¶ñ¹ç¤Ëµ¤¤ËÆþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡Ä ¤Þ¤¡µ¤¤ËÆþ¤Ã¤¿µ¡Ç½¤¬¤¢¤ì¤Ð¤¤¤ì¤Æ¤ä¤Ã¤Æ¤¯¤À¤µ¤¤
¸½ºß¤Ï(ROM¾Æ¤­ÂÑÀ­¤Î¹â¤¤(^^;)3052F¤Î¤ß¤Çưºî³Îǧ¤·¤Æ¤Þ¤¹¤¬¡¢ 3067F/3068F/3069F¤Ç¤Þ¤Ã¤¿¤¯Æ±ÍͤȻפï¤ì¤Þ¤¹¡£¢Í¥Ú¡¼¥¸ºÇ¸å¤Ë°Ü¿¢ÏÃ
3664F(Tiny)¤Ç¤â ROM/RAM¥µ¥¤¥º¤µ¤¨Ìܤò¤Ä¤Ö¤ì¤ÐƱÍͤǤ·¤ç¤¦¡£

̵ÊݾڤǤ¹¡£³Æ¼«¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¤ª´ê¤¤¤·¤Þ¤¹¡£
Åö¥µ¥¤¥È¤Ï¥ë¥Í¥µ¥¹Ž¥¥Æ¥¯¥Î¥í¥¸(³ô)¤È¤Ï²¿¤é´Ø·¸¤¢¤ê¤Þ¤»¤ó¡£ Ʊ¼Ò¤ËÌ䤤¹ç¤ï¤»¤ë¤è¤¦¤Ê¤³¤È¤Ï¿¼¤¯¤´±óθ¤¯¤À¤µ¤¤
¤µ¤¹¤¬¤Ë¤¢¤ëÄøÅÙ¤ÎC/¥¢¥»¥ó¥Ö¥é¤ÎÃ챤¬¤Ê¤¤¤È¸·¤·¤¤¤È»×¤¤¤Þ¤¹¡£ÉÔÌÀ¤ÊÅÀ¤Ï¤ªÌ䤤¹ç¤ï¤»¤¯¤À¤µ¤¤¡£
ɬÍפʤâ¤Î

ͽÈ÷Ãμ±
½ãÀµ¥â¥Ë¥¿¤Î¥á¥¤¥ó¥ë¡¼¥×¤Ï°Ê²¼¤Î¤è¤¦¤Ê¹½À®¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
	_INITIALIZE();
	INITIALIZE();
	MAIN:
		IN_STRING(buf); /*UNIX¤Îgets()¤È¤Û¤ÜƱ¤¸¤Ç¤¹*/
		COM_SPLIT(argv,buf);  /*¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò¥¹¥Ú¡¼¥¹¤Ç¥È¡¼¥¯¥ó¤Ëʬ²ò*/
		switch(argv[0]) {
		case ("A") : A_COM(); /*¼ÂºÝ¤Ïjmp¤Ç¸Æ¤ó¤Ç¤¤¤Þ¤¹¡£*/
		case ("B") : B_COM(); /*BRA MAIN¤ÇÊÖ¤·¤Æ¤¯¤À¤µ¤¤*/
		....
		case ("Z") : Z_COM();
		}
		goto MAIN:

	IN_STRING(char *buf)
	{
		for( ; ; ) {
			while((c=IN_CHAR())==NULL) ;
			*buf++=c;
			if(c==0x0d) break;
		}
	}
	
	IN_CHAR()  /****ÆþÎϤ¬¤Ê¤¯¤Æ¤â¥Ö¥í¥Ã¥¯¤·¤Þ¤»¤ó*/
	{		/**¤Þ¤¿¡¢puts()¸å¤Ê¤É¤Ç¤âŬµ¹¸Æ¤Ð¤ì¤ë¤è¤¦¤Ç¤¹*/
		if(!SCI1.SSR.BIT.RDRF) return(NULL);
		else return (SCI1.RDR);
	}

¤Ç¤ÏÎý½¬¤È¤·¤ÆZ¥³¥Þ¥ó¥É(WDT¤Ë¤è¤ë¥ê¥»¥Ã¥È)¤òËä¤á¹þ¤ß¤Þ¤¹
¤È¤Ë¤«¤¯¥ê¥»¥Ã¥È¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¥ì¥¸¥¹¥¿²õ¤·ÊüÂê¡¢µ¤³Ú¤Ê¤â¤ó¤Ç¤¹¡£¥Ü¡¼¥É¤ò¥ê¥»¥Ã¥È¤·¤¿¤¤¤È¤­¤Ï ¥â¥Ë¥¿¼«ÂÎÈô¤ó¤Ç¤ë¤³¤È¤¬Â¿¤¤¤Ç¤·¤ç¤¦¤«¤é¡¢¼ÂÍÑÀ­¤Ïµ¿Ìä¤Ç¤¹¡£¤Þ¤¡¥â¥Ë¥¿¤Î¥³¥Þ¥ó¥ÉÂÔ¤Á¤Ç ¤¢¤ê¤Ê¤¬¤é¥¿¡¼¥²¥Ã¥È¥×¥í¥°¥é¥à¤Ïư¤¤¤Æ¤ë¡¢¤ß¤¿¤¤¤Ê´Ä¶­¤òºî¤ê¤Þ¤¹¤Î¤Ç¡¢µ¤µÙ¤á¤Ë¤Ï¤Ê¤ê¤Þ¤¹(^^;)¡£ advanced.src¤Ç¤¹¡£

¥³¥Þ¥ó¥É¥Æ¡¼¥Ö¥ë(COM_NAME)¤Ë"Z"¤òÄɲä·¤Þ¤¹¡£
¡¡¡¡.SDATAZ¡¡"Z"¡¡;¡¡Z¡¡ Command Name 03/MAY/23
¡¦¸¡º÷¤Ë¥Ð¥¤¥Ê¥ê¥µ¡¼¥Á¤òÍѤ¤¤Æ¤¤¤ë¤ß¤¿¤¤(¤Ò¤§¡Á¡Á(^^;))¤Ç¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½ç¤Ë Æþ¤ì¤Ê¤¤¤Èµ¡Ç½¤·¤Þ¤»¤ó¡£
¡¦¥­¡¼ÆþÎϤòÂçʸ»ú¤ËÊÑ´¹¤·¤¿¸å¤Ç¾È¹ç¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢Âçʸ»ú¤ÇÅÐÏ¿¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¦°ìʸ»ú¥³¥Þ¥ó¥ÉZ¤Ï"Z"<0>¤Î£²¥Ð¥¤¥È¤Ç¤¹¤¬¡¢Æóʸ»ú¥³¥Þ¥ó¥Éh8¤Ï"H8"<0><0>¤ÎÍÍ¤Ë £´¥Ð¥¤¥È¤Ç¡¢¥³¥Þ¥ó¥ÉÆó¤Äʬ¤Ã¤Æ´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£

¤½¤Î¤Á¤ç¤Ã¤È¾å¤Ë¤¢¤ëCOM_NAME¤Î½ª¤ï¤ê¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊѹ¹¤·¤Þ¤¹
¡¡¡¡MOV.L¡¡¡¡#COM_NAME+30+2,ER5 ; Command Name Last --> ER5

¡¦Äɲä·¤¿¥Ð¥¤¥Èʬ¤À¤±Áý¤ä¤·¤Æ¤¯¤À¤µ¤¤¡£
CMD02.src¤Ë¥Ø¥ë¥×¥á¥Ã¥»¡¼¥¸¤òÄɲáĥª¥ê¥¸¥Ê¥ë¤ÎºÇ¸å¤¬S¥³¥Þ¥ó¥É¤Ç ¤½¤Î¸å¤í¤ËÄɲä·¤¿¾ì¹ç¤Ï¡¢¤³¤Îºî¶È¤ò¤·¤Ê¤¯¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£¤·¤«¤·¤¿¤È¤¨¤ÐC¥³¥Þ¥ó¥É ¤Ê¤¾Äɲ䷤ƥإë¥×¥á¥Ã¥»¡¼¥¸Äɲäò¥µ¥Ü¤ë¤È¡¢":F ?"¤ÇG¥³¥Þ¥ó¥É¤Î »È¤¤Êý¤¬É½¼¨¤µ¤ì¤Þ¤¹(µÕ¤«¤Ê^^;)¡£¤½¤ì¤Ç¤âÎɤ·¤È¤¹¤ë¤«¤È¤¤¤¦¤È¡¢¼Â¤Ïhterm.exe¤¬¡¢ ¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ëcpu¤òȽÄꤹ¤ë¤Î¤Ë":r ?"¤òÁ÷¤Ã¤Æ¤ª¤ê¡¢ÊÖ¤¹Ê¸¤ÎÃæ¤Ëʸ»úÎóH8/300H ¤¬¤Ê¤¤¤È¡¢°ìÉôưºî¤·¤Þ¤»¤ó¡£(¤ä¤±¤Ë¾Ü¤·¤¤¤Ê¤¡¢Í¥Ï¥Þ¥Ã¤¿¤«¤é¤µ^^;)
cmd02.src¤Ø¤ÎÄɲÃ/Êѹ¹ÅÀ¤ò¤¢¤²¤Æ¤ª¤­¤Þ¤¹¡£
¡¡MOV.B¡¡#15+1,R0H¡¡¡¡; Loop Count --> R0H (Äɲä·¤¿¥³¥Þ¥ó¥É¿ô¤À¤±Áý¤ä¤·¤Æ¤¯¤À¤µ¤¤¡££²Ê¸»ú¥³¥Þ¥ó¥É¤â°ì¸Ä¤Ç¿ô¤¨¤Þ¤¹)
¡¡MOV.L¡¡#COM_NAME+30+2,ER5 ; Command Name Last --> ER5 (advanced.src¤ÈƱÍÍ)

¡¡.DATA.L¡¡Z_HELP_MSG¡¡¡¡¡¡; Z¡¡Help Message Address added 03/JUN/16


Z_HELP_MSG: .DATA.B 2 ; String Count is 2 added 03/JUN/16
.SDATAC " Z :" ;
.SDATAZ " Reset CPU with WDT(Watch Dog Timer)."
.SDATAZ "¡¡¡¡Z¡¡[RET]"

´Ø¿ô¥Æ¡¼¥Ö¥ë(COM_TBL)¤ËZ_COM¤òÄɲä·¤Þ¤¹¡£(¤Õ¤¿¤¿¤Óadvanced.src)
¡¡¡¡.DATA.L¡¡Z_COM¡¡¡¡; Z Command Module Address 03/MAY/23
¡¦COM_NAME¤Î½çÈ֤ɤª¤ê¤Î°ÌÃ֤ˤª¤­¤Þ¤¹¡£
¼ÂºÝ¤ÎZ_COM¤òÄɲä·¤Þ¤¹¡£
Z_COM:
¡¡¡¡mov.w #H'a57f,r0
¡¡¡¡mov.w r0,@(H'FFFFA8) ; WDT.TCSR
¡¡¡¡sleep

¡¦¤Ï¤É¤³¤Ë¤ª¤¤¤Æ¤â·ë¹½¤Ç¤¹¡£É¬Íפʤé.import/.export¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ó¤À¤±¤À¤Ã¤¿¤«¤Ê¤¡

: ?
 Monitor Vector 000000 - 0000FF
 Monitor ROM    000100 - 005B83
(ÃæÎ¬)
 .  : Changes contents of H8/300H registers.
 A  : Assembles source sentences from the keyboard.
 B  : Sets or displays or clear breakpoint(s).
 D  : Displays memory contents.
(ÃæÎ¬)
 S  : Executes single emulation(s) and displays instruction and registers.
 Z  : Reset CPU with WDT(Watch Dog Timer).
: z ?
 Reset CPU with WDT(Watch Dog Timer).
      Z  [RET] 
: z

 H8/3052 Advanced Mode Monitor Ver. 3.0A
 Copyright (C) 2003 Renesas Technology Corp.

: h8 wdt
¡ãREG¡ä  ¡ãADDR¡ä ¡ãCODE¡ä   ¡ã 7      6      5      4      3      2      1      0 ¡ä
 TCSR    FFA8 000..000   OVF   WT/IT   TME                  CKS2   CKS1   CKS0 
 TCNT    FFA9 00
 RSTCSR  FFAB 1.......   WRST                                                  
: (WDT¤Ç¥ê¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤Î¤¬¤ï¤«¤ê¤Þ¤¹)

Z_COM¤Ø¤ÎÍ×µá»ÅÍÍ

¥³¥Þ¥ó¥É¤ò¤ª¼ê·ÚÄɲÃ
¥â¥Ë¥¿¤¬IN_STRING(buf);¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤ò¼è¤ê¹þ¤ó¤Àľ¸å¤ËCMDPATCH¤È¤¤¤¦¥µ¥Ö¥ë¡¼¥Á¥ó ¤ò¸Æ¤Ð¤»¤Æ¡¢¤½¤ÎÃæ¤ÇľÀÜbuf¤ò½ñ¤­´¹¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð ¤Ê¤É¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£

advanced.src¤ÎBSR¡¡¡¡IN_STRING¡¡¤Î¸å¤í¤Ë
¡¡.import CMDPATCH
¡¡¡¡BSR¡¡¡¡CMDPATCH
¤òÄɲä·¤Þ¤¹¡£
¼ÂºÝ¤ÎCMDPATCH¤Ï¤É¤³¤Ë¤ª¤¤¤Æ¤âÎɤ¤¤Î¤Ç¤¹¤¬¡¢MONITOR.src¤ÎºÇ¸å¤ËÄɲ䷤Ƥ·¤Þ¤¤¤Þ¤·¤¿¡£
Ver0.30AÍѤ˰줫½ê¤À¤±½ñ¤­´¹¤¨¤Þ¤·¤¿¡£cmdPatch()¤ò¸Æ¤Ö»þ¤Î°ú¿ô¤ò0L¢ªlongÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ø¡£

mon4.c(Ver0.32C)¡Ä¥¢¥»¥ó¥Ö¥éÉô(CMDPATCH:)¤âÂбþÉʤ¬É¬ÍפǤ¹
306xFÂбþ¤Î´Ø·¸¤Ç#ifdefƳÆþ¤·¤Þ¤·¤¿¡£Æ¬¤Î¿ô¹Ô¤À¤±¤Ç¤¹¡£

¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ

    struct SIMTAB{
       char *label;
       void *here;
    } simTabPtr[] = {
    
    { MAGIC,        (void *)1},
    { "_main",      (void *)0x220100},
    { "_sub1",      (void *)0x220120},
    { "_sub2",      (void *)0x220130},
    { "_count",     (void *)0x220142},
    { (char *)NULL, (void *)NULL}
    };
¤Î¤è¤¦¤Ê·Á¼°¤ÇRAM(¤Þ¤¡ROM¤Ç¤â)¤ËŸ³«¤·¤Æ¤¯¤À¤µ¤¤¡£MAGIC¤Ï¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¤ä¡¢ ¥³¡¼¥É¤È¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ÎÉÔÀ°¹ç(¥³¡¼¥É¤Î¤ß¥¢¥Ã¥×¥Ç¡¼¥È¤·¤¿¤È¤«)¤òÈò¤±¤ë¤¿¤á¤ËÆþ¤ì¤Æ¤ß¤Þ¤·¤¿¡£
½ãÀµ·Ï½èÍý·Ï¤Ç¤Ïtarget.map¤«¤é symPick.js(Ver0.05A°Ê¹ß) ¤Çºî¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
[ÄɲÃ.03/JUN/23]¡¡¤¦¤¦¤¦¡£symPick.js(0.04F)¤Ï.aifdef¤È¤« .aendi¤È¤«¤Î¾ò·ï¥¢¥»¥ó¥Ö¥ê¥³¡¼¥É¤òÅǤ¯¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤¬¤Ê¤ó¤È½©·î¥¢¥»¥ó¥Ö¥é¤ÏÄ̤ê¤Þ¤»¤ó¡£ symPick.js(0.05A°Ê¹ß)¤ÇÂкö¤·¤Þ¤¹¤¬¡¢¤È¤ê¤¢¤¨¤ºJScript¥½¡¼¥¹¤òľÀܽñ¤­´¹¤¨¤ë¤³¤È¤Ç¤·¤Î¤¤¤Ç¤¯¤À¤µ¤¤¡£
// fo.WriteLine("¡¡¡¡.aifdef NOEQU");¡×

¤ÎÍͤ˥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ ɬÍפʤé¡Öif(true) {¡¡¡¡}¡×¤Ç ÉÔÍפʤé¡Öif(false) {¡¡¡¡}¡×¤Ç¤¯¤¯¤Ã¤Æ¤¯¤À¤µ¤¤¡£ ¤ª¼ê¿ô¤«¤±¤Æ(¤¿¤À¤Ç¤µ¤¨¤á¤ó¤É¤¯¤µ¤¤¤Î¤Ë^^;)¤¹¤ó¤Þ¤»¤ó¡£
[ÄɲÃ.03/JUL/05]symPick.js(0.05E)¸ø³«¤·¤Þ¤·¤¿

[ÄɲÃ.03/JUL/04]¡¡¤µ¤Æ¤È¡Ä¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤À¤±gccÂбþ ¤·¤Æ¤â¤·¤ç¤¦¤¬¤Ê¤¤¤Î¤Ç¤¹¤¬¡Ö¥È¥éµ»(½©·î)C¥³¥ó¥Ñ¥¤¥é¤Ï»ý¤Ã¤Æ¤ë¤±¤É¡¢¼çÎϤÏgcc¡×¤ÊÊý¸þ¤±¡£ symPickG-c.awk¡¡15ʬ¤Ç¤Ç¤Ã¤Á¤¢¤²¤¿ÎÏºî¤æ¤¨¡¢¤¢¤Þ¤ê¤¤¤¸¤á¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
[ÄɲÃ.03/OCT/20]¿·ÈÇ¤Ï ¤³¤³¡£

¤¦¤¦¤¦¤à¡£¤ä¤ä¤³¤·¤¤¤¾
target.c¤òmon4.c¤ò»È¤¤¤Ê¤¬¤é³«È¯¤¹¤ë¤³¤È¤ò¹Í¤¨¤Þ¤¹¡£
  • target.obj¤ò²¾¥ê¥ó¥¯(ÇÛÃÖ)¤·¤Ætarget.abs¤Ètarget.map¤òºî¤ë(symbol.obj¤ò ¤Ä¤Ê¤¬¤Ê¤¤¤Î¤Ç̤ÄêµÁ¥·¥ó¥Ü¥ë·Ù¹ð¤¬½Ð¤ë¤Ç¤·¤ç¤¦)
  • target.map¤«¤é(symPick.js¤«¤Ê¤ó¤«¤Ç)symbol.mar¤òºî¤ë
  • target.obj¤Èmon4.obj¤Èsymbol.obj¤òËÜ¥ê¥ó¥¯¤·¤Æ¥·¥ó¥Ü¥ë¾ðÊóÉÕ¤­all.abs¤òºî¤ë
all.abs¤¬Â礭¤¯¤Ê¤ë(¥À¥¦¥ó¥í¡¼¥É¤Ë»þ´Ö¤¬¤«¤«¤ë)¤Î¤¬¥¤¥Þ¥¤¥Á¤Ç¤¹¤¬¡¢¤³¤ì¤¬´Êñ¤«¤Ä¼ÂÍÑŪ¤«¤È»×¤¤¤Þ¤¹¡£
¤È¤¤¤¤¤Ä¤Ä¡Ä[ÄɲÃ.03/JUL/02]¥³¥Þ¥ó¥É¤ò¤Á¤ç¤Á¤ç¤¤¤ÈÄɲäǤ­¤ë¥á¥ê¥Ã¥È¤¬Â礭¤¤¤È»×¤¤¡¢ ¤¢¤¨¤Æmon4.c¤ÏRAM¤Ë¤ª¤¤¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤è¤¯¹Í¤¨¤¿¤éc¥³¥Þ¥ó¥É¤¬¤¢¤ë¤Î¤Ç mon4.c¤ÏROM¤Ë¾Æ¤¤¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£(mm¥³¥Þ¥ó¥É¤òÄɲ乤ë¤Î¤Ë¡¢strcmp(av[0],"mm"); ¤Èmm()¤ò mon4.c¤ËÄɲ乤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢target.c¤Ëmm()¤òÄɲä·¡¢:c _mm¤Ç¿¶¤ê½Ð¤¹) ¤½¤Î·ë²Ì¡¢cmdPatch()¤Î¥¢¥É¥ì¥¹¤¬¸ÇÄê¤È¤Ê¤Ã¤¿¤¿¤á¡¢mon4.c¤ò¥¤¥Í¡¼¥Ö¥ë¤Ë¤¹¤ëY¥³¥Þ¥ó¥É¤â ROM²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Æ¤Ê¤«¤Ê¤«ÊØÍø¤Ç¤¹¡£
Z¥³¥Þ¥ó¥É¤ÈƱÍͤˤ³¤ó¤Ê´¶¤¸¤Ç¥â¥Ë¥¿¤ËËä¤á¹þ¤ó¤Ç¤¯¤À¤µ¤¤¡£

		.import _cmdPatch,LARGE_AREA,_FOPEN
	_CMDPATCH_PTR 	.equ LARGE_AREA+49*4

	
	Y_COM:  ; 03/JUL/01
		bsr  _FOPEN          ; L¥³¥Þ¥ó¥É¤Ê¤·¤Ëprintf()/scanf()¤¹¤ë¤¿¤á¤ËɬÍפǤ¹
		mov.l #_cmdPatch,er0
		mov.l er0,@_CMDPATCH_PTR
		bra  MAIN
ÅöÁ³¤Ç¤¹¤¬Y¥³¥Þ¥ó¥É¤À¤±¤Ï¥â¥Ë¥¿¤ËľÀÜËä¤á¹þ¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿target.c¤Î˽ÁöÅù¤Ë¤è¤ê mon4.c¤¬²õ¤ì¤ë¤³¤È¤¬¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¤Î¤Ç¡¢PowerON¤Çmon4.c¤ò¥¤¥Í¡¼¥Ö¥ë¤Ë¤¹¤ë¼ê¤â¤¢¤ê¤Þ¤¹(watson8 ¤Ë¤Ï¤½¤ÎÅÙ¶»¤Ï¤Ê¤¤¤Ç¤¹¤±¤É^^;)¡£¸½ºß¤ÎÈǤǤϥ¹¥¤¥Ã¥Á¤òUSER¥Ù¥¯¥¿¶õ´Ö¤Ë¼Ú¤ê¤Æ¤Þ¤¹¤Î¤Ç ¥ê¥»¥Ã¥È¤Î¤Û¤«L¥³¥Þ¥ó¥É¤Ç¤â¥Ç¥£¥¹¥¨¡¼¥Ö¥ë¤µ¤ì¤Þ¤¹¡£
¤Ç¤â¤Ã¤Æ¡Ä[ÄɲÃ.03/OCT/02]ÉáÄÌ¤Ë target.c¢Ítarget.mot¤òºî¤ê¡¢¤½¤ì¤È¤ÏÊ̤Ëtarget.map¢Ísymbol.mar¢Ísymbol.obj¢Ísymbol.abs ¢Ísymbol.mot¤òºî¤Ã¤Æ¡¢target.mot¤Èsymbol.mot¤ò¹çÂΤ·¤Æall.mot¤òºî¤ë¤Î¤â ¤Ê¤«¤Ê¤«¥·¥ó¥×¥ë¤Ç¤¤¤¤´¶¤¸¤Ç¤¹¡£Ê£¿ôMOT¤Î¹çÂÎ¤Ï ¤³¤Á¤é¤Ç¡£

¥³¥Þ¥ó¥ÉÂÔ¤Á¤Ê¤é³ä¹þ¤ß¤Ç¤â¤É¤ó¤È¤³¤¤
¥â¥Ë¥¿¤Î¥³¥Þ¥ó¥ÉÂÔ¤Á¤Î´Ö¡¢¥ª¥ê¥¸¥Ê¥ë¤ÏCCR¤Ç³ä¤ê¹þ¤ß¤ò¥Þ¥¹¥¯¤·¤Æ¤¤¤Þ¤¹¡£ ¤½¤ì¤ò¼õ¤±ÉÕ¤±¤Æ¤·¤Þ¤¨¡¢¤È¤¤¤¦¤ªÏäǤ¹¡£

¥¤¥ó¥¿¥é¥×¥È¥É¥ê¥Ö¥ó¤Ê(Á´¤Æ¤¬³ä¤ê¹þ¤ß¤Ë¤è¤Ã¤Æ¤Î¤ß¿Ê¹Ô¤¹¤ë)¥×¥í¥°¥é¥à¤Ç¤¢¤ì¤Ð¡¢ ¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¥¿¡¼¥²¥Ã¥È¥×¥í¥°¥é¥à¤òư¤«¤·¤¿¤Þ¤Þ(¤Ê´¶¤¸^^;)¤Ç¡¢¥â¥Ë¥¿¤Îd¥³¥Þ¥ó¥É¤äm¥³¥Þ¥ó¥É¤Ç ư¤­¤òÄ´¤Ù¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¤³¤Î¥Ú¡¼¥¸¤Î¤º¤Ã¤È¾å¤Î¹½À®¿Þ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥ÉÂÔ¤Á»þ¤Ï while((c=IN_CHAR())==NULL) ; ¤Ç¤°¤ë¤°¤ë²ó¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤³¤Ç
enableInterrupt();
while((c=IN_CHAR())==NULL) ;
disableInterrupt();
¤Î¤è¤¦¤Ë¤·¤Æ¡¢¤³¤³¤Ç¤°¤ë¤°¤ë²ó¤Ã¤Æ¤¤¤ë´Ö¤À¤±³ä¤ê¹þ¤ß¤ò¼õÉÕ¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤É¤³¤Ç¤â¤¤¤¤¤Î¤Ç¤¹¤¬¡¢Àè¤Û¤Éadvanced.src¤Ë¥Ñ¥Ã¥ÁÆþ¤ì¤Þ¤·¤¿¤Î¤Ç¡¢¤³¤³¤Ç¤âƱ¤¸¤¯BSR IN_STRING¤Î Á°¤ËBSR GETINTR¤òÄɲä·¤Þ¤¹¡£
¼ÂºÝ¤ÎGETINTR

target.c¤ÎÎã(itu0¤«¤é¤Î20ms¤´¤È¤Î³ä¤ê¹þ¤ß¤Çư¤¯hh:mm:ss·¿¤Î»þ·×)

¢¬¤ÎưºîÎã¡£ÎФϥ³¥Þ¥ó¥ÉÆþÎϤȤ½¤Î±þÅú¡¢ ÀĤϥ桼¥¶¥×¥í¥°¥é¥à¤Îȯ¹Ô¤·¤¿printf()¤Î·ë²Ì

: l all.abs
  Top Address=220100
  End Address=2215C3
: 
:g 220100
:(¥â¥Ë¥¿¤ËÌá¤Ã¤¿¤³¤È¤Ç¡¢³ä¹þ¤ßµö²Ä¡¢¥·¥ó¥Ü¥ë³ÈÄ¥¥³¥Þ¥ó¥É»ÈÍѲġ£Y¥³¥Þ¥ó¥ÉÅùÊ̤μê¤Çµ¯Æ°¤¹¤ë¤«¤â)

 00:00:01(¥æ¡¼¥¶¥×¥í¥°¥é¥à²Ôư³«»Ï¡£¥â¥Ë¥¿¥³¥Þ¥ó¥É¤ÏÆþÎϲÄ)
00:00:02
00:00:03
m _sysTime ;l(¥â¥Ë¥¿¤Îm¥³¥Þ¥ó¥É¤ÇÊÑ¿ô_sysTime¤ò¤Î¤¾¤¤¤Æ¤ß¤ë)
  220B10  000000C2  ?  .
: 00:00:04
00:00:05
00:00:06
m _sysTime ;l
  220B10  0000014D  ?  .(ÊÑ¿ô_sysTime¤¬½çÄ´¤ËÁý¤¨¤Æ¤Þ¤¹)
: 00:00:07
00:00:08
00:00:09
00:00:10
m _lsec
  220B1C  0A  ?  20(ÉÿË_lsec(¤È¤¦¤¼¤ó0x0a)¤Ë¤¤¤¿¤º¤é¤·¤Æ¤ß¤ë^^;;)
  220B1D  00  ?  .
: 00:00:33(¤â¤Á¤í¤ó¤¤¤¿¤º¤é¤µ¤ì¤¿¤³¤È¤Ë¤Ïµ¤¤Å¤­¤Þ¤»¤ó)
00:00:34
di(¥³¥Þ¥ó¥ÉÂÔ¤Á»þ¤Î³ä¤ê¹þ¤ß¤ò¶Ø»ß)
Intr Disabled
: ei(¤òÆþÎϤ¹¤ì¤ÐºÆ¤Óư¤­½Ð¤·¤Þ¤¹)


¤â¤Ï¤ä¤É¤¦¤Ç¤â¤è¤¯¤Ê¤ê¤Ä¤Ä¤¢¤ë¤±¤ì¤É¡¢¥ê¥»¥Ã¥È¤ÇΩ¤Á¤¢¤¬¤ëÈǤؤΰܹÔ
´°Á´¤Ë³«È¯½ªÎ»¤¹¤ë¾ì¹ç¤Ï¥â¥Ë¥¿È´¤­ÈǤò¤Ä¤¯¤ë¤ï¤±¤Ç¤¹¤¬¡Ö¤â¤¦¤Á¤ç¤¤Äɲä·¤¿¤¤¤«¤â¡× ¤Ê¾ì¹ç¤Ï¡Ä
[ÄɲÃ.03/OCT/23]
¾¤Î¥Ü¡¼¥É¤Ø¤Î°Ü¿¢¤Ë¤Ä¤¤¤Æ
Á°¡¹¤«¤é¤ä¤í¤¦¤È»×¤¤¤Ä¤Ä±ä¤Ð¤·±ä¤Ð¤·¤Ë¤Ê¤Ã¤Æ¤Þ¤·¤¿¡£¤è¤¦¤ä¤¯3067F/20MHz+32KB+128KB¤Ç ưºî³Îǧ(Á´µ¡Ç½¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¤·¤Þ¤·¤¿¡£ ¥Ï¡¼¥É¥¦¥§¥¢»ñ¸»¤ÏWDT¤¯¤é¤¤¤·¤«»È¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¤½¤ÎÊÕ¤¬Ãæ¿´¤Ë¤Ê¤ê¤Þ¤¹¡£
3067F¤Ç¤Îv¥³¥Þ¥ó¥É¤ÎºÇ¸å¤ÎÊý
        55 : FFFE0C : 000000 : SCI0 TEI
        56 : FFFE10 : 000000 : SCI1 ERI
        57 : FFFE14 : 000000 : SCI1 RXI
        58 : FFFE18 : 000000 : SCI1 TXI
        59 : FFFE1C : 000000 : SCI1 TEI
        60 : FFFE20 : 000000 : SCI2 ERI
        61 : FFFE24 : 000000 : SCI2 RXI
        62 : FFFE28 : 000000 : SCI2 TXI
        63 : FFFE2C : 000000 : SCI2 TEI
: (3052F¤È¤ä¤ä°Û¤Ê¤Ã¤Æ¤¤¤ë¤Î¤¬¤ï¤«¤ê¤Þ¤¹)
3067F/3068F/3069F¤Ç¤³¤ì¤Ç¥¤¥±¤ë¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢¥â¥Ë¥¿Â¦¤Ë¤«¤Ê¤êÈëÌ©¥Ñ¥Ã¥Á¤¬Æþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤³¤ì¤ÇÁ´Éô¤«¤É¤¦¤«¤Ï¡Ä ¡Ö¤³¤³¤âÊѤ¨¤Ê¤¤¤È¤¦¤´¤«¡¼¤¾¡×Åù¤´»ØÅ¦¤¤¤¿¤À¤±¤ì¤Ð¹¬¤¤¤Ç¤¹¡£

[ÄɲÃ.03/OCT/31]
gcc½èÍý·Ï¤Ø¤Î°Ü¿¢¤Ë¤Ä¤¤¤Æ
Á°¡¹¤«¤é¤ä¤í¤¦¤È»×¤¤¤Ä¤Ä±ä¤Ð¤·±ä¤Ð¤·¤Ë¤Ê¤Ã¤Æ¤Þ¤·¤¿¡£¤è¤¦¤ä¤¯gcc¤Ç ưºî³Îǧ(Á´µ¡Ç½¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó)¤·¤Þ¤·¤¿¡£°Ü¿¢¤Î¥Ý¥¤¥ó¥È¤Ï#ifdef¡¡¡¡__GNUC__Æâ¤ò Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ç¥¤¥±¤ë¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢¥â¥Ë¥¿Â¦¤Ë¤«¤Ê¤êÈëÌ©¥Ñ¥Ã¥Á¤¬Æþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤³¤ì¤ÇÁ´Éô¤«¤É¤¦¤«¤Ï¡Ä ¡Ö¤³¤³¤âÊѤ¨¤Ê¤¤¤È¤¦¤´¤«¡¼¤¾¡×Åù¤´»ØÅ¦¤¤¤¿¤À¤±¤ì¤Ð¹¬¤¤¤Ç¤¹¡£(¤½¤ì¤Ð¤Ã¤«)

[ÄɲÃ.03/DEC/10]
Áȹþ¤ß¤Ë¤Ä¤¤¤Æ¤â¤¦¤Á¤ç¤¤¤È
¸½ºß¼Â¸³¼¼¤Ç¤ÏVer0.42C(SH-2/H8Åý¹çÈÇ¡¦SH-2¸ÂÄê¥Ð¥¤¥Ê¥ê¤Ï¤³¤Á¤é¤Ç »î¸³ÇÛÉÛÃæ )¤Ç¤¹¡£ÁȤ߹þ¤ß°×¤µ¤òÌܻؤ·¤¿¤Î¤Ç¤¹¤¬¤¢¤ó¤Þ¤êÊѤï¤é¤Ê¤¤¤«¤â(^^;)¡£ °ìµ¤¤ËÁȤ߹þ¤â¤¦¤È¤¹¤ë¤ÈÂçÊѤǤ¹¤¬¡¢°Ê²¼¤Î¼ê½ç¤Ç°ìÊâ°ìÊâ¿Ê¤á¤Æ¹Ô¤¯¤È¤½¤ó¤Ê¤Ë¤à¤Ä¤«¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£ ¤â¤Á¤í¤ó³Æ¥È¥Ô¥Ã¥¯¤Ë¤Ä¤¤¤ÆÅö¥µ¥¤¥ÈÆâ¤Ëµ­½Ò¤¬¤¢¤ê¤Þ¤¹¡£
¤È¤³¤í¤Ç¤â¤È¤â¤È¤Î»×¤¤¤Ä¤­
USB¤«¤é¤Î¥À¥¦¥ó¥í¡¼¥É(¥³¥Þ¥ó¥ÉÄɲäޤ¿¤Ï¼«Æ°²½)¤Ï¤É¤¦¤·¤¿¡©¢Í¤Ü¤Á¤Ü¤Á¤ä¤ê¤Þ¤¹(^^;)
¢Í¤Ü¤Á¤Ü¤Á¤ä¤Ã¤Æ¤ß¤Þ¤·¤¿¡£¤³¤Á¤é(03/JUN/30ÈÇ)¤Ç¡£
USB.c¤ÏUSB¤«¤éÁ÷¤ì¤Ê¤¤¤Î¤Ï¤È¤â¤«¤¯¡¢mon4.c¤Ï¤É¤¦¤Ê¤ó¤À¤í¡Ä¤Þ¤ÀƬ¤ÎÃæÀ°ÍýÃæ(^^;;)¡£

ºÇ¶á(¤Ã¤Æ¤¤¤Ä¡©)HOSv4(uITRON4.0½àµò)¤¤¤¸¤ê¤Ï¤¸¤á¤Þ¤·¤¿¡£¤³¤Î³ä¤ê¹þ¤ß²ÄǽÈÇ¥â¥Ë¥¿¤ÇHOS´Ä¶­ ¤Î¥¿¥¹¥¯¡¦¥«¡¼¥Í¥ë¤Î¥Ç¥Ð¥Ã¥°¤¬¤¢¤ëÄøÅ٤Ǥ­¤ë¤ß¤¿¤¤¤Ç¤¹¡£HOS¤Î¤ªÏÃ¤Ï ¤³¤Á¤é¤Î¥Ú¡¼¥¸¤Ë¤°¤À¤°¤À¤È¡£
̵ÊݾڤǤ¹¡£³Æ¼«¤ÎÀÕǤ¤Ë¤ª¤¤¤Æ¤ª´ê¤¤¤·¤Þ¤¹¡£
Åö¥µ¥¤¥È¤Ï¥ë¥Í¥µ¥¹Ž¥¥Æ¥¯¥Î¥í¥¸(³ô)¤È¤Ï²¿¤é´Ø·¸¤¢¤ê¤Þ¤»¤ó¡£ Ʊ¼Ò¤ËÌ䤤¹ç¤ï¤»¤ë¤è¤¦¤Ê¤³¤È¤Ï¿¼¤¯¤´±óθ¤¯¤À¤µ¤¤
watson8¤ËÌ䤤¹ç¤ï¤»¤ë¤è¤¦¤Ê¤³¤È¤Ï¡Ä¤ªµ¤·Ú¤Ë¤É¤¦¤¾¡£
´¶Áۤʤɤϥ᡼¥ë¤Ï¤³¤Á¤é ¤Þ¤¿¤Ï¤³¤Á¤é¤Î ¥Õ¥©¡¼¥à¤Ï¤³¤Á¤é ¤«¤é¤É¤¦¤¾¡£
¤Ä¤Ã¤³¤ß¤â¤ä¤ó¤ï¤ê¤È¤Ê¤é´¿·Þ¤·¤Þ¤¹¡£

¥È¥Ã¥×¥Ú¡¼¥¸¤Ø¤â¤É¤ë