_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);
}
¥³¥Þ¥ó¥É¥Æ¡¼¥Ö¥ë(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¤Ø¤ÎÍ×µá»ÅÍÍ
- ¥ì¥¸¥¹¥¿¤Ï¡ÄÁ´Éô²õ¤·¤Æ¤âÊ¿µ¤¤Êµ¤¤¬¤·¤Þ¤¹¡£¾Ü¤·¤¯¸«¤Æ¤Þ¤»¤ó
- ¥¹¥¿¥Ã¥¯¤Ï¡Ä£·¥í¥ó¥°¥ï¡¼¥É¤Ç¤¹¡£Â¤ê¤Ê¤¤¤È¤¤Ë¤ÏÆÈ¼«¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤
- ¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤Ï@ER6(¥³¥Þ¥ó¥É̾¤Ç¤¹),@(10,ER6),....,@(50,ER6)¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£³ÆºÇÂç9ʸ»ú+NULL ¤Ç¡¢Á´¤ÆÂçʸ»ú¤ËÊÑ´¹¤µ¤ì¤Æ¤Þ¤¹
- OUT_STRING(putsÁêÅö)¤äBIN_ASC_5(sprintf("%5lx")ÁêÅö¡©)Åù¤¬ÍøÍѤǤ¤ë¤Î¤Ç¤¹¤¬¡¢ ¾Ü¤·¤¯¤ÏÄ´¤Ù¤Æ¤Þ¤»¤ó¡£
- Éüµ¢¤ÏBRA MAIN¤Ç¡£¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤òÉüµ¢¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó
- ³ä¹þ¤ß¤ÏCCR¤Ç¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£CCR¤Î¥Þ¥¹¥¯¤ò³°¤·¤Æ¤â´üÂÔÄ̤ê¤Ë¤Ïư¤¤Þ¤»¤ó
advanced.src¤ÎBSR¡¡¡¡IN_STRING¡¡¤Î¸å¤í¤Ë
¡¡.import CMDPATCH
¡¡¡¡BSR¡¡¡¡CMDPATCH
¤òÄɲä·¤Þ¤¹¡£
¼ÂºÝ¤ÎCMDPATCH¤Ï¤É¤³¤Ë¤ª¤¤¤Æ¤âÎɤ¤¤Î¤Ç¤¹¤¬¡¢MONITOR.src¤ÎºÇ¸å¤ËÄɲ䷤Ƥ·¤Þ¤¤¤Þ¤·¤¿¡£
- _CMDPATCH_PTR.L¤ò¸«¤Æ¡¢NULL¤À¤Ã¤¿¤é¤½¤Î¤Þ¤ÞÌᤷ¤Þ¤¹¡£(¤Û¤Ü¥ª¥ê¥¸¥Ê¥ë¤Îưºî)
- _CMDPATCH_PTR.L¤¬NULL¤Ç¤Ê¤±¤ì¤Ð C¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹´Ø¿ôcmdPatch(long sw,char *buf)¤Ø¤Î¥Ý¥¤¥ó¥¿¤Î¤Ï¤º¤Ê¤Î¤Ç¡¢ SP¤òR¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤ëÅÛ(¤Ï½¼Ê¬¤Ê¿¼¤µ¤¬¤¢¤ë¤È¿®¤¸¤Æ)¤ËÀÚ¤êÂØ¤¨¤¿ ¸å¤½¤³¤ò¥³¡¼¥ë¤·¤Þ¤¹¡£ ((long, char *)¤Ç¸Æ¤Ö¸Â¤ê½ãÀµ·Ï¤âgcc¤âƱ¤¸¤À¤Ã¤¿¤è¤¦¤Ê¡£Ì¤³Îǧ)
- cmdPatch()¼«ÂΤÏñ¤Ê¤ëʸ»úÎó½èÍý´Ø¿ô¤Ç¤¹¤«¤é¡¢¹¥¤¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£°ú¿ôsw¤Ï0L¸ÇÄê¤Ç¤¹¤¬¡¢ ¾Í貿¤«¤Ë»È¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£¢Ímon4.c(0.30A°Ê¹ß)¤Ç ¡Ö(R¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤ë)¥ì¥¸¥¹¥¿¤òÊÝ»ý¤¹¤ëlongÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡× ¤ËÊѹ¹¤·¤Þ¤·¤¿¡£
- _CMDPATCH_PTR.L¤ÏcmdPatch()¤¬¥í¡¼¥É¤µ¤ì¤ë¤Þ¤Ç¤Ï(¤¿¤È¤¨¤Ð_INITIALIZE¤Ç)³Î¼Â¤ËNULL¤Ë¸ÇÄꤷ ¤Æ¤¯¤À¤µ¤¤¡£ (¥â¥Ë¥¿¤Ë¥³¥Þ¥ó¥ÉÆþÎϤ·¤¿¤È¤¿¤óÈô¤Ó¤Þ¤¹)¤³¤³¤Ç¤ÏUSER¥Ù¥¯¥¿¶õ´Ö¤Î49ÈÖ¤¬Ì¤»ÈÍѤ«¤Ä¥¼¥í¥Õ¥£¥ë¤µ¤ì¤ë¤Î¤Ç ¤ª¼Ú¤ê¤·¤Æ¤Þ¤¹(^^;)¡£
- ER0/ER7¤ÎÂàÈòÍѤˣ±¥í¥ó¥°¥ï¡¼¥É(USER¥Ù¥¯¥¿¶õ´Ö¤Î51ÈÖ)»È¤Ã¤Æ¤Þ¤¹¡£Æ±»þ¤Ë¤Ï»È¤ï¤Ê¤¤¤Î¤Ç¶¦ÍѤ·¤Æ¤Þ¤¹
- ¤Ã¤Æ¤³¤ó¤Ê¤Ë¥ì¥¸¥¹¥¿Êݸ¤·¤Ê¤¯¤Æ¤â¤¤¤¤¤Ï¤º¤Ç¤¹¤¬¡¢¤Þ¤¡°ÂÁ´Âè°ì¡¢¥Ø¥ë¥á¥Ã¥ÈÃåÍѤȤ¤¤¦¤³¤È¤Ç(^^;)¡£
- ¼êÆþÎϤµ¤ì¤¿Ê¸»úÎóchar buf[](¤Ï¥â¥Ë¥¿»ÈÍÑÎΰè¤Ë¤¢¤ê¤Þ¤¹)¤ò¥È¡¼¥¯¥ó¤Ëʬ²ò¤·¤Þ¤¹
- ³Æ¥È¡¼¥¯¥ó(av[argc][])¤Ë¤Ä¤¤¤Æ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ò¸¡º÷(strcmp()¤Ç¤¹¤«¤é´°Á´°ìÃ×) ¤·¡¢¸«¤Ä¤«¤ì¤Ð¼ÂºÝ¤Î16¿Ê¿ô(ʸ»úÎó)¤ËÃÖ´¹¤·¤Þ¤¹
- ¤µ¤é¤Ëav[0](¥³¥Þ¥ó¥É̾)¤ò½ç¼¡Èæ³Ó¤·"bm"¤È¤«"v"¤È¤«¤ÎÄɲÃʬ¤Ç¤¢¤ì¤ÐÂбþ¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó¤Þ¤¹¡£ ¤½¤Î¸å
- ¥â¥Ë¥¿¤Ë¤µ¤»¤¿¤¤¥³¥Þ¥ó¥É¤¬¤¢¤ë(¤¿¤È¤¨¤Ðc¥³¥Þ¥ó¥É)¤Î¤Ç¤¢¤ì¤Ð¡¢av[0][]¤Ë¤½¤ì¤ò¤ª¤¤Þ¤¹
- ¥â¥Ë¥¿¤Ë¤µ¤»¤ë¤³¤È¤¬¤Ê¤±¤ì¤Ðav[0]¤ò"\r"¤È¤·¡¢²þ¹Ô¤Î¤ßÆþÎϤµ¤ì¤¿¤è¤¦¤Ë¤ß¤»¤«¤±¤Þ¤¹
- ³Æ¥È¡¼¥¯¥ó¤òºÆ¤Óbuf[]¾å¤ÇÏ¢·ë¤·¥â¥Ë¥¿¤ËÌᤷ¤Þ¤¹(¥â¥Ë¥¿¤Ïbuf[]¤¬ÆþÎϤµ¤ì¤¿¤È¹Í¤¨¤Þ¤¹)
- ¸½ÈÇ(0.30B)¤Ç¤ÎÄɲå³¥Þ¥ó¥É
- n¡¡<addr|symbol> ¡Ä¼Â16¿Ê¿ô¢Î¥·¥ó¥Ü¥ë¤òÁê¸ßÊÑ´¹¤·¤Þ¤¹
: n _printf
0x0077f8 : _printf
: n 7d52
0x007d52 : _scanf
:
[Ver0.15A°Ê¹ß]16¿Ê¿ô¢Í¥·¥ó¥Ü¥ëÊÑ´¹¤Ç¡¢¥·¥ó¥Ü¥ë¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¤È¤ ¼ã¤¤Â¦ºÇ´ó¤ê¤Î¥·¥ó¥Ü¥ë¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
: n 7d80
0x007d80 : _scanf(0x007d52) + 0x00002e
: (7d80¤¢¤¿¤ê¤Ç¸Ç¤Þ¤ë¢Íscanf()¤Ç»ß¤Þ¤Ã¤Æ¤ë¤é¤·¤¤¡¢¤È¤«)- nn¡¡<ymbol> ¡Ä[Ver0.20E°Ê¹ß]¥·¥ó¥Ü¥ë¤òÂçʸ»ú¾®Ê¸»ú̵»ë¡¢ Éôʬ°ìÃפÇõ¤·¤Þ¤¹¡£(ºî¼Ô¤Î¤º¤Ü¤é¤µ¤¬¤Ð¤ì¤Þ¤¹¤Í^^;)
: nn ini
0x000100 : _INITIALIZE
0x006c84 : _InitLCD
0x220162 : _initITU
0x0065a8 : _wdtInit
:- ei / di ¡Ä¥³¥Þ¥ó¥ÉÂÔ¤Á»þ¤Î³ä¹þ¤ß¤òµö²Ä/¶Ø»ß¤·¤Þ¤¹¡£(¸å½Ò)
- v ¡ÄÎã³°¥Ù¥¯¥¿¥Æ¡¼¥Ö¥ë¤ò¥À¥ó¥×¤·¤Þ¤¹¡£¸µ¥Í¥¿¤Ï¥â¥Ë¥¿¤ÎINT_MSG¤Ç¤¹¡£¤³¤Î¥Æ¡¼¥Ö¥ë¤Ë¤Ï ¥¨¥ó¥É¥Þ¡¼¥¯¤¬¤Ê¤¤(¡©)¤¿¤á¡¢3048F/3052F¤Ç¤ÏºÇ¸å¤Ë¥´¥ß¤¬½Ð¤Þ¤¹¤¬´ªÊÛ(^^;)¡£trapa(2)¤ò¥æ¡¼¥¶¤Ç»ÈÍѤ·¤Æ¤¤¤ë¾ì¹ç¤ÎÎã¡£
: v
7 : FFFD4C : 000000 : NMI
8 : FFFD50 : 000000 : TRAPA #0
9 : FFFD54 : 000000 : TRAPA #1
10 : FFFD58 : 2201C8 : TRAPA #2
11 : FFFD5C : 000000 : TRAPA #3
12 : FFFD60 : 000000 : IRQ0
13 : FFFD64 : 000000 : IRQ1
14 : FFFD68 : 000000 : IRQ2
(¸åά)
- bm <from> <upto> <moveto> ¡ÄfromÈÖÃϤ«¤éuptoÈÖÃϤޤǤòmovetoÈÖÃϤ«¤é¤Ë¥³¥Ô¡¼¤·¤Þ¤¹
- bv <from> <upto> <compare> ¡ÄfromÈÖÃϤ«¤éuptoÈÖÃϤޤǤòcompareÈÖÃϤ«¤é¤ÈÈæ³Ó¤·¤Þ¤¹
: bm 2000 20ff 220000
: bv 2000 20ff 220000
They are twins.
:- dd <addr> [;W | ;L]¡Ä[Ver0.25A°Ê¹ß]ñ¤Ê¤ëD¥³¥Þ¥ó¥É¤Ç¤¹¤¬¡¢É½¼¨¤µ¤ì¤ë ¤µ¤ì¤ëÎ̤¬64¥Ð¥¤¥È(4¹Ô)¤ËÀ©¸Â¤µ¤ì¤Æ¤Þ¤¹¡£D¥³¥Þ¥ó¥É¢Í¤À¤À¤À¤Ã¢Í¥¹¥¯¥í¡¼¥ë¥¢¥¦¥È¡¢¤ÇÉÔÊØ¤Ê (¤Ä¤Þ¤êPC¤Î²èÌ̤¬¶¹¤¤)¤¢¤Ê¤¿ÀìÍÑ¡£;W¤È;L¤Ï¤½¤Î¤Þ¤Þ¥â¥Ë¥¿(¤ÎD¥³¥Þ¥ó¥É)¤Ë ÅϤµ¤ì¤Þ¤¹¡£¤½¤Î¼êÁ°¤Ëɬ¤º¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤¡£(strtok()¤ÇÊ̥ȡ¼¥¯¥ó¤Ë¤·¤¿¤¤¤Î¤Ç)
- fz¡Ä[Ver0.16B°Ê¹ß]¥á¥â¥ê¤Î¸ÇÄêÎΰè(0x220000-0x23ffff¤Çľ¥³¡¼¥Ç¥£¥ó¥°) ¤ò0¤ÇËä¤á¤Þ¤¹¡£LW¥¢¥¯¥»¥¹¤¬½Ð¤ë°Ê³°":F 220000 23fff 00"¤ÈÅù²Á¤Ê¤Î¤Ç¤¢¤ó¤Þ¤·»È¤¤Æ»¤Ê¤¤¤«¤Ê¡£ (ss¥³¥Þ¥ó¥É¤¬°ÂÄꤹ¤ë¤Þ¤Ç¤Ï¤À¤¤¤Ö¤ªÀ¤Ïäˤʤê¤Þ¤·¤¿)
- c <func> [argER0] [argER1] ¡ÄÍפ¹¤ë¤ËG¥³¥Þ¥ó¥É¤Ç¤¹¤¬¡¢(1)(´Ê°×Ū¤Ê¤¬¤é)°ú¿ô¤¬ÅϤ»¤ë(2)Ìá¤êÃÍ ¤¬É½¼¨¤µ¤ì¤ë(3)Ä̾ï¤Îreturn;¤Ç(°ÂÁ´¤Ë¡©)¥â¥Ë¥¿¤ËÌá¤ë¡Ä¤¬¹©Éפµ¤ì¤Æ¤¤¤Þ¤¹¡£
: c _rand
returned : 00005bd4
: (ROMÆâ¤Îɸ½à¥é¥¤¥Ö¥é¥ê´Ø¿ôrand()¤ò¸Æ¤ó¤Ç¤ß¤Þ¤·¤¿)
: c _sample 00010002
0002 0001
returned : 00001234
:(int·¿°ú¿ô¤òɽ¼¨¤¹¤ë´Ø¿ôsample()¤ò¸Æ¤ó¤Ç¤ß¤Þ¤·¤¿)
¤È¤¤¤¦¶ñ¹ç¤Ë°ú¿ô¤Ï¤Á¤ç¤Ã¤ÈÊʤ¬¤¢¤ê¤Þ¤¹¡£argER0,argER1¶¦¤Ëlong¤È²ò¼á¤·¡¢func( (long )argER0, (long )argER1);¤Ç ¿¶¤ê½Ð¤·¤Æ¤¤¤Þ¤¹¡£func(short,short)¤Ç¼õ¤±¤ë¤È¤É¤¦¤Ê¤ë¤«¤Ï¥³¥ó¥Ñ¥¤¥é¤Î¥Þ¥Ë¥å¥¢¥ë¤«¼Â¸³¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤(^^;;;)¡£ ¤³¤ì¤Ï¥â¥Ë¥¿¾å¤Ç¤Ïfunc()¤Î°ú¿ô·¿¤¬È½Äê¤Ç¤¤Ê¤¤¤¿¤á¤Ç¤¹¡£- p <addr> <pat> [<repeat>]¡Ä[Ver0.15A°Ê¹ß] addr¤Îpat¤Ç»ØÄꤵ¤ì¤¿¥Ó¥Ã¥È(¤¿¤È¤¨¤Ð81¤Ê¤é¥Ó¥Ã¥È£·¤È¥Ó¥Ã¥È£°)¤òȿž¤·1ms¤Û¤É¤·¤¿¤é¸µ¤ËÌᤷ¤Þ¤¹¡£ repeat¤Î»Ø¼¨¤¬¤¢¤ì¤Ðrepeat²ó·«¤êÊÖ¤·¤Þ¤¹¡£
: p pbdr 8 10
: (PBDR¤Î¥Ó¥Ã¥È3¤Ë0x10¸Ä¥Ñ¥ë¥¹Á÷¤ê¤Þ¤¹¡£LED¤¬¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤Æ»ëÎϤµ¤¨¤¢¤ì¤Ð16²ó¤ÎÅÀÌǤ¬¸«¤¨¤ë¤«¤â)
- ss [<addr>]¡Ä[Ver0.17A°Ê¹ß]addr(¾Êά»þ¤Ï0x220000)¤«¤é 128kB¤ÎÈϰϤǥ·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë(¤Î¥Þ¥¸¥Ã¥¯)¤òõ¤·¡¢¸«¤Ä¤«¤ì¤Ð¤½¤ì¤ò¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤È¤·¤ÆºÎÍѤ·¤Þ¤¹¡£
¢ÍROMÆâ¥·¥ó¥Ü¥ë¤Ø¤Î¥Æ¡¼¥Ö¥ë¤òROM¤ÎÊÒ¶ù¤Ë¤Ç¤â°ì½ï¤Ë¾Æ¤¤³¤ó¤ÇÃÖ¤¤¤Æ¡¢ss 0¤È¤«¤Ç ¥Æ¡¼¥Ö¥ë¤ò(RAMÈǤÈ)ÀÚ¤êÂØ¤¨¤Ê¤¬¤é±¿ÍѤ¹¤ë¤ÈÊØÍø¤Ê¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
: ss
SimTab at 0x22074e
SimTab at 0x22076c
:
¤È¸À¤¦É÷¤ËÊ£¿ô¸ºß¤¹¤ë¾ì¹ç¤¬¤¢¤ê¡¢¤³¤Î¾ì¹ç¸å¤Ç¸«¤Ä¤«¤Ã¤¿¤Û¤¦¤òºÎÍѤ·¤Þ¤¹¡£ (¿·ÈÇ¥À¥¦¥ó¥í¡¼¥É»þ¤Ëµì¥Æ¡¼¥Ö¥ë¤ÎƬ¤À¤±¤¬¼ã¤¤Â¦¤Ë»Ä¤ë¤³¤È¤¬¤¢¤ë¡£¿·ÈǤ¬¼ã¤¤Â¦¤Ë°Üư¤·¤¿¾ì¹ç ¤ÏµìÈǤϥª¡¼¥Ð¥é¥¤¥È¤µ¤ì¤Æ¾ÃÌǤ¹¤ë¥±¡¼¥¹¤¬(·Ð¸³Åª¤Ë^^;)¿¤¤) µ¤¤ËÆþ¤é¤Ê¤¤¾ì¹ç¤Ï¥Þ¥¸¥Ã¥¯¤òM¥³¥Þ¥ó¥É¤Ç1¥Ð¥¤¥È¤Ä¤Ö¤¹¤«¡¢¤¤¤Ã¤½Á´¥á¥â¥ê¤ò¥¯¥ê¥¢¤·¤Æ¤«¤éºÆ¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
- + <val1> <val2>¡Ä[Ver0.15A°Ê¹ß]16¿Ê¤Î¤¿¤·¤¶¤ó¡¦¤Ò¤¤¶¤ó¤Ç¤¹¡£ [Ver0.24A°Ê¹ß]¤«¤±¤¶¤ó¡¦¤ï¤ê¤¶¤ó¤òÄɲä·¤Þ¤·¤¿¡£
: + 2000 200
00002000 + 00000200 = 00002200(¡¡¡¡ 8704.)
00002000 - 00000200 = 00001e00(¡¡¡¡ 7680.)
00002000 * 00000200 = 00400000( 4194304.)
00002000 / 00000200 = 00000010( 16.)
: [Ver0.15C°Ê¹ß]·ë²Ì¤Î¤ß10¿Êɽ¼¨¤ò²Ã¤¨¤Þ¤·¤¿- ??¡Ä[Ver0.16A°Ê¹ß]Äɲå³¥Þ¥ó¥É°ìÍ÷¡£¤È¤¤¤¦¤«mon4¤¬À¸¤¤Æ¤ë¤«¤É¤¦¤« Ä´¤Ù¤ë¤Î¤Ë½ÅÊõ¤·¤Æ¤Þ¤¹(^^;)
- ¤½¤Î¤Û¤«Á´¤Æ¤Î(¤À¤È»×¤¦)¥³¥Þ¥ó¥É(¥é¥¤¥ó)¤Ç¥·¥ó¥Ü¥ë¤¬»È¤¨¤Þ¤¹¡£
: b _itu0a
: b
<ADDR>
2201C8
: m _sysTime ;l
220AB8 000008F6 ? .
: (m¥³¥Þ¥ó¥É¤ÎÃæ¤Ç¤Ï¥·¥ó¥Ü¥ë¤Ï»È¤¨¤Þ¤»¤ó¡£¤¦¡¼¤ó¡£cmdPatchÆþ¤ì¤ë¾ì½ê¥¤¥Þ¥¤¥Á¤À¤Ã¤¿¤«¤Ê¤¡^^;)
- ¤½¤Î¤Û¤«Á´¤Æ¤Î(¤À¤È»×¤¦)¥³¥Þ¥ó¥É(¥é¥¤¥ó)¤Çʸ»úÎó¥Ý¥¤¥ó¥¿¤¬»È¤¨¤Þ¤¹¡£ [Ver0.20B°Ê¹ß]
: c _strlen "This_is_a_pen"
returned : 0000000d
: (ROMÆâ¤Îɸ½à´Ø¿ôstrlen()¤ò¤è¤ó¤Ç¤ß¤Þ¤·¤¿¡£³Î¤«¤Ë13ʸ»ú¡£¥¹¥Ú¡¼¥¹¤äÀ©¸æÊ¸»ú¤Ï´ªÊÛ¤·¤Æ¤¯¤À¤µ¤¤^^;) ¢Í[Ver0.20C°Ê¹ß]À©¸æÊ¸»ú\r/\n/\t¤Ï¥µ¥Ý¡¼¥È¤·¤Þ¤·¤¿
(¼ÂºÝ¤Ë¤ÏbssÎΰè¤Ëʸ»úÎó¤ò¥³¥Ô¡¼¤·¡¢¤½¤³¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ë¡ÖËÝÌõ¡×¤µ¤ì¤Þ¤¹)
: d "Sunday\r\n"
FFFCC0 53 75 6E 64 61 79 0D 0A 00 72 62 00 6E 00 0C F9 "Sunday...rb.n..."
: (¤È¤¹¤ë¤È¼ÂºÝ²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤«¤è¤¯¤ï¤«¤ê¤Þ¤¹)
- ¤½¤Î¤Û¤«Á´¤Æ¤Î(¤À¤È»×¤¦)¥³¥Þ¥ó¥É(¥é¥¤¥ó)¤Çʸ»úÄê¿ô¤¬»È¤¨¤Þ¤¹¡£ [Ver0.20B°Ê¹ß]
: c _toupper 'a'
returned : 00000041
: c _isdigit '5'
returned : 00000004
:(°ìʸ»ú¤À¤±¤Ç´ªÊÛ¤·¤Æ¤¯¤À¤µ¤¤^^; ¤Þ¤¿func('a','b');¤Ï¸Æ¤Ù¤Þ¤»¤ó¡£(¡Ö°ú¿ô¤ÎÊʡ׻²¾È))
- ¤½¤Î¤Û¤«Á´¤Æ¤Î(¤À¤È»×¤¦)¥³¥Þ¥ó¥É(¥é¥¤¥ó)¤Ç@¥ì¥¸¥¹¥¿Ì¾¤¬»È¤¨¤Þ¤¹¡£ [Ver0.30A°Ê¹ß]
: R PC=220206 CCR=80:I....... SP=00FFF880 ER0=00000008 ER1=00000002 ER2=00000004 ER3=00000000 ER4=00000000 ER5=00000000 ER6=00000000 ER7=00FFF880 : da @pc <ADDR> <CODE> <MNEMONIC> <OPERAND> 220206 1B97 SUBS #4,ER7 220208 0F86 MOV.L ER0,ER6 22020A 010069F1 MOV.L ER1,@ER7 : d @sp ;w <ADDR> < D A T A > < ASCII CODE > FFF880 8022 4010 8022 4010 8022 4010 8022 400E "."@.."@.."@.."@." FFF890 8022 400E 8022 400E 8022 400E 8022 400E "."@.."@.."@.."@."¤¢¤¯¤Þ¤Ç¡ÖR¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤ëÅۡפʤó¤Ç¡¢¼êÆþÎϤ¹¤ë¼ê´Ö¤¬¤Á¤ç¤Ã¤È¾Ê¤±¤ë¤À¤±¤Ç¤Ï¤¢¤ê¤Þ¤¹¡£
- more¡Ä[Ver0.17B°Ê¹ß]0x224000(ľ¥³¡¼¥Ç¥£¥ó¥°¸ÇÄê)¤ò func(int argc,char argv[][12]);¤Ç¸Æ¤Ó¤Þ¤¹¡£ROM²½¤·¤¿mon4.c¤ËÄɲä·¤¿¤¤¥³¥Þ¥ó¥É¤òRAM¾å ¤Ç¥Ç¥Ð¥Ã¥°¤¹¤ë¤¿¤á¤ËÍѰդ·¤Þ¤·¤¿¡£¤¿¤È¤¨¤Ð
¡¡¡¡#pragma section MZ
¡¡¡¡mz(int argc,char argv[][12])
¡¡¡¡{
¡¡¡¡printf("%s\n",argv[0]);
¡¡¡¡printf("%s\n",argv[1]);
¡¡¡¡printf("%s\n",argv[2]);
¡¡¡¡printf("%s\n",argv[3]);
¡¡¡¡}
¤ò0x224000¤ËÃÖ¤¤¤Æ¤«¤é": more abc def"¤ÈÆþÎϤ¹¤ë¤ÈÆþÎÏʸ»úÎ󤬽ç¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ ¥·¥ó¥Ü¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¤Ï¤¹¤Ç¤Ë16¿Ê¿ô¤ËÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
- ei¡Ä[Ver0.20A°Ê¹ß]¤ÇWDT¤Ë¤è¤ë´Æ»ëµ¡Ç½¤òÀߤ±¤Þ¤·¤¿¡£ei¤ÇON¤Ë¤Ê¤ê¤Þ¤¹¡£ (¤³¤ó¤Ê»ÅÍÍ ¤Ç¤¤¤¤¤Î¤«¡©¡©)¸½ÈǤǤÏ
- CLK¡à256¥â¡¼¥É¤Ç(256/25MHz=)10.24us/tick, 10.24us*256=2.62ms¤´¤È¤Ë³ä¤ê¹þ¤ß¤òȯÀ¸¤·¤Þ¤¹
- ¥Ï¥ó¥É¥é(_wdtIntr)¤Ç¤Ï¥«¥¦¥ó¥¿_wdtCount¤ò0x100Áý¤ä¤·¤Þ¤¹(_wdtCount|TCNT¤¬Áítick¤Ë¤Ê¤ê¤Þ¤¹)¡£
- ¤È¤¤¤¦¤³¤È¤Ï0xFFFFFFFF*10.24us=12»þ´ÖÄøÅ٤ǥª¡¼¥Ð¥Õ¥í¡¼¤·¤ÆÍ½´ü¤»¤Ì¤³¤È¤¬¤ª¤³¤ë¤Ï¤º¤Ç¤¹¡£(long/ulong ¤Î°·¤¤¤ËÌäÂ꤬¤¢¤ì¤Ð6»þ´ÖÄøÅÙ^^;;)
- ³ä¤ê¹þ¤ß¤Î¤¿¤Ó¤Ë_wdtLog[0]¤ËCCR|PC¤ò¡¢_wdtLog[1]¤ËSP¤òÃÖ¤¤Þ¤¹
- PB0¤Ë¤Ä¤Ê¤¤¤ÀLED¤ò¥Á¥«¥Á¥«¤ä¤Ã¤Æ¤Þ¤¹¡£Â¾¤Î¥Ý¡¼¥È¤Ç¤â¤¤¤¤¤Ç¤¹¤«¤é¤¼¤Ò¥Á¥«¥Á¥«¤µ¤»¤Æ¤¯¤À¤µ¤¤ (ºî¼Ô¼«¿È³ä¤ê¹þ¤ß¤«¤«¤Ã¤Æ¤ë¤«¤ï¤«¤ó¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ë¤¯¤é¤¤¤Ê¤Î¤Ç^^;)
- cw <func> [argER0] [argER1] ¡Ä[Ver0.20A°Ê¹ß] ¥¿¥¤¥à¥¢¥¦¥ÈÉÕ¤c¥³¥Þ¥ó¥É¤Ç¤¹¡£¥ª¥Þ¥±¤Ç func¤Î(¤ª¤ª¤è¤½¤Î)½èÍý»þ´Ö¤òWDT¤Ç¬¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£ ÆâÉôŪ¤ËCCR¤Ë¤è¤ê³ä¤ê¹þ¤ß²Ä¤Ë¤·¤Æ¤«¤é¿¶¤ê½Ð¤·¤Þ¤¹¡£
c¥³¥Þ¥ó¥É¤âcw¥³¥Þ¥ó¥É¤âÍפ¹¤ë¤ËG¥³¥Þ¥ó¥É¤ËËÝÌõ¤µ¤ì¤ë¤Î¤Ç ¥Ö¥ì¡¼¥¯¡¦¥¹¥Æ¥Ã¥×¥È¥ì¡¼¥¹²Äǽ¤Ç¤¹¡£¤¿¤À¤·cw¥³¥Þ¥ó¥É¤Ç¤Ï¥¿¥¤¥à¥¢¥¦¥Èµ¡Ç½¤¬ ¤¸¤ã¤Þ¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
: ei (LED¤¬¤Á¤«¤Á¤«¤Ï¤¸¤á¤ë¤Ï¤º¤Ç¤¹)
: cw _waitMS 10
returned : ffff0000 (1571. ticks)
: (waitMS(16)¤·¤Æ¤ß¤Þ¤·¤¿¡£1571*10.24us=16.09ms¤Ç¤¹¤Í)
: cw _forever
WDT TimedOut PC:0x002203c0 SP:0x00fffc24
: (̵¸Â¥ë¡¼¥×forever()¤ò¸Æ¤Ó¤Þ¤·¤¿¡£¤ª¤è¤½5Éäǥâ¥Ë¥¿¤ËÌá¤Ã¤Æ¤¤Þ¤¹)
: n 2203c0
0x2203c0 : _forever(0x2203be) + 0x000002
: (¤É¤¦¤ä¤éforever()¤ÎÃæ¤Ë¤¤¤¿¤é¤·¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¤Í)
- ¤¢¤Á¤³¤Á¤ÇgetCHAR()¤ò¸Æ¤ó¤Ç¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡ÖgetCHAR()¤Ç»ß¤Þ¤Ã¤Æ¤¿¡×¤È¤ï¤«¤ë¤À¤±¤Ç ¡Ö¤É¤³¤«¤é¸Æ¤Ð¤ì¤¿getCHAR()¤«¡×¤ÏSP¤«¤é¤¿¤É¤ë¤·¤«¤¢¤ê¤Þ¤»¤ó¡£(¿¤¯¤Î¾ì¹çº¤Æñ¤Ç¤¹)
- ³ä¤ê¹þ¤ß¥Ï¥ó¥É¥éÆâ¤Ç¥ë¡¼¥×¤·¤Æ¤ë¤ÈÄ̾ï(WDT³ä¤ê¹þ¤ß¼«ÂÎ¥Þ¥¹¥¯¤µ¤ì¤ë¤Î¤Ç)¥¿¥¤¥à¥¢¥¦¥È¤·¤Þ¤»¤ó¡£ ¿½Å³ä¤ê¹þ¤ßÈǤϼ긵¤ÇÄ´À°Ãæ¡£(¤µ¤¹¤¬¤Ë¤Á¤È¤ä¤ê¤¹¤®¤Êµ¤¤¬¡Ä^^;;) ¤¯¤µ¤¤¥Ï¥ó¥É¥é¤ÎƬ¤Ç»î¸³Åª¤Ëset_ccr(0)¤·¤Æ¤ß¤ë¤È¤¤¤¤¤«¤â¡£
- ke [b]¡Ä[Ver0.21A°Ê¹ß]SCI0¤«¤é¼õ¿®¤·¤¿¥Ç¡¼¥¿¤òSCI1¤Ø¡¢ SCI1¤«¤é¼õ¿®¤·¤¿¥Ç¡¼¥¿¤òSCI0¤ØÁ÷¤ë¥â¡¼¥É¤ËÆþ¤ê¤Þ¤¹¡£Ã¦½Ð¤ÏTERMCHAR(¥Á¥ë¥À¤Ç#define¤·¤Æ¤Þ¤¹)¡£
SCI1¤òPC¤Îhterm.exe¤Ë¡¢SCI0¤Ë½ãÀµ¥â¥Ë¥¿Áȹþ¤ßºÑ¤ß¤Î3664F¤ò¤Ä¤Ê¤¤¤ÀÎã¤ò¼¨¤·¤Þ¤¹¡£
![]()
: y (mon4.c¤ò¥¤¥Í¡¼¥Ö¥ë¤Ë¤·¤Þ¤¹) : h8 ? Displays contents of H8/3052 peripheral registers. H8 <name> [RET] <name> : DMAC0 - Direct Memory Access Controller 0 DMAC1 - Direct Memory Access Controller 1 : ke (¥¹¥ë¡¼¥â¡¼¥É¤ËÆþ¤ê¤Þ¤¹) Connected : (°Ê²¼¤ÏSCI0¤Ë¤Ä¤Ê¤¬¤ì¤¿3664F¤«¤é¤Î±þÅú¤Ç¤¹) : h8 ? Displays contents of H8/3664 peripheral registers. H8 <name> [RET] <name> : TA - Timer A TV - Timer V TW - Timer W SCI3 - Serial Communication Interface 3 ~: DisConnected (¥Á¥ë¥À¤ÇÌá¤Ã¤Æ¤¤Þ¤¹¡£°Ê²¼¤Ï¿Æ¤«¤é¤Î±þÅú) : h8 ? Displays contents of H8/3052 peripheral registers. H8 <name> [RET] <name> : DMAC0 - Direct Memory Access Controller 0 DMAC1 - Direct Memory Access Controller 1 ITU - 16bit Integrated Timer pulse Unit²¿¤¬¤·¤¿¤¤¤Î¤«¤ï¤«¤ê¤Ë¤¯¤¤¤Ç¤¹¤¬¡¢PC¢Î3052F¢ÎRS232Cµ¡´ï¤ÈÀܳ¤·¤Æ
- ´Êñ¤Ê¥Ü¡¼¥ì¡¼¥È¥³¥ó¥Ð¡¼¥¿¤È¤·¤Æµ¡Ç½¤·¤Æ¤¤¤Þ¤¹¡£SCI0¦®Å٤ϥϡ¼¥É¥³¡¼¥Ç¥£¥ó¥° ¤Ç¤¹¤¬¡¢¥â¥Ë¥¿¤Î¼êÁàºî¤ÇÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹(¥½¡¼¥¹»²¾È)
- ¤½¤Î»þ¤ÎÄÌ¿®ÆâÍÆ(ºÇ¿·32¥Ð¥¤¥È¤Î¤ß)¤¬mon4sciBuf[channel][]¤ËµÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç ´Êñ¤Ê232C¥é¥¤¥ó¥â¥Ë¥¿¤Î¤è¤¦¤Ë»È¤¨¤Þ¤¹
- ¤â¤È¤â¤È¤Ï¡¢¥â¡¼¥¿¥É¥é¥¤¥ÐIC¤òÀܳ¤·¤¿3664F¤Ç¡¢¤½¤Îư¤¤ò3052F(¤ÎA/D¥³¥ó¥Ð¡¼¥¿)¤ÇÄ´ºº¤¹¤ë ¤¿¤á¤Ëºî¤Ã¤¿µ¡Ç½¤Ç¤¹¡£¤È¤¢¤ëÊý¤ÎÁêÃ̤ò¤¤Ã¤«¤±¤ËÀ°ÆÜ¤·¤Þ¤·¤¿¡£
- ¾å¤Î3664F¤Î¤è¤¦¤Ë¡¢Â¹¤È¤·¤Æ½ãÀµH8¥â¥Ë¥¿¤ò¤Ä¤Ê¤¤¤À¾ì¹çL¥³¥Þ¥ó¥É¤Ï»ÈÍѲÄǽ¤Ç¤¹¤¬¡¢ »Äǰ¤Ê¤¬¤éROM¤Ï¾Æ¤±¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£
- :ke b¤Ç¸Æ¤Ö¤ÈTERMCHAR¤â¥¹¥ë¡¼¤·¤Þ¤¹¤¬Ã¦½Ð¤Ï¥ê¥»¥Ã¥È¤·¤«¤¢¤ê¤Þ¤»¤ó¡£
- ¤Ï¤¿¤·¤ÆROM¤Ë¾Æ¤¯¤Û¤¦¤¬¤¤¤¤¤Î¤«¡¢É¬Íפʵ¡Ç½¤òÄɲ䷤ʤ¬¤éRAM¤Ë¥À¥¦¥ó¥í¡¼¥É¤·¤Æ ư¤«¤¹¤Î¤¬¤¤¤¤¤Î¤«Èù̯¤Êµ¡Ç½¤Ç¤Ï¤¢¤ê¤Þ¤¹¡£ÉÔÍפʤ鳰¤·¤Æ¤¯¤À¤µ¤¤¡£
¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Ë¤Ä¤¤¤Æ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)¸ø³«¤·¤Þ¤·¤¿
¤¦¤¦¤¦¤à¡£¤ä¤ä¤³¤·¤¤¤¾
target.c¤òmon4.c¤ò»È¤¤¤Ê¤¬¤é³«È¯¤¹¤ë¤³¤È¤ò¹Í¤¨¤Þ¤¹¡£all.abs¤¬Â礤¯¤Ê¤ë(¥À¥¦¥ó¥í¡¼¥É¤Ë»þ´Ö¤¬¤«¤«¤ë)¤Î¤¬¥¤¥Þ¥¤¥Á¤Ç¤¹¤¬¡¢¤³¤ì¤¬´Êñ¤«¤Ä¼ÂÍÑŪ¤«¤È»×¤¤¤Þ¤¹¡£
- target.obj¤ò²¾¥ê¥ó¥¯(ÇÛÃÖ)¤·¤Ætarget.abs¤Ètarget.map¤òºî¤ë(symbol.obj¤ò ¤Ä¤Ê¤¬¤Ê¤¤¤Î¤Ç̤ÄêµÁ¥·¥ó¥Ü¥ë·Ù¹ð¤¬½Ð¤ë¤Ç¤·¤ç¤¦)
- target.map¤«¤é(symPick.js¤«¤Ê¤ó¤«¤Ç)symbol.mar¤òºî¤ë
- target.obj¤Èmon4.obj¤Èsymbol.obj¤òËÜ¥ê¥ó¥¯¤·¤Æ¥·¥ó¥Ü¥ë¾ðÊóÉÕ¤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¤Î¹çÂÎ¤Ï ¤³¤Á¤é¤Ç¡£
¤³¤Î¥Ú¡¼¥¸¤Î¤º¤Ã¤È¾å¤Î¹½À®¿Þ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£¥³¥Þ¥ó¥ÉÂÔ¤Á»þ¤Ï while((c=IN_CHAR())==NULL) ; ¤Ç¤°¤ë¤°¤ë²ó¤Ã¤Æ¤¤¤Þ¤¹¡£¤½¤³¤Ç
enableInterrupt();
while((c=IN_CHAR())==NULL) ;
disableInterrupt();
¤Î¤è¤¦¤Ë¤·¤Æ¡¢¤³¤³¤Ç¤°¤ë¤°¤ë²ó¤Ã¤Æ¤¤¤ë´Ö¤À¤±³ä¤ê¹þ¤ß¤ò¼õÉÕ¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¤É¤³¤Ç¤â¤¤¤¤¤Î¤Ç¤¹¤¬¡¢Àè¤Û¤Éadvanced.src¤Ë¥Ñ¥Ã¥ÁÆþ¤ì¤Þ¤·¤¿¤Î¤Ç¡¢¤³¤³¤Ç¤âƱ¤¸¤¯BSR IN_STRING¤Î Á°¤ËBSR GETINTR¤òÄɲä·¤Þ¤¹¡£
- _INTRENB_PTR.L(Îã¤Ë¤è¤Ã¤Æ¥Ù¥¯¥¿48ÈÖ¤ò¼ÚÍÑ)¤ò¸«¤ÆNULL¤Ç¤¢¤ì¤Ð²¿¤â¤»¤ºÊÖ¤·¤Þ¤¹(¥ª¥ê¥¸¥Ê¥ë¤Î¤Þ¤Þ¤Î ưºî)
- _INTRENB_PTR.L¤¬NULL¤Ç¤Ê¤±¤ì¤Ð¡¢¤Á¤ç¤Ã¤ÈËâË¡ (¤³¤ÎËâË¡¤¬¥¤¥Þ¥¤¥ÁÉÔ°Â^^;)¤ò¾§¤¨¤¿¸å SP¤òR¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤ëÅÛ(¤Ï½¼Ê¬¤Ê¿¼¤µ¤¬¤¢¤ë¤È¿®¤¸¤Æ)¤ËÀÚ¤êÂØ¤¨¤¿ ¾å¤Ç ³ä¤ê¹þ¤ß¤òEnable¤Ë¤·¤Æ¡¢ÆÈ¼«¤ËSCI1¤ò´Æ»ë¤·¤Þ¤¹
- ³ä¤ê¹þ¤ß¤¬¤¢¤ì¤ÐUSER¥Ù¥¯¥¿¥Æ¡¼¥Ö¥ë¤Ëź¤Ã¤¿¥ë¡¼¥Á¥ó¤¬¸Æ¤Ð¤ìreturn(RTE)¤Ç Ìá¤Ã¤Æ¤¤Þ¤¹
- SCI1¤ËÆþÎϤ¬¤¢¤ì¤Ð³ä¤ê¹þ¤ß¤ò¶Ø»ß¤·¸µ¤ÎSP¤ËÌᤷ¤ÆRTS¤·¤Þ¤¹¡£ (SCI1¤Ï¸å¤Ë¤¢¤é¤¿¤á¤ÆIN_CHAR¤ÎÃæ¤Ç¥Á¥§¥Ã¥¯¤µ¤ì¤Þ¤¹)
¢¬¤ÎưºîÎã¡£ÎФϥ³¥Þ¥ó¥ÉÆþÎϤȤ½¤Î±þÅú¡¢ ÀĤϥ桼¥¶¥×¥í¥°¥é¥à¤Îȯ¹Ô¤·¤¿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(¤òÆþÎϤ¹¤ì¤ÐºÆ¤Óư¤½Ð¤·¤Þ¤¹)
- »Äǰ¤Ê¤¬¤é¡¢³ä¤ê¹þ¤ß¥Ï¥ó¥É¥é°Ê²¼¤Ë¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤ò¤·¤«¤±¤¿¤ê¥¹¥Æ¥Ã¥×¥È¥ì¡¼¥¹¤È¤«¤Ï¤Ç¤¤Þ¤»¤ó¡£ for(;;) sleep();¤òg¥³¥Þ¥ó¥É¤Ç¿¶¤ê½Ð¤¹½¾Íè´Ä¶¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤
- ²¿¤«¥¡¼¥Ü¡¼¥É¤«¤éÆþÎϤ¹¤ë¤È²þ¹ÔÆþÎϤޤdzä¤ê¹þ¤ß¤¬¶Ø»ß¤µ¤ì¤Þ¤¹
- ¥â¥Ë¥¿¥³¥Þ¥ó¥É¤«¤é³ä¹þ¤ß¤òµ¯¤³¤»¤ë(UNIX¤Ç¤¤¤¦ kill -1 pid¤ß¤¿¤¤¤Ê¤Î)¤¬ ¤¢¤ë¤ÈÊØÍø¤«¤Ê¤¡¤È»×¤¦¤Î¤Ç¤¹¤¬ºî¤Ã¤Æ¤¤¤Þ¤»¤ó¡£c¥³¥Þ¥ó¥É¥â¥É¥¤Çtrapa(2) ¤È¤«¤ò¸Æ¤Ù¤Ð½ÐÍ褽¤¦¤Ë»×¤¤¤Þ¤¹
- VxWorks(¤¿¤Ö¤óTM)¤Ê¤ó¤Æ»È¤Ã¤¿¤³¤È¤Î¤¢¤ëÊý¤ÏÁàºî´¶¶á¤¤¤«¤â(»×¤¤½Ð¤·¤Ê¤¬¤éºî¤Ã¤¿¤Î¤Ç)
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¤Ç¤³¤ì¤Ç¥¤¥±¤ë¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢¥â¥Ë¥¿Â¦¤Ë¤«¤Ê¤êÈëÌ©¥Ñ¥Ã¥Á¤¬Æþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤³¤ì¤ÇÁ´Éô¤«¤É¤¦¤«¤Ï¡Ä
¡Ö¤³¤³¤âÊѤ¨¤Ê¤¤¤È¤¦¤´¤«¡¼¤¾¡×Åù¤´»ØÅ¦¤¤¤¿¤À¤±¤ì¤Ð¹¬¤¤¤Ç¤¹¡£
¤Þ¤¿¤Ï¤³¤Á¤é¤Î
¤«¤é¤É¤¦¤¾¡£
¤Ø¤â¤É¤ë