HEW¡ÊC/C++ Compiler Ver. 4.0¡ËÂбþÈÇ¡¡H8/300H TinyÍÑ¡¡¥â¥Ë¥¿¥×¥í¥°¥é¥à ¤«¤éºî¤ê¤Þ¤¹¡£Å¬Åö¤Ë¤Ö¤Á¤Þ¤±¤Æ¤¯¤À¤µ¤¤¡£
source/myMon/3664F/¥Ç¥£¥ì¥¯¥È¥ê¤òºî¤ê¤Þ¤¹¡£Ì¾Á°¤Ï²¿¤Ç¤âOK¤Ç¤¹¤¬ ¿¼¤µ¤¬ÊѤï¤ë¤È¤¤Ï°Ê²¼¤Î¥ê¥ó¥«¥¹¥¯¥ê¥×¥È¤ò½ñ¤´¹¤¨¤Æ¤¯¤À¤µ¤¤¡£
monitor.src(¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹)¤òsource/myMon/3664F/¤Ë ¤â¤Ã¤Æ¤¤Æ¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤Ï-cpu=300hn°Ê³°ÆÃ¤ËɬÍפ¢¤ê¤Þ¤»¤ó¡£
source¤Î²¼¤Ë¤¢¤ëfile.src¤ò¤«¤¿¤Ã¤Ñ¤·¤«¤é¥¢¥»¥ó¥Ö¥ë¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ÏÁ´¤¯ÉÔÍס£
NORTIP°Ê²¼¤ÏNORTIP/3664/file.src¤Î¤ß¤Ç½¼Ê¬¡£
¥ê¥ó¥¯¤·¤Þ¤¹¡£source/myMon/3664F/¤«¤éLNK /sub=makeLNK3.txt¤ÇOK¡£
ROM¾Æ¤¤ÇɬÍפʤé¤Ð¡¢¤ª¼ê»ý¤Á¤Î¥Ä¡¼¥ë¤ÇMONITOR.ABS¤òMONITOR.MOT¤ËÊÑ´¹¤·¤Æ¤¯¤À¤µ¤¤¡£
VECTOR 0x0000 0x003f (¥â¥Ë¥¿¤¬Æâ½ï¤Ç»È¤Ã¤Æ¤ë)³ä¹þ¥Ù¥¯¥¿ ROM 0x0040 0x4979 ¥â¥Ë¥¿ËÜÂÎ ¤Ê¤· 0xf780 0xfe00¤È¤« ¥Õ¥ê¡¼Îΰè STACK 0xfe00¤È¤« 0xfe80 ¥¹¥¿¥Ã¥¯ RAM 0xfe80 0xff3f (¥â¥Ë¥¿¤¬Æâ½ï¤Ç»È¤Ã¤Æ¤ë)¥ï¡¼¥¯ USER 0xff40 0xff7f ¥æ¡¼¥¶¤«¤é¸«¤¿(²¾ÁÛ)³ä¹þ¥Ù¥¯¥¿ IO 0xff80 0xffff I/OÎΰè
¤¿¤È¤¨¤ÐTMA¥ª¡¼¥Ð¡¼¥Õ¥í¡¼³ä¹þ¤ß(ÈÖ¹æ19)¤ÇTMAOverFlowHandler(void)¤ò¸Æ¤ó¤Ç¤â¤é¤¦¤Ë¤Ï¡Ävoid **VECTOR; VECTOR=(void **)0xff40; VECTOR[19]=(void *)TMAOverFlowHandler; /* VECTOR[23]=(void *)SCI3Handler; */¤È¤¹¤ë(¤â¤Á¤í¤ó³ä¤ê¹þ¤ß¤òµö²Ä¤¹¤ëÁ°¤Ë¤Ç¤¹¤è)¤È´Êñ¤Ç¤¹¡£
lower.c(¥¢¡¼¥«¥¤¥Ö¤µ¤ì¤Æ¤¤¤Þ¤¹)¤Ë/*struct st_sci *SCI = __sectop("SCI"); SCI Register Address */¤¬Æó¥ö½ê¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤¤¤º¤ì¤â struct st_sci *SCI = (struct st_sci *)0xffa8; /* SCI Register Address */ ¤ËÊѹ¹¤·¤Þ¤¹¡£
¥ê¥ó¥«¥¹¥¯¥ê¥×¥ÈÊѹ¹ÅÀ
in ..\..\NORMOD\MOD35.obj ¤òºï½ü
in ..\lower\lower ¤òÄɲÃ
lib YourDir\c38hn ¤òÄɲÃ
DEFINE $STACK(0FE40) ¤ËÊѹ¹
START VECTOR,ROM,P,C(0),B(0FE40),RAM(0FE80),USER(0FF40),SCI(0FFA8) ¤ËÊѹ¹
¸Æ¤Ó½Ð¤·Â¦¤ÎºÙ¹©¡¢(ɬÍפʤé)FOPEN¤ÎÄɲäʤɤϷ»µ®ÈÇ¤ÈÆ±ÍͤǤ¹¡£
¤¦¤°¤°¡£¥¹¥¿¥Ã¥¯¤òÆÃÄê¤Î¥Ñ¥¿¡¼¥ó(¤¢¤ê¤¬¤Á¤Ê¤Î¤Ï0xA5)¤ÇËä¤á¤Æ¤«¤é¤òή¤·¤Æ¥¹¥¿¥Ã¥¯¤Î±ø¤ìÊý¤ò¸«¤ë¤È¡¢Ìó390¥Ð¥¤¥È¹Ô¤¯¤ß¤¿¤¤¤Ç¡¢¤Þ¤¹¤Þ¤¹¤¤Ó¤·¤¤¡Ämain() { int a,b; scanf("%d%d",&a,&b); printf("Hello World! %x %x\n",a,b); trapa(3); }
¸½¾õÍøÍѤǤ¤ë´Ø¿ô
- char *OUT_STRING(const char *buf)¡Äʸ»úÎóbuf¤òSCI1¤ËÁ÷¤ê¤Þ¤¹¡£Ìá¤êÃͤÏbuf¤ÎºÇ¸å¤Ç¤¹¤¬»È¤¤Æ»¤Ï ¤Ê¤¤¤Ç¤·¤ç¤¦^^;
- char *OUT_STRINGZ(const char *buf)¡Ä[ÄɲÃ.03/OCT/29](0.02A) ʸ»úÎóbuf¤òSCI1¤ËÁ÷¤ê¤Þ¤¹¡£Ìá¤êÃͤÏbuf¤ÎºÇ¸å¤Ç¤¹¤¬»È¤¤Æ»¤Ï ¤Ê¤¤¤Ç¤·¤ç¤¦^^;bufÆâ¤ËLF¤¬¤¢¤Ã¤¿¾ì¹ç¤ÏCR¤òÉղä·CRLF¤È¤·¤ÆÁ÷½Ð¤·¤Þ¤¹¡£
- long OUT_CHAR(short dat)¡Ädat(¤Î²¼°Ì¥Ð¥¤¥È)¤òSCI1¤ËÁ÷¤ê¤Þ¤¹¡£Ìá¤êÃͤÏ0L¸ÇÄê
- long OUT_CRLF(void)¡ÄCR/LF¤òSCI1¤ËÁ÷¤ê¤Þ¤¹¡£Ìá¤êÃͤÏ0L¸ÇÄê
- long BIN_ASC_8(long var)¡Ävar¤ò"%08lX"·Á¼°¤Ë¤·¤ÆSCI1¤ËÁ÷¤ê¤Þ¤¹¡£Ìá¤êÃͤÏ0L¸ÇÄê¡£ BIN_ASC_6(),BIN_ASC_4(),BIN_ASC_2()¤Ï·å¿ô°ã¤¤ÈÇ¡£
- long IM_STRING(char *buf)¡ÄSCI1¤«¤é²þ¹Ô¤Þ¤Ç¤ò¼õ¤±¤Æbuf¤ËÁ÷¤ê¤Þ¤¹¡£ CR/LF¤ÏÉÕ¤¤Þ¤»¤ó¤¬NULL¤ÏÉÕ¤¤Þ¤¹¡£¥¨¥³¡¼¥Ð¥Ã¥¯Í¡£Ìá¤êÃͤÏ0L¸ÇÄê¡£
- short IN_CHAR(void)¡ÄSCI1¤«¤é£±¥Ð¥¤¥È¼õ¤±¼è¤ê¤Þ¤¹¡£Ìá¤êÃͤϼõ¤±¤¿¥Ç¡¼¥¿ (short¤Ç0¡Á255) EOF/EOT¤âʸ»ú²½¤±¤â¸«¤Æ¤¤¤Þ¤»¤ó
- long ASC_BIN_8(char *buf)¡Äbuf¤Î16¿Êʸ»úÎó(Âçʸ»ú¤Î¤ß¡£¥Ì¥ë¥¿¡¼¥ß¥Í¡¼¥È)¤ò long¤ËÊÑ´¹¤·Ìá¤êÃͤȤ·¤Þ¤¹
- void BACK(void)¡Ä[ÄɲÃ.03/JUL/13](0.01G) ˺¤ì¤Æ¤Þ¤·¤¿¡£(^^;)¥â¥Ë¥¿¤Ë°ÂÁ´¤Ë(?)Ìá¤ê¤Þ¤¹¡£
¥¢¥»¥ó¥Ö¥é¤«¤é¸Æ¤Ó¤¿¤¤¤Ã
- ¥Ý¥¤¥ó¥¿·¿/long·¿°ú¿ô¤ÏER0¤Ë¡¢short·¿°ú¿ô¤ÏR0¤Ë¤ª¤¤¤Æ¤¯¤À¤µ¤¤
- longÌá¤êÃͤÏER0¤Ë¡¢shortÌá¤êÃͤÏR0¤ËÆþ¤Ã¤Æ¤¤Þ¤¹
- ER0/ER1¤ÏÇ˲õ¤µ¤ì¤Þ¤¹¡£ER2-ER7¤ÏÊݸ¤µ¤ì¤Þ¤¹¤Î¤ÇÂàÈò¤ÎɬÍפϤ¢¤ê¤Þ¤»¤ó(¤Î¤Ï¤º^^;)
- ÊÌ¥Õ¥¡¥¤¥ë¤Ë¤¹¤ë¡£¤½¤Î¾ì¹ç.section NANKA¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤
- MONITOR.src¤Î¸å¤í¤Ë¤Á¤ç¤Á¤ç¤¤¤Ècopy&paste¡£¤ª¼ê·Ú¡¢¥ª¥¹¥¹¥á¡£¥ê¥ó¥«¥¹¥¯¥ê¥×¥È¤ÏÊѹ¹ÉÔÍפǤ¹¡£
- target.c¦¤Ë¥ê¥ó¥¯¤¹¤ë¡£¥â¥Ë¥¿¤Ï½ãÀµ¤Î¤Þ¤Þ¼ê¤ò¤Ä¤±¤¿¤¯¤Ê¤¤Êý¸þ¤±
mon3glue.h¡Ä¥æ¡¼¥¶¥×¥í¥°¥é¥à¦¥×¥í¥È¥¿¥¤¥×Àë¸À
¤Þ¤¿¤Ï¤³¤Á¤é¤Î
¤«¤é¤É¤¦¤¾¡£
¤Ø¤â¤É¤ë