+===========+
|P/ECE¸¦µæ¼¼|
+===========+
P/ECE¸¦µæµÏ¿
=============
* Wed Apr 06 00:00:00 JST 2005 Naoyuki Sawa
- ¥¹¥È¥ê¡¼¥àºÆÀ¸¤Î¤Þ¤È¤á#2
º£²ó¤âHTML¤Ç½ñ¤¤Þ¤·¤¿¡£°Ê²¼¤ÎURL¤ò¤´Í÷²¼¤µ¤¤¡£
http://www.piece-me.org/piece-lab/stream/stream2.html
* Sat Mar 26 19:35:00 JST 2005 Naoyuki Sawa
- ¥¹¥È¥ê¡¼¥àºÆÀ¸¤Î¤Þ¤È¤á#1
º£²ó¤ÏHTML¤Ç½ñ¤¤Þ¤·¤¿¡£°Ê²¼¤ÎURL¤ò¤´Í÷²¼¤µ¤¤¡£
http://www.piece-me.org/piece-lab/stream/stream1.html
* Fri Feb 25 06:00:00 JST 2005 Naoyuki Sawa
- ³¡¦¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî¡Á"jp.d %rb"Ì¿Îá¤Ï»ÈÍÑÉÔ²Ä
2003ǯ12·î17Æü¡Á23Æü¤ÎP/ECE¸¦µæµÏ¿¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî¡×¤Ç¡¢"jp.d %rb"Ì¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¯¤È¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Ê¤¤¡¢
¤È¤¤¤¦ÉÔ¶ñ¹ç¤Ë¤Ä¤¤¤Æµ¤·¤Þ¤·¤¿¡£
¡ü¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬Àµ¤·¤¯¼Â¹Ô¤µ¤ì¤ëÎã
ld.b %r4, %r7 ; ¥á¥â¥ê¥¢¥¯¥»¥¹°Ê³°¤ÎÌ¿Îá
jp.d %r6 ; %r6¥ì¥¸¥¹¥¿¤Î»Ø¤¹¥¢¥É¥ì¥¹¤Ø¥¸¥ã¥ó¥×¡Ä
add %r5, 1 ; ¡Ä¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¡ü¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬Àµ¤·¤¯¼Â¹Ô¤µ¤ì¤ëÎã
ld.b [%r4], %r7 ; ¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá
jp.d %r6 ; %r6¥ì¥¸¥¹¥¿¤Î»Ø¤¹¥¢¥É¥ì¥¹¤Ø¥¸¥ã¥ó¥×¡Ä
add %r5, 1 ; ¡Ä¤¹¤ëÁ°¤Ë¡¢¤³¤Î¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤ò¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¼Â¹Ô¤µ¤ì¤Þ¤»¤ó!!
¾Ü¤·¤¯¤Ï¡¢2003ǯ12·î17Æü¡Á23Æü¤ÎP/ECE¸¦µæµÏ¿¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-----------------------------------------------------------------------------
"jp.d %rb"Ì¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¯¤³¤È¤µ¤¨¤·¤Ê¤±¤ì¤ÐÀµ¤·¤¯Æ°ºî¤¹¤ë¤Î¤Ê¤é¤Ð¡¢
¥×¥í¥°¥é¥ß¥ó¥°»þ¤Ëµ¤¤ò¤Ä¤±¤Æ¤µ¤¨¤¤¤ì¤Ð¡¢"jp.d %rb"Ì¿Îá¤Î¸íưºî¤ò³Î¼Â¤Ë²óÈò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤·¤«¤·¼ÂºÝ¤Ë¤Ï¡¢¸íưºî¤¬È¯À¸¤¹¤ë¾ò·ï¤Ï¤½¤ì¤À¤±¤Ç¤Ï¤Ê¤¯¡¢»ö¼Â¾å"jp.d %rb"Ì¿Îá¤Ï»ÈÍÑÉÔ²Äǽ¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
¤½¤Î¾ò·ï¤È¤Ï¡¢
"jp.d %rb"Ì¿Îá¤Î¼Â¹Ô¤È¡¢DMAžÁ÷¤Ë¤è¤ë¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥¿¥¤¥ß¥ó¥°¤¬½Å¤Ê¤ë¤È¡¢
"jp.d %rb"Ì¿Îá¤Î¥Ç¥£¥ì¥¤¥¹¥í¥Ã¥È¤ËÃÖ¤«¤ì¤¿¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Ê¤¤¡£
¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
DMAžÁ÷¤Ë¤è¤ë¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥¿¥¤¥ß¥ó¥°¤ò¡¢¥×¥í¥°¥é¥ß¥ó¥°»þ¤Ë¥µ¥¤¥¯¥ëñ°Ì¤Ç´°Á´¤ËÇİ®¤¹¤ë¤³¤È¤Ï¡¢¤Þ¤ºÉÔ²Äǽ¤Ç¤¹¡£
"jp.d %rb"Ì¿Îá¤Î¸íưºî¤ò³Î¼Â¤Ë²óÈò¤¹¤ë¤³¤È¤Ï¤Ç¤¤º¡¢½¾¤Ã¤Æ¡¢"jp.d %rb"Ì¿Îá¤Ï»ÈÍÑÉԲġ¢¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤µ¤Æ¡¢¤½¤ì¤Ç¤Ï¡¢
"jp.d %rb"Ì¿Îá¤Î¼Â¹Ô¤È¡¢DMAžÁ÷¤Ë¤è¤ë¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥¿¥¤¥ß¥ó¥°¤¬½Å¤Ê¤ë¤È¡¢
"jp.d %rb"Ì¿Îá¤Î¥Ç¥£¥ì¥¤¥¹¥í¥Ã¥È¤ËÃÖ¤«¤ì¤¿¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Ê¤¤¡£
¤³¤È¤ò³Îǧ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¼Â¸³¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é: http://www.piece-me.org/archive/jpdbug-20050225.zip
¼Â¸³¥×¥í¥°¥é¥àtest1¡Átest4¤¬¡¢°Ê²¼¤ÎÀâÌÀ¤Î¡¡Á¤¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£
-----------------------------------------------------------------------------
¡¤Þ¤º¤Ï¡¢"jp.d %rb"Ì¿Î᤬Àµ¤·¤¯Æ°ºî¤¹¤ëÎã¤ò³Îǧ¤·¤Þ¤¹¡£
¥¢¥»¥ó¥Ö¥é¤Ç½ñ¤«¤ì¤¿¼¡¤Î¤è¤¦¤Ê¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤òC¸À¸ì¤«¤é¸Æ¤Ó½Ð¤·¤Æ¡¢ÊÑ¿ôRESULT¤Ë³ÊǼ¤µ¤ì¤¿Ãͤò²èÌ̤Ëɽ¼¨¤·¤Þ¤¹¡£
test1:
xld.w %r4, 1000000 ; 1000000²ó¥ë¡¼¥×¤·¤Þ¤¹¡£
xld.w %r5, 0 ; 1²óËè¤Ë1¤Å¤Ä¥«¥¦¥ó¥È¥¢¥Ã¥×¤·¤Þ¤¹¡£
xld.w %r6, skip ; jp.dÌ¿Îá¤Î¥¸¥ã¥ó¥×À襢¥É¥ì¥¹¤Ç¤¹¡£
loop:
jp.d %r6 ; jp.dÌ¿Îá¤ò»È¤Ã¤Æ°Ê²¼¤Î¶è´Ö¤òÈô¤Ó±Û¤¨¤Þ¤¹¡£
add %r5, 1 ; jp.dÌ¿Îá¤Î¥Ç¥£¥ì¥¤¥¹¥í¥Ã¥È¤Ç¥«¥¦¥ó¥È¥¢¥Ã¥×¤ò¹Ô¤¤¤Þ¤¹¡£
;
;{{--------------------------------------------------------
; ¤³¤Î¶è´Ö¤ÏÈô¤Ó±Û¤¨¤ë¤Î¤Ç¡¢¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
; ËÜÅö¤ËÈô¤Ó±Û¤¨¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢
; Ëü°ì¡¢¤³¤Î¶è´Ö¤òÈô¤Ó±Û¤¨¤º¤Ë¼Â¹Ô¤µ¤ì¤¿¤é¡¢
; ¥¢¥É¥ì¥¹¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£
xld.w %r15, 1
ld.w %r15, [%r15]
;}}--------------------------------------------------------
;
skip:
xsub %r4, %r4, 1 ; ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
xjrne loop
xld.w [RESULT], %r5 ; ¥«¥¦¥ó¥È¥¢¥Ã¥×¤Î·ë²Ì¤ò³ÊǼ¤·¤Þ¤¹¡£
ret
¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤ÎÆâÍÆ¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
1000000²ó¤Î¥ë¡¼¥×¤ò¹Ô¤¤¡¢¥ë¡¼¥×¤¬1²ó¤Þ¤ï¤ë¤¿¤Ó¤Ë¥«¥¦¥ó¥¿¤ò1¤Å¤ÄÁý¤ä¤·¤Þ¤¹¡£
¤³¤Î¤È¤¡¢¡Ö¥«¥¦¥ó¥¿¤ò1¤Å¤ÄÁý¤ä¤¹¡×½èÍý("add %5,1")¤ò¡¢"jp.d %rb"Ì¿Îá¤Î¥Ç¥£¥ì¥¤¥¹¥í¥Ã¥È¤Ç¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
1000000²ó¤Î¥ë¡¼¥×¤¬½ªÎ»¤·¤¿¤é¡¢¥«¥¦¥ó¥¿¤ÎÃͤò¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ôRESULT¤Ë³ÊǼ¤·¤Þ¤¹¡£
Àµ¤·¤¯¼Â¹Ô¤µ¤ì¤¿¤Ê¤é¤Ð¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ôRESULT¤Ë¤Ï1000000¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
¤½¤ì¤Ç¤Ï¼Â¹Ô¤·¤Æ¤ß¤Þ¤¹¡£
·ë²Ì: 1000000
´üÂԤɤª¤ê¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ôRESULT¤Ë¤Ï1000000¤¬³ÊǼ¤µ¤ì¤Þ¤·¤¿¡£
¤³¤Î¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤Ç¤Ï¡¢"jp.d %rb"Ì¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Î᤬̵¤¤¤Î¤Ç¡¢"jp.d %rb"Ì¿Î᤬Àµ¤·¤¯Æ°ºî¤·¡¢
¥Ç¥£¥ì¥¤¥¹¥í¥Ã¥È¤ËÃÖ¤«¤ì¤¿¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¤¤Á¤ó¤È¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£
-----------------------------------------------------------------------------
¢¼¡¤Ë¡¢"jp.d %rb"Ì¿Î᤬¸íưºî¤¹¤ëÎã¤ò³Îǧ¤·¤Þ¤¹¡£
2003ǯ12·î17Æü¡Á23Æü¤ÎP/ECE¸¦µæµÏ¿¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî¡×¤Ç³Îǧ¤·¤¿¤Î¤ÈƱ¤¸¾ò·ï¤Ç¤¹¤±¤ì¤É¡¢
ǰ¤Î¤¿¤á¤Ë¡¢º£²ó¤â¡¢¤â¤¦¤¤¤Á¤É³Îǧ¤·¤Æ¤ª¤¯¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£
test2:
xld.w %r4, 1000000 ; 1000000²ó¥ë¡¼¥×¤·¤Þ¤¹¡£
xld.w %r5, 0 ; 1²óËè¤Ë1¤Å¤Ä¥«¥¦¥ó¥È¥¢¥Ã¥×¤·¤Þ¤¹¡£
xld.w %r6, skip ; jp.dÌ¿Îá¤Î¥¸¥ã¥ó¥×À襢¥É¥ì¥¹¤Ç¤¹¡£
xld.w %r7, DUMMY ; jp.d¤Î¸íưºî¤òºÆ¸½¤¹¤ë¤¿¤á¤Î¥á¥â¥ê½ñ¤¹þ¤ß¥¢¥É¥ì¥¹¤Ç¤¹¡£
loop:
ld.b [%r7], %r7 ; jp.dÌ¿Îá¤ÎľÁ°¤Ç¥á¥â¥ê¥¢¥¯¥»¥¹¤¹¤ë¤È¡¢jp.d¤¬¸íưºî¤·¤Þ¤¹¡£
; (¹â®RAM¾å¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤ÏÆÉ¤ß½ñ¤Î¾Êý¡¢SRAM¤Î¾ì¹ç¤Ï½ñ¤¹þ¤ß¤Î¤ß)
jp.d %r6 ; jp.dÌ¿Îá¤ò»È¤Ã¤Æ°Ê²¼¤Î¶è´Ö¤òÈô¤Ó±Û¤¨¤Þ¤¹¡£
add %r5, 1 ; jp.dÌ¿Îá¤ÎÃٱ䥹¥í¥Ã¥È¤Ç¥«¥¦¥ó¥È¥¢¥Ã¥×¤ò¹Ô¤¤¤Þ¤¹¡£
;
;{{--------------------------------------------------------
; ¤³¤Î¶è´Ö¤ÏÈô¤Ó±Û¤¨¤ë¤Î¤Ç¡¢¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
; ËÜÅö¤ËÈô¤Ó±Û¤¨¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢
; Ëü°ì¡¢¤³¤Î¶è´Ö¤òÈô¤Ó±Û¤¨¤º¤Ë¼Â¹Ô¤µ¤ì¤¿¤é¡¢
; ¥¢¥É¥ì¥¹¥¨¥é¡¼¤¬È¯À¸¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£
xld.w %r15, 1
ld.w %r15, [%r15]
;}}--------------------------------------------------------
;
skip:
xsub %r4, %r4, 1 ; ¥ë¡¼¥×½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£
xjrne loop
xld.w [RESULT], %r5 ; ¥«¥¦¥ó¥È¥¢¥Ã¥×¤Î·ë²Ì¤ò³ÊǼ¤·¤Þ¤¹¡£
ret
¡¤È¤Î°ã¤¤¤Ï¡¢"jp.d %rb"Ì¿Îá¤ÎľÁ°¤Ë¥À¥ß¡¼¤Î¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¤¤¿¤³¤È¤À¤±¤Ç¤¹¡£
¼Â¹Ô¤·¤Æ¤ß¤ë¤È¡¢
·ë²Ì: 84
¤È¤Ê¤ê¤Þ¤·¤¿¡£(¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë¡¢¿ô»ú¤Ï¾¯¤·ÊѲ½¤·¤Þ¤¹)
ËÜÅö¤Ï1000000¤È¤Ê¤ë¤Ï¤º¤Î¤È¤³¤í84¤Ç¤¹¤«¤é¡¢¤Û¤È¤ó¤É¤Î"jp.d %rb"Ì¿Îá¤Ï¸íưºî¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢¤ï¤º¤«¤ËÀµ¾ïưºî¤Î²ó¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Ï²¿¤«¤È¸À¤¦¤È¡¢"jp.d %rb"Ì¿Îá¤ÎľÁ°¤Ç³ä¤ê¹þ¤ß¤¬È¯À¸¤·¡¢¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤È"jp.d %rb"Ì¿Îá¤Î´Ö¤Ç³ä¤ê¹þ¤ß¥ë¡¼¥Á¥ó¤¬¼Â¹Ô¤µ¤ì¤¿¾ì¹ç¤Ë¡¢
¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤È"jp.d %rb"Ì¿Î᤬Ϣ³¤Ç¼Â¹Ô¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢"jp.d %rb"Ì¿Î᤬Àµ¤·¤¯Æ°ºî¤¹¤ë¤Î¤Ç¤¹¡£
¤¿¤á¤·¤Ë¡¢³ä¤ê¹þ¤ß¤ò´°Á´¤Ë¶Ø»ß¤·¤Æ¡¢Æ±¤¸¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤ò¼Â¹Ô¤·¤Æ¤ß¤ë¤È¡¢
·ë²Ì: 0
¤È¤Ê¤ê¡¢"jp.d %rb"Ì¿Î᤬¤¹¤Ù¤Æ°Û¾ïưºî¤¹¤ë¤³¤È¤¬³Îǧ¤Ç¤¤Þ¤¹¡£
¤Ê¤ª¡¢¤³¤Î°Û¾ïưºî¤ò³Îǧ¤¹¤ë¥Æ¥¹¥È¥×¥í¥°¥é¥à¤Ï¡¢¤È¤¤É¤¥Ï¥ó¥°¥¢¥Ã¥×¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤È"jp.d %rb"Ì¿Î᤬Ϣ³¤¹¤ë¤È¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Ê¤¤¤À¤±¤Ç¤Ê¤¯¡¢Í½Â¬¤Ç¤¤Ê¤¤Æ°ºî¤È¤Ê¤ë¤³¤È¤â¤¢¤ë¤ß¤¿¤¤¤Ç¤¹¡£
-----------------------------------------------------------------------------
£¤µ¤Æ¡¢¤³¤³¤«¤é¤¬ËÜÂê¤Ç¤¹¡£
¤Þ¤º¡¢¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤ÎÆâÍÆ¤ò¡¤ÈƱ¤¸¤â¤Î¤ËÌᤷ¤Þ¤¹¡£
"jp.d %rb"Ì¿Î᤬Àµ¤·¤¯Æ°ºî¤·¤Æ¡¢¡È·ë²Ì: 1000000¡É¤Èɽ¼¨¤µ¤ì¤ë¤Ï¤º¤Î¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤Ç¤¹¡£
¤¿¤À¤·¡¢¡¤È¤Î°ã¤¤¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¥µ¥¦¥ó¥É¤òºÆÀ¸¤·¤Ê¤¬¤é¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤ò¼Â¹Ô¤¹¤ë¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£
¥µ¥¦¥ó¥ÉºÆÀ¸¤Ë¤Ï¡¢Ä̾ï¤ÎP/ECE¥µ¥¦¥ó¥ÉAPI pceWaveDataOut() ¤ò»È¤¤¤Þ¤¹¡£
¼Â¹Ô¤·¤Æ¤ß¤ë¤È¡¢
·ë²Ì: 994836
1%̤Ëþ¤Ç¤¹¤±¤ì¤É¡¢"jp.d %rb"Ì¿Î᤬¸íưºî¤·¤Æ¤¤¤Þ¤¹¡£(¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë¡¢¿ô»ú¤Ï¾¯¤·ÊѲ½¤·¤Þ¤¹)
¡¤È¤Î°ã¤¤¤Ï¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¥µ¥¦¥ó¥É¤òºÆÀ¸¤·¤Æ¤¤¤ë¤³¤È¤À¤±¤Ç¤¹¤«¤é¡¢¥µ¥¦¥ó¥ÉºÆÀ¸¤¬"jp.d %rb"¤Î¸íưºî¤Î¸¶°ø¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤Ï³Î¼Â¤Ç¤¹¡£
¥µ¥¦¥ó¥ÉºÆÀ¸½èÍý¤ÎÆâÍÆ¤Ï¡¢¼ç¤Ë¡ÈDMA¤Ë¤è¤ë¥á¥â¥êžÁ÷¡É¤È¡ÈDMA´°Î»³ä¤ê¹þ¤ß¡É¤Î¤Õ¤¿¤Ä¤Ç¤¹¡£
¤³¤Î¤¦¤Á¡¢¡ÈDMA´°Î»³ä¤ê¹þ¤ß¡É¤¬¸íưºî¤Î¸¶°ø¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤Ï¹Í¤¨¤Å¤é¤¤¤Ç¤¹¡£
¤Ê¤¼¤Ê¤é¡¢¥µ¥¦¥ó¥ÉºÆÀ¸¤ò¹Ô¤Ã¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢¡ÈDMA´°Î»³ä¤ê¹þ¤ß¡É°Ê³°¤Î³ä¤ê¹þ¤ß¤ÏÉÑÈˤËȯÀ¸¤·¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
¡ÈDMA´°Î»³ä¤ê¹þ¤ß¡É°Ê³°¤Î³ä¤ê¹þ¤ß¤¬"jp.d %rb"¤Î¸íưºî¤ò°ú¤µ¯¤³¤µ¤º¡¢¡ÈDMA´°Î»³ä¤ê¹þ¤ß¡É¤À¤±¤¬¸íưºî¤ò°ú¤µ¯¤³¤¹¤È¤Ï»×¤¨¤Ê¤¤¤«¤é¤Ç¤¹¡£
¤½¤ó¤Ê¤ï¤±¤Ç¡¢¸¶°ø¤Ï¡ÈDMA¤Ë¤è¤ë¥á¥â¥êžÁ÷¡É¤Ë¤¢¤ë¤È¥¢¥¿¥ê¤òÉÕ¤±¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
-----------------------------------------------------------------------------
¤¡ÈDMA¤Ë¤è¤ë¥á¥â¥êžÁ÷¡É¤¬"jp.d %rb"Ì¿Îá¤Î¸íưºî¤Î¸¶°ø¤Ç¤¢¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¥µ¥¦¥ó¥ÉºÆÀ¸½èÍý¤Î¤è¤¦¤ÊÊ£»¨¤Ê½èÍý¤Ç¤Ï¤Ê¤¯¡¢½ã¿è¤ËDMAžÁ÷¤À¤±¤ò¹Ô¤Ã¤Æ¤ß¤Þ¤¹¡£
¡¤ä£¤ÈƱ¤¸¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤Î¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Çñ½ã¤ÊDMAžÁ÷¤ò¹Ô¤Ã¤Æ¡¢"jp.d %rb"Ì¿Îá¤Î¸íưºî¤¬È¯À¸¤¹¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¤Þ¤¹¡£
¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë¡¢¼¡¤Î¤è¤¦¤Ê¼ê½ç¤ÇDMAžÁ÷¤ò³«»Ï¤·¤Þ¤¹¡£
DISABLE;
/*---------- DMA¥È¥ê¥¬ÍÑ¥¿¥¤¥Þ¤ÎÀßÄê ----------*/
/* ¥¯¥í¥Ã¥¯ÁªÂò = ¦È/1 (¥¿¥¤¥Þ¥«¥¦¥ó¥È¥À¥¦¥ó¼þ´ü = 24MHz)
*/
bCLKSEL_T8_P8TPCK3 = 1;
/* ¥¯¥í¥Ã¥¯À©¸æ = On
*/
bCLKCTL_T8_23_P8TON3 = 1;
/* ¥ê¥í¡¼¥É¥Ç¡¼¥¿ = 240-1 (DMA¥È¥ê¥¬¼þ´ü = 100KHz)
*/
pT8_RLD3 = 240-1;
/* ¥×¥ê¥»¥Ã¥È¡¢Run¡£
*/
pT8_CTL3 = (1<<1) | (1<<0);
/*---------- DMA¤ÎÀßÄê ----------*/
/* ¥³¥ó¥È¥í¡¼¥ë¾ðÊó¤òÀßÄꤹ¤ëÁ°¤Ë¡¢¹â®DMA Ch.3¤ò³Î¼Â¤ËÄä»ß¤·¤Þ¤¹¡£
*/
HS3_DISABLE;
/* ¥È¥ê¥¬Í×°ø = 8bit¥¿¥¤¥ÞCh.3¥¢¥ó¥À¡¼¥Õ¥í¡¼
*/
bHSDMA_HTGR2_HSD3S = HS3_8T3;
/* ¥¢¥É¥ì¥¹¥â¡¼¥É = ¥Ç¥å¥¢¥ë
* žÁ÷¥«¥¦¥ó¥¿ = 0xffffff²ó (¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¡¢ÌÀ¼¨Åª¤ËÄä»ß¤µ¤ì¤ë¤Þ¤Ç)
*/
pHS3_CNT = (1<<31) | (1<<28)-1;
/* žÁ÷¥Ç¡¼¥¿¥µ¥¤¥º = ¥Ð¥¤¥È
* žÁ÷¸µ¥¢¥É¥ì¥¹À©¸æ = ¸ÇÄê
* žÁ÷¸µ¥¢¥É¥ì¥¹ = &DUMMY1
*/
pHS3_SADR = (int)&DUMMY1;
/* žÁ÷¥â¡¼¥É = ¥·¥ó¥°¥ëžÁ÷
* žÁ÷À襢¥É¥ì¥¹À©¸æ = ¸ÇÄê
* žÁ÷À襢¥É¥ì¥¹ = &DUMMY2
*/
pHS3_DADR = (int)&DUMMY2;
/* ¹â®DMA Ch.3¤ò͸ú¤Ë¤¹¤ëÁ°¤Ë¡¢³Î¼Â¤Ë¥È¥ê¥¬¥Õ¥é¥°¤ò¥¯¥ê¥¢¤·¤Þ¤¹¡£
*/
pHS3_TF = 1;
/* ¹â®DMA Ch.3¤ò͸ú¤Ë¤·¤Þ¤¹¡£
*/
HS3_ENABLE;
ENABLE;
DMAžÁ÷¤ÎÆâÍÆ¤Ï¡¢¥À¥ß¡¼ÊÑ¿ôÎΰ褫¤éÊ̤ΥÀ¥ß¡¼ÊÑ¿ôÎÎ°è¤Ø¡¢100KHz¤ÎÉÑÅ٤ǥá¥â¥êžÁ÷¤ò¹Ô¤¦¡¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
¥µ¥¦¥ó¥ÉºÆÀ¸¤ÈƱÍͤˡ¢DMAžÁ÷¤È¥Æ¥¹¥È¥ë¡¼¥Á¥ó¤ÏʹԤ·¤Æ¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
¥µ¥¦¥ó¥ÉºÆÀ¸¤Î¾ì¹ç¤È°ã¤Ã¤Æ¡¢DMAžÁ÷¤Ë¤«¤«¤ï¤ë³ä¤ê¹þ¤ß¤ÏȯÀ¸¤·¤Þ¤»¤ó¡£
¤½¤ì¤Ç¤Ï¡¢¼Â¹Ô¤·¤Æ¤ß¤Þ¤¹¡£
·ë²Ì: 974426
ͽÁۤɤª¤ê¡¢"jp.d %rb"¤¬¸íưºî¤·¤Þ¤·¤¿¡£(¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë¡¢¿ô»ú¤Ï¾¯¤·ÊѲ½¤·¤Þ¤¹)
¥µ¥¦¥ó¥ÉºÆÀ¸¤Î¾ì¹ç¤è¤ê¤â¡¢¾¯¤·¸íưºî¤ÎÉÑÅÙ¤¬Â¿¤¤¤Ç¤¹¤Í¡£
¤½¤ÎÍýͳ¤Ï¡¢¥µ¥¦¥ó¥ÉºÆÀ¸¤ÎDMAžÁ÷¥ì¡¼¥È¤Ï32KHz¤Ç¤¢¤ë¤Î¤ËÂФ·¤Æ¡¢¤¤Î¥Æ¥¹¥È¥×¥í¥°¥é¥à¤ÎžÁ÷¥ì¡¼¥È¤Ï100KHz¤À¤«¤é¤Ç¤¹¡£
DMAžÁ÷¤ÎȯÀ¸¤¹¤ëÉÑÅÙ¤¬Â¿¤¤Ê¬¡¢"jp.d %rb"¤È½Å¤Ê¤ë³ÎΨ¤¬¹â¤¯¡¢·ë²Ì¡¢"jp.d %rb"¤¬¸íưºî¤¹¤ëÉÑÅ٤⿤¯¤Ê¤ë¤ï¤±¤Ç¤¹¡£
¤¿¤á¤·¤Ë¡¢DMAžÁ÷¥ì¡¼¥È¤ò10ÇܤËÁý¤·¤Æ¤ß¤ë¤È¡¢
/* ¥ê¥í¡¼¥É¥Ç¡¼¥¿ = 24-1 (DMA¥È¥ê¥¬¼þ´ü = 1MHz)
*/
pT8_RLD3 = 24-1;
"jp.d %rb"¸íưºî¤ÎÉÑÅÙ¤¬¤â¤Ã¤È¹â¤¯¤Ê¤ë¤³¤È¤¬³Îǧ¤Ç¤¤Þ¤¹¡£
·ë²Ì: 699436
-----------------------------------------------------------------------------
°Ê¾å¤Î¼Â¸³¤Ç¡¢
"jp.d %rb"Ì¿Îá¤Î¼Â¹Ô¤È¡¢DMAžÁ÷¤Ë¤è¤ë¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥¿¥¤¥ß¥ó¥°¤¬½Å¤Ê¤ë¤È¡¢
"jp.d %rb"Ì¿Îá¤Î¥Ç¥£¥ì¥¤¥¹¥í¥Ã¥È¤ËÃÖ¤«¤ì¤¿¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Ê¤¤¡£
¤³¤È¤¬³Îǧ¤Ç¤¤Þ¤·¤¿¡£
Àè¤Ë¤â½Ò¤Ù¤¿¤è¤¦¤Ë¡¢DMAžÁ÷¤Î¥¿¥¤¥ß¥ó¥°¤Ë°Í¸¤¹¤ë¸íưºî¤Ï¡¢²óÈòÉÔ²Äǽ¤Ç¤¹¡£
P/ECE¤Î¾ì¹ç¡¢¥µ¥¦¥ó¥ÉºÆÀ¸¤ÈÊ»ÍѤ·¤Ê¤±¤ì¤ÐÎɤ¤¤Î¤Ç¤¹¤±¤ì¤É¡¢¤½¤ì¤Ï¸½¼ÂŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
·ëÏÀ¤Ï¡¢
¨®¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¯
¨"jp.d %rb"Ì¿Îá¤Ï¡¢¤¤¤«¤Ê¤ë¾ì¹ç¤Ë¤ª¤¤¤Æ¤â¡úÀäÂФˡú»È¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¨
¨±¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨°
¤È¤Ê¤ê¤Þ¤¹¡£
¤Ê¤ª¡¢P/ECE³«È¯´Ä¶¤Îɸ½àC¥³¥ó¥Ñ¥¤¥é¤ÏºÇŬ²½µ¡Ç½¤¬¼å¤¯¡¢"jp.d %rb"Ì¿Îá¤òÀ¸À®¤·¤Þ¤»¤ó¤Î¤Ç¡¢C¸À¸ì¤À¤±¤ò»È¤Ã¤Æ¥×¥í¥°¥é¥ß¥ó¥°¤·¤Æ¤¤¤ë¸Â¤ê¤Ï°ÂÁ´¤Ç¤¹¡£
¥¢¥»¥ó¥Ö¥é¤ò»È¤Ã¤Æ¡¢¼êºî¶È¤ÇºÇŬ²½¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢Í×Ãí°Õ¤Ç¤¹¡£
-----------------------------------------------------------------------------
¤µ¤Æ¡¢°Ê²¼¤Ï;Ã̤Ǥ¹¡£
"jp.d %rb"Ì¿Îá¤ÈDMAžÁ÷¤ÎÊ»ÍѤˤè¤ë¸íưºî¤Ëµ¤ÉÕ¤¤¤¿·Ð°Þ¤Ë¤Ä¤¤¤Æ¡¢µ¤·¤Æ¤ª¤³¤¦¤È»×¤¤¤Þ¤¹¡£
¸½ºß¡¢¡Ö¥²¡¼¥à¥Ü¡¼¥¤/EMU¡×¤ÎºîÀ®Ãæ¤Ê¤Î¤Ç¤¹¤±¤ì¤É¡¢¥µ¥¦¥ó¥É¤òÄɲä·¤¿¤È¤¿¤ó¤Ë¡¢CPU¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤¬Àµ¤·¤¯¼Â¹Ô¤µ¤ì¤Ê¤¯¤Ê¤ë¤È¤¤¤¦ÌäÂ꤬ȯÀ¸¤·¤Þ¤·¤¿¡£
ºÇ½é¡¢¥µ¥¦¥ó¥É¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥ë¡¼¥Á¥ó¤Ë¥Ð¥°¤¬¤¢¤Ã¤Æ¡¢ÉÔÀµ¤Ê¥á¥â¥ê¤òÇ˲õ¤·¤Æ¤¤¤ë¤Î¤«¤È¹Í¤¨¤ÆÄ´¤Ù¤Æ¤ß¤¿¤Î¤Ç¤¹¤¬¡¢¤¤¤¯¤éÄ´¤Ù¤Æ¤â´Ö°ã¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
¸¶°ø¤òÆÍ¤µÍ¤á¤Æ¤¤¤¯¤È¡¢¥µ¥¦¥ó¥É¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥ë¡¼¥Á¥ó¤ò¸Æ¤Ð¤Ê¤¯¤Æ¤â¡¢Ã±¤ËpceWaveDataOut()¤ò¸Æ¤Ö¤À¤±¤Ç¡¢ÌäÂ꤬ȯÀ¸¤¹¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
¤½¤³¤Ç¡¢pceWaveDataOut()¤ò¸Æ¤ó¤À¾ì¹ç¤È¸Æ¤Ð¤Ê¤¤¾ì¹ç¤È¤Ç¡¢CPU¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤Î¥È¥ì¡¼¥¹¥í¥°¤òÈæ³Ó¤·¤Æ¤ß¤Þ¤·¤¿¡£
¤¹¤ë¤È¡¢pceWaveDataOut()¤ò¸Æ¤ó¤À¾ì¹ç¤Ë¡¢¤È¤¤É¤¡¢»Ä¤êCPU¼Â¹Ô¥µ¥¤¥¯¥ë¤Î¥«¥¦¥ó¥È¥À¥¦¥ó¤¬¹Ô¤ï¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
¤³¤ó¤Ê¤«¤ó¤¸¤Ç¤¹¡£
pceWaveDataOut()¤ò¸Æ¤Ð¤Ê¤¤¾ì¹ç pceWaveDataOut()¤ò¸Æ¤ó¤À¾ì¹ç
------------------------------ ------------------------------
PC=1000: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=440 PC=1000: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=440
PC=1001: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=436 PC=1001: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=436
PC=1002: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=432 PC=1002: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=436 <- ¸º¤Ã¤Æ¤Ê¤¤!!
PC=1003: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=428 PC=1003: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=432
PC=1004: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=424 PC=1004: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=428
PC=1005: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=420 PC=1005: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=424
PC=1006: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=416 PC=1006: »Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë=420
¾å¤ÎÎã¤Ç¤Ï¡¢1002ÈÖÃϤÎÌ¿Îá¤Î¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¤Ç¸íưºî¤¬È¯À¸¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¼Â¹Ô¤¹¤ë¤¿¤Ó¤Ë¸íưºî¤¬È¯À¸¤¹¤ë¥¢¥É¥ì¥¹¤¬ÊѲ½¤¹¤ë¤Î¤Ç¤¹¡£
²¿ÅÙ¤«»î¤·¤Æ¤ß¤Æ¡¢¸íưºî¤¬È¯À¸¤¹¤ëÌ¿Îá¤Î¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥ë¡¼¥Á¥ó¤Î¶¦ÄÌÀ¤Ëµ¤¤¬ÉÕ¤¤Þ¤·¤¿¡£
¤½¤ì¤é¤Î¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥ë¡¼¥Á¥ó¤Ï¤¹¤Ù¤Æ¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥ÉʤӤò»È¤Ã¤Æ¤¤¤¿¤«¤é¤Ç¤¹¡£
ld.w %r0, %r4 ; (¥á¥â¥ê¥¢¥¯¥»¥¹°Ê³°¤ÎÌ¿Îá¡£"jp.d %r11"¤Ï¸íưºî¤·¤Ê¤¤¤Ï¤º¡¢¤À¤Ã¤¿¤Î¤Ç¤¹¤±¤ì¤É¡Ä)
jp.d %r11 ; ¥á¥â¥ê½ñ¤¹þ¤ß¥ë¡¼¥Á¥ó¤Ø¥¸¥ã¥ó¥×
sub %r7, 4 ; "jp.d %rb"Ì¿Îá¤Î¥Ç¥£¥ì¥¤¥¹¥È¥Ã¥È¤Ç¡¢»Ä¤ê¼Â¹Ô¥µ¥¤¥¯¥ë¤ò¸º¤é¤¹
¤Ä¤Þ¤ê¡¢¤È¤¤É¤"sub %r7,4"¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
°ÊÁ°¤ÎP/ECE¸¦µæµÏ¿¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî¡×¤Ç¡¢"jp.d %rb"¤È¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤ÎÁêÀ¤¬°¤¤¤³¤È¤Ï´û¤Ë¤ï¤«¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¥µ¥¦¥ó¥É¤òÄɲä·¤¿ÅÓü¤ËȯÀ¸¤·¤¿¸íưºî¡¢¥á¥â¥ê¥¢¥¯¥»¥¹¡¢¡¢¡¢¤È¤Ê¤ë¤È¡¢¥µ¥¦¥ó¥ÉºÆÀ¸¤Î¤¿¤á¤ÎDMAžÁ÷¤·¤«¹Í¤¨¤é¤ì¤Þ¤»¤ó¡£
¤½¤³¤Çº£²ó¤Î¤è¤¦¤ÊÄ´ºº¤ò¹Ô¤Ã¤Æ¤ß¤¿¤È¤³¤í¡¢"jp.d %rb"Ì¿Îá¤ÈDMAžÁ÷¤ÎÊ»ÍÑ¤Ç°Û¾ïÆ°ºî¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤ï¤«¤Ã¤¿¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
º£²ó¤Ï¡¢Ã±½ã¤ÇÄ귿Ū¤Ê½èÍý¤ò·«¤êÊÖ¤¹CPU¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥ë¡¼¥Á¥ó¤ÎÃæ¤Ç¤Î¸íưºî¤À¤Ã¤¿¤¿¤á¤Ë¡¢Èæ³ÓŪ´Êñ¤Ë¸¶°ø¤¬¿ä¬¤Ç¤¤Þ¤·¤¿¡£
¤â¤·¤â¡¢Ä̾ï¤Î¥²¡¼¥à¥×¥í¥°¥é¥à¤ÎÆþ¤êÁȤó¤À¥ë¡¼¥Á¥ó¤ÎÃæ¤Ç¡¢¤´¤¯µ©¤ËȯÀ¸¤¹¤ë¤è¤¦¤Ê¸íưºî¤À¤Ã¤¿¤Ê¤é¤Ð¡¢¸¶°øµæÌÀ¤Ë¤Ï¤â¤Ã¤È»þ´Ö¤¬¤«¤«¤Ã¤Æ¤¤¤¿¤È»×¤¤¤Þ¤¹¡£
¤¢¤ë°ÕÌ£¡¢¹¬±¿¤À¤Ã¤¿¤«¤âÃΤì¤Þ¤»¤ó¡£
* Fri Feb 11 04:56:00 JST 2005 Naoyuki Sawa
- ³¡¦¼Â¤Ï¥Ç¥£¥ì¥¤¥ÉÌ¿Îá
º£²ó¤Î¥Æ¡¼¥Þ¤Ï¡¢2003ǯ4·î12Æü¤ÎµÏ¿¡Ö¼Â¤Ï¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¡×¤Î³¤¤Ç¤¹¡£
======================================================================================================================
¤Þ¤º¤Ï¡¢Á°²ó¤Î¤ª¤µ¤é¤¤¤«¤é¡£
P/ECE¤ÎCPU S1C33209¤Ï¡¢RISC CPU¤ÎÆÃħ¤Î¤Ò¤È¤Ä¡¢¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¡×¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤È¤Ï¡¢Ê¬´ôÌ¿Îá¤Î¼Â¹Ô¤è¤êÀè¤Ëʬ´ôÌ¿Îá¤Îľ¸å¤ÎÌ¿Îá¤ò¼Â¹Ô¤·¡¢¼Â¹Ô¸úΨ¤ò²Ô¤°µ¡Ç½¤Ç¤¹¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤¦Ê¬´ôÌ¿Îá¤ò¡¢¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¡×¤È¸Æ¤Ó¤Þ¤¹¡£
¤Þ¤¿¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Îľ¸å¤ËÃÖ¤«¤ì¤ëÌ¿Îá¤ò¡¢¡Ö¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¡×¤È¸Æ¤Ó¤Þ¤¹¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿ÎᾸå¤Î¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤òÃÖ¤¯¤³¤È¤¬¤Ç¤¤ë°ÌÃÖ¤ò¡¢¡Ö¥Ç¥£¥ì¥¤¥É¥¹¥í¥Ã¥È¡×¤È¸Æ¤Ó¤Þ¤¹¡£
¤¹¤Ù¤Æ¤ÎÌ¿Î᤬¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѤǤ¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤¢¤ëÌ¿Î᤬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѤǤ¤ë¤«Èݤ«¤Ë¤Ä¤¤¤Æ¡¢´ðËÜŪ¤ÊȽÃÇ´ð½à¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹¡£
¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤Ï°Ê²¼¤Î¾ò·ï¤ò¤¹¤Ù¤ÆËþ¤¿¤·¤Æ¤¤¤ë¤³¤È¤¬É¬ÍפǤ¹¡£
¡¦1¥µ¥¤¥¯¥ëÌ¿Îá
¡¦¥á¥â¥ê¤ò¥¢¥¯¥»¥¹¤·¤Ê¤¤
¡¦extÌ¿Îá¤Ë¤è¤ë³ÈÄ¥¤Ê¤·
¡ØS1C33209¥³¥¢CPU¥Þ¥Ë¥å¥¢¥ë¡Ù(C:\usr\PIECE\docs\datasheet\EPSON\33000Core-J.pdf)
p.30¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¡×¤è¤ê
Ʊ¥Ú¡¼¥¸¤Ë¤Ï¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѤǤ¤ëÌ¿Îá¤Î°ìÍ÷¤¬¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤µ¤é¤Ë¤½¤Î²¼¤Ë¡¢¼¡¤Î¤è¤¦¤ÊÃí°Õ¤¬µ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Ãí¡§¾åµ¤Î¾ò·ï¤òËþ¤¿¤µ¤Ê¤¤Ì¿Îá¤Ïưºî¤¬ÉÔÄê¤È¤Ê¤ë¤¿¤á¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È¤Ï¶Ø»ß¤·¤Þ¤¹¡£
¤È¤³¤í¤¬¡¢EPSON¼Ò¼«¿È¤Ë¤è¤ëɸ½à¥é¥¤¥Ö¥é¥ê¤Î¼ÂÁõ¤¬¡¢¤³¤Î¥ë¡¼¥ë¤òÇˤäƤ¤¤Þ¤·¤¿¡£
¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѤǤ¤Ê¤¤¤Ï¤º¤Î"ld.w %rd,%ss"Ì¿Îá¤ò¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѤ·¤Æ¤¤¤¿¤Î¤Ç¤¹¡£
²¿Ä̤꤫¤ÎÌ¿ÎáʤӤò»î¤·¤Æ¤ß¤¿¤È¤³¤í¡¢"ld.w %rd,%ss"Ì¿Îá¤Ï¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤ÆÌäÂê¤Ê¤¯»ÈÍѤǤ¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
EPSON¼Ò¤â»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤«¤é¡¢¤¿¤Ö¤óÂç¾æÉפʤΤǤ·¤ç¤¦¡£
°Ê¾å¡¢Á°²ó¤Î¤ª¤µ¤é¤¤¤Ç¤·¤¿¡£
======================================================================================================================
¤½¤Î¸å¡¢¼«ºî¥×¥í¥°¥é¥à¤Ç"ld.w %rd,%ss"Ì¿Îá¤ò¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»È¤Ã¤Æ¤¤Þ¤·¤¿¤¬¡¢¤³¤ì¤Þ¤Ç¤Î¤È¤³¤íÌäÂê¤Ï½Ð¤Æ¤¤¤Þ¤»¤ó¡£
¤ä¤Ã¤Ñ¤ê¡¢Âç¾æÉפÀ¤Ã¤¿¤è¤¦¤Ç¤¹¡£
¤µ¤Æ¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍÑÉԲĤȤµ¤ì¤Æ¤¤¤ëÌ¿Îá¤Î¤Ê¤«¤Ë¡¢"ld.w %rd,%ss"Ì¿Îá¤è¤ê¤â¤Ã¤È»ÈÍÑÉÑÅ٤ι⤤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
char¢ÎintÊÑ´¹¤äshort¢ÎintÊÑ´¹¤ò¹Ô¤¦¡¢°Ê²¼¤ÎÌ¿Îá·²¤Ç¤¹¡£
ld.b %rd,%rs char¢ÎintÊÑ´¹
ld.ub %rd,%rs unsigned char¢ÎintÊÑ´¹¡¢(value&0xff)¤ÎÂåÍÑ
ld.h %rd,%rs short¢ÎintÊÑ´¹
ld.uh %rd,%rs unsigned short¢ÎintÊÑ´¹¡¢(value&0xffff)¤ÎÂåÍÑ
°Ê¹ß¤Îʸ¤Ç¤Ï¡¢¤³¤ì¤é¤ÎÌ¿Îá¤ò¡È·¿ÊÑ´¹Ì¿Îá¡É¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤¹¡£
·¿ÊÑ´¹Ì¿Îá¤Ï¤¹¤Ù¤Æ¡Ö1¥µ¥¤¥¯¥ëÌ¿Îá¡×¤Ç¡Ö¥á¥â¥ê¤ò¥¢¥¯¥»¥¹¤·¤Ê¤¤¡×Ì¿Îá¤Ç¡ÖextÌ¿Îá¤Ë¤è¤ë³ÈÄ¥¤Ê¤·¡×¤Î¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤Þ¤¹¡£
¤Ë¤â¤«¤«¤ï¤é¤º¡¢¡ØS1C33209¥³¥¢CPU¥Þ¥Ë¥å¥¢¥ë¡Ù¤Ç¤Ï¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤ÊÌ¿Îá¤Ëµó¤²¤é¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¼ÂºÝ¤Ë¥×¥í¥°¥é¥à¤òÁȤó¤Ç¤¤¤ë¤È¡¢·¿ÊÑ´¹Ì¿Î᤬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»È¤¨¤Ê¤¤¤¿¤á¤Ë¡¢²ù¤·¤¤»×¤¤¤ò¤¹¤ë¤³¤È¤¬¤è¤¯¤¢¤ê¤Þ¤¹¡£
add %r12, %r13¡¡¡¡¡¡¡¡¡¡; a = a + b
ld.ub %r10, %r12¡¡¡¡¡¡¡¡; return (unsigned char)a
ret
¢"ld.ub %r10,%r12"¤¬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤À¤Ã¤¿¤Ê¤é¤Ð¡¢¼¡¤Î¤è¤¦¤ËʤÓÂØ¤¨¤Æ¹â®²½¤Ç¤¤ë¤Î¤Ç¤¹¤¬¡¦¡¦¡¦
add %r12, %r13¡¡¡¡¡¡¡¡¡¡; a = a + b
ret.d ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; return (unsigned char)a
ld.ub %r10, %r12¡¡¡¡¡¡¡¡; *delay*
¼ÂºÝ¤Ë¤Ï¡¢"ld.ub %r10,%r12"¤¬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤Ç¤Ê¤¤¤¿¤á¤Ë¡¢Ê¤ÓÂØ¤¨¡ÈÉԲġɤǤ¹¡ª¡ª
°ì¸«¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤Ê"and"Ì¿Îá¤ÇÂåÍѤ·¤Æ¤·¤Þ¤¨¤Ð¤¤¤¤¤è¤¦¤Ë¤â¸«¤¨¤Þ¤¹¤±¤ì¤É¡¢¤½¤ì¤Ï¤Ç¤¤Þ¤»¤ó¡£
add %r12, %r13¡¡¡¡¡¡¡¡¡¡; a = a + b
ret.d ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; return a & 0xff
xand %r10, %r12, 0xff ¡¡; *delay*
¢"xand %r10,%r12,0xff"¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¼¡¤Î¤è¤¦¤ËŸ³«¤µ¤ì¤Þ¤¹¡£
add %r12, %r13¡¡¡¡¡¡¡¡¡¡; a = a + b
ret.d ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; return a & 0xff
ext 0xff¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; ¨¤
and %r10, %r12¡¡¡¡¡¡¡¡¡¡; ¨ª 2Ì¿Îá¤ËŸ³«¤µ¤ì¤Æ¤·¤Þ¤¤¡¢¥Ç¥£¥ì¥¤¥É¥¹¥í¥Ã¥È¤Ë¼ý¤Þ¤ê¤Þ¤»¤ó¡ª¡ª
·¿ÊÑ´¹Ì¿Îá¤ò»È¤¦¤È¤¤Ï¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤Ã¤¿¹â®²½¤ò¤¢¤¤é¤á¤ë¤·¤«¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
======================================================================================================================
¡Ö1¥µ¥¤¥¯¥ëÌ¿Îá¡×¡Ö¥á¥â¥ê¤ò¥¢¥¯¥»¥¹¤·¤Ê¤¤¡×¡ÖextÌ¿Îá¤Ë¤è¤ë³ÈÄ¥¤Ê¤·¡×¤Î¾ò·ï¤òËþ¤¿¤·¤Æ¤¤¤ë¤Ë¤â¤«¤«¤ï¤é¤º¡¢
¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤Ç¤Ê¤¤Ì¿Îá¤È¤·¤Æ¤Ï¡¢·¿ÊÑ´¹Ì¿Îá¤Î¾¤Ë¡¢"div1"¤ä"halt"Ì¿Îá¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£
"div1"¤ä"halt"Ì¿Îá¤Ï¤ä¤äÆÃ¼ì¤ÊÉôÎà¤ÎÌ¿Îá¤Ç¤¹¤«¤é¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤Ç¤Ê¤¯¤Æ¤â¡¢¤Ê¤ó¤È¤Ê¤¯Ç¼ÆÀ¤Ç¤¤Þ¤¹¡£
¤·¤«¤·¡¢·¿ÊÑ´¹Ì¿Îá¤Î¤è¤¦¤Êñ½ã¤Ç»ÈÍÑÉÑÅ٤ι⤤̿Î᤬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤Ç¤Ê¤¤¤È¤¤¤¦¤Î¤Ï¡¢Ç¼ÆÀ¤Ç¤¤Þ¤»¤ó¡£
¤½¤³¤Ç¤Õ¤È¹Í¤¨¤¿¤Î¤¬¡¢¡Ö¤â¤·¤«¤·¤Æ¼ÂºÝ¤Ë¤Ï·¿ÊÑ´¹Ì¿Îá¤â¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¤Ï¤Ê¤¤¤«¡©¡×
»×¤¨¤Ð"ld.w %rd,%ss"Ì¿Îá¤À¤Ã¤Æ¡¢¥Þ¥Ë¥å¥¢¥ë¤Ë¤ÏµºÜ¤µ¤ì¤Æ¤¤¤Ê¤¤¤±¤ì¤É¡¢°ÅÌÛ¸øÁ³¤Î¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤À¤Ã¤¿¤ï¤±¤Ç¤¹¤«¤é¡£
¤½¤ì¤Ç¤Ï¤µ¤Ã¤½¤¯»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
---------------------------------------------------------
foo:
add %r12, %r13¡¡¡¡¡¡¡¡¡¡; a = a + b
ret.d ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; return (unsigned char)a
ld.ub %r10, %r12¡¡¡¡¡¡¡¡; *delay*
---------------------------------------------------------
¤³¤Î¥¢¥»¥ó¥Ö¥é¥ë¡¼¥Á¥ó¤ò¡¢C¸À¸ì¥×¥í¥°¥é¥à¤«¤é¸Æ¤Ó½Ð¤·¤Æ¤ß¤Þ¤¹¡£
---------------------------------------------------------
extern int foo(int a, int b);
n = foo(0x12345678, 0x9abcdef0);
pceFontPrintf("%08x", n);
---------------------------------------------------------
·ë²Ì¤Ï¡¢¡Ö00000068¡×¤Èɽ¼¨¤µ¤ì¤Þ¤·¤¿¡£
0x12345678 + 0x9abcdef0 = 0xacf13568
(unsigned char)0xacf13568 = 0x68
¤Ç¤¹¤«¤é¡¢Àµ¤·¤¤·ë²Ì¤Ç¤¹¡£
¼Â¹Ô»þ´Ö¤ò·×¬¤·¤Æ¤ß¤ë¤È¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤Ã¤¿¤³¤È¤Ë¤è¤ë¹â®²½¤Î¸ú²Ì¤¬³Îǧ¤Ç¤¤Þ¤·¤¿¡£
Á°¸å¿ôÌ¿Îá¤ÎʤӤò²¿Ä̤꤫¤ËÊѤ¨¤Æ¤ß¤¿¤ê¡¢¥×¥í¥°¥é¥à¤ä¥Ç¡¼¥¿¤òSRAM¤ä¹â®RAM¤ËÇÛÃÖ¤·¤Æ¤â¡¢¤¹¤Ù¤ÆÀµ¤·¤¤·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
"ld.b %rd,%rs"¡¢"ld.h %rd,%rs"¡¢"ld.uh %rd,%rs"Ì¿Îá¤Ë¤Ä¤¤¤Æ¤âƱÍͤ˻¤Æ¤ß¤¿¤È¤³¤í¡¢¤¹¤Ù¤ÆÀµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤·¤¿¡£
»°Ç¯´ÖǺ¤ó¤Ç¤¤¤¿¤Î¤¬²Ä¾Ð¤·¤¯¤Ê¤Ã¤Æ¤¯¤ë¤°¤é¤¤¡¢¤¢¤Ã¤±¤Ê¤¤ËëÀÚ¤ì¤Ç¤¹¡£
¨®¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¯
¨¨®¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¯¨
¨¨¡¡·¿ÊÑ´¹Ì¿Îá¤â¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤Ç¤·¤¿¡¡¨¨
¨¨±¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨°¨
¨±¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨¬¨°
¤â¤Ã¤È¤â¡¢¥Æ¥¹¥È¥×¥í¥°¥é¥à¤ÇÀµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤¿¤À¤±¤Ç¤Ï¡¢¤¢¤é¤æ¤ë¾ìÌ̤ÇÀµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£
¥Þ¥Ë¥å¥¢¥ë¤Ë¤â¡Ö¾åµ¤Î¾ò·ï¤òËþ¤¿¤µ¤Ê¤¤Ì¿Îá¤Ïưºî¤¬¡úÉÔÄê¡ú¤È¤Ê¤ë¤¿¤á¡Á¡×¤Èµ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
¥Æ¥¹¥È¥×¥í¥°¥é¥à¤Ç¤Ï¤¿¤Þ¤¿¤ÞÀµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤¿¤À¤±¤«¤âÃΤì¤Ê¤¤¤«¤é¤Ç¤¹¡£
¤·¤«¤·¡¢"ld.w %rd,%ss"¤ÎÁ°Î㤫¤é¤¹¤ë¤È¡¢¤¿¤Ö¤ó¤É¤ó¤Ê¾ìÌ̤ǤâÂç¾æÉפʵ¤¤¬¤·¤Þ¤¹¡£ËͤΥ«¥ó¤Ç¤¹¤±¤ì¤É¡£¡£¡£(^^;
·¿ÊÑ´¹Ì¿Î᤬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»È¤¨¤ë¤³¤È¤Î¥á¥ê¥Ã¥È¤Ï¡¢¤â¤·¤«¤·¤¿¤éÉÔ°ÂÄ꤫¤â¡Ä¤È¤¤¤¦¥ê¥¹¥¯¤ò¾å²ó¤ê¤Þ¤¹¡£
¤Ê¤Ë¤è¤ê¡¢»È¤Ã¤Æ¤ß¤Ê¤±¤ì¤ÐÉÔ°ÂÄ꤫¤É¤¦¤«¤â¤ï¤«¤ê¤Þ¤»¤ó¤«¤é¡¢º£¸å¤ÏÀѶËŪ¤Ë»È¤Ã¤Æ¤ß¤ë¤³¤È¤Ë¤·¤è¤¦¤È»×¤¤¤Þ¤¹¡£
======================================================================================================================
¤½¤ó¤Ê¤ï¤±¤Ç¡¢·¿ÊÑ´¹Ì¿Îá¤â¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ(¤¿¤Ö¤ó)»ÈÍѲÄǽ¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
¤â¤Ã¤ÈÁ᤯¤Ë»î¤·¤Æ¤ª¤±¤Ð¤è¤«¤Ã¤¿¡£¡£¡£
¤µ¤Æ¡¢¤³¤¦¤Ê¤Ã¤Æ¤¯¤ë¤È¡¢¡Ö·¿ÊÑ´¹Ì¿Îá°Ê³°¤Ë¤â¡¢¼Â¤Ï¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»ÈÍѲÄǽ¤ÊÌ¿Î᤬¤¢¤ë¤Î¤Ç¤Ï¡©¡×¤È»×¤¨¤Æ¤¤Þ¤¹¡£
¤Á¤ç¤Ã¤È»î¤·¤Æ¤ß¤¿¤È¤³¤í¡¢
¡¦1¥µ¥¤¥¯¥ëÌ¿Îá
¡¦¥á¥â¥ê¤ò¥¢¥¯¥»¥¹¤·¤Ê¤¤
¡¦extÌ¿Îá¤Ë¤è¤ë³ÈÄ¥¤Ê¤·
¤Î¾ò·ï¤ò¤Þ¤Ã¤¿¤¯Ìµ»ë¤·¤Æ¡¢¤Û¤È¤ó¤É¤ÎÌ¿Î᤬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ(°ì±þ¤Ï)ưºî¤¹¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
xjp.d bar
mlt.w %r12, %r13¡¡¡¡¡¡¡¡; 5¥µ¥¤¥¯¥ëÌ¿Îᡪ¡ª
¤È¤«¡¢
xjp.d bar
ld.w %r10, [%r12] ¡¡¡¡¡¡; ¥á¥â¥ê¤ò¥¢¥¯¥»¥¹¤¹¤ë¡ª¡ª
¤È¤«¡¢
xjp.d bar
ext 0xff¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; ʬ´ôÀè¤ÎÌ¿Îá¤Îext³ÈÄ¥¤òÀè¼è¤ê¡ª¡ª
.
.
.
bar:
and %r10, %r12¡¡¡¡¡¡¡¡¡¡; "xand %r10, %r12, 0xff"¤Ë¤Ê¤ê¤Þ¤¹
¤È¤«¡¢·Ú¤¯»î¤·¤¿¸Â¤ê¤Ç¤Ï¡¢¤¹¤Ù¤ÆÀµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤·¤¿¡£
¼Â¹Ô»þ´Ö¤ò·×¬¤·¤Æ¤ß¤ë¤È¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤Ã¤¿¤³¤È¤Ë¤è¤ë¹â®²½¤Î¸ú²Ì¤¬³Îǧ¤Ç¤¤Þ¤¹¡£
ÆÃ¤ËÆó¤ÄÌܤΡ¢¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤ò¥Ç¥£¥ì¥¤¥É¥¹¥í¥Ã¥È¤ËÆþ¤ì¤¿Îã¤Ç¡¢ÂçÉý¤Ê¹â®²½¤Î¸ú²Ì¤¬¤¢¤ë¤ß¤¿¤¤¤Ç¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¤µ¤¹¤¬¤Ë¤³¤ì¤é¤ÎÊ£»¨¤ÊÌ¿Îá¤Ë¤Ê¤Ã¤Æ¤¯¤ë¤È¡¢¾õ¶·¤Ë¤è¤Ã¤Æ¤Ï·ë²Ì¤¬ÉÔ°ÂÄê¤Ë¤Ê¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È¤¤¤¦µ¤¤â¤·¤Þ¤¹¡£
¤È¤ê¤¢¤¨¤ºº£²ó¤Ï¡Ö·¿ÊÑ´¹Ì¿Îá¤â¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¡×¤È¤¤¤¦·ë²Ì¤ËËþ¤·¡¢¤½¤Î¾¤ÎÌ¿Îá¤Î¼Â¸³¤Ï¤Þ¤¿º£¸å¡¢¤È¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
* Sun Dec 5 16:00:00 JST 2004 Naoyuki Sawa
- ADPCM¤Î»ÅÁȤß#5
º£²ó¤â³¨¤¬Â¿¤¤¤Î¤ÇHTML¤Ç½ñ¤¤Þ¤·¤¿¡£°Ê²¼¤ÎURL¤ò¤´Í÷²¼¤µ¤¤¡£
http://www.piece-me.org/piece-lab/adpcm/adpcm5.html
* Sat Dec 4 14:45:00 JST 2004 Naoyuki Sawa
- ADPCM¤Î»ÅÁȤß#4
º£²ó¤â³¨¤¬Â¿¤¤¤Î¤ÇHTML¤Ç½ñ¤¤Þ¤·¤¿¡£°Ê²¼¤ÎURL¤ò¤´Í÷²¼¤µ¤¤¡£
http://www.piece-me.org/piece-lab/adpcm/adpcm4.html
* Fri Dec 3 00:00:00 JST 2004 Naoyuki Sawa
- ADPCM¤Î»ÅÁȤß#3
º£²ó¤â³¨¤¬Â¿¤¤¤Î¤ÇHTML¤Ç½ñ¤¤Þ¤·¤¿¡£°Ê²¼¤ÎURL¤ò¤´Í÷²¼¤µ¤¤¡£
http://www.piece-me.org/piece-lab/adpcm/adpcm3.html
* Wed Dec 1 00:00:00 JST 2004 Naoyuki Sawa
- ADPCM¤Î»ÅÁȤß#2
º£²ó¤â³¨¤¬Â¿¤¤¤Î¤ÇHTML¤Ç½ñ¤¤Þ¤·¤¿¡£°Ê²¼¤ÎURL¤ò¤´Í÷²¼¤µ¤¤¡£
http://www.piece-me.org/piece-lab/adpcm/adpcm2.html
* Tue Nov 30 06:00:00 JST 2004 Naoyuki Sawa
- ADPCM¤Î»ÅÁȤß#1
º£²ó¤Ï³¨¤¬Â¿¤¤¤Î¤ÇHTML¤Ç½ñ¤¤Þ¤·¤¿¡£°Ê²¼¤ÎURL¤ò¤´Í÷²¼¤µ¤¤¡£
http://www.piece-me.org/piece-lab/adpcm/adpcm1.html
* Sat Nov 7 09:00:00 JST 2004 Naoyuki Sawa
- ¹½Â¤ÂΥѥ寤ËÌäÂꤢ¤ê#2
Á°²ó¡¢P/ECE³«È¯´Ä¶¤Ç¤Ï¡¢¹½Â¤ÂΥѥ寤Τ¿¤á¤Î__attribute__((packed))¤¬Àµ¤·¤¯Æ°ºî¤·¤Ê¤¤¡¢¤È¤¤¤¦¤È¤³¤í¤Þ¤Ç¤ªÏä·¤Þ¤·¤¿¡£
¶ñÂÎŪ¤Ë¤Ï¡¢¹½Â¤ÂÎ¥µ¥¤¥º¤ÏÀµ¤·¤¯¥Ñ¥Ã¥¯¤µ¤ì¤ë¤Î¤À¤±¤ì¤É¡¢½é´ü²½ºÑ¤ß¹½Â¤ÂÎ¤ÎÆâÍÆ¤¬¥Ñ¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦¾É¾õ¤Ç¤¹¡£
º£²ó¤Ï¡¢¤½¤Î¸¶°ø¤òõ¤Ã¤Æ¤ß¤Þ¤¹¡£
·ëÏÀ¤À¤±¸À¤¦¤È°ì¸À¤Ç½ª¤ï¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤Ç¤ÏÌÌÇò¤¯¤Ê¤¤¤Î¤Ç(^^;¡¢Ëͤ¬Ä´ºº¤·¤¿¤È¤¤Î¼ê½ç¤òÄɤäÆÀâÌÀ¤·¤Æ¤ß¤Þ¤¹¡£
Ť¤¤Ç¤¹¤±¤ì¤É¡¢¤ª¤Ä¤¤¢¤¤¤¯¤À¤µ¤¤¡£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¢£¥³¥ó¥Ñ¥¤¥é½ÐÎϤòÈæ³Ó¤·¤Æ¤ß¤ë¢£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¤µ¤Æ¤½¤ì¤Ç¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê(¡á¹½Â¤ÂΥѥå¯Ìµ¤·)¤Î¾ì¹ç¤È¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·(¡á¹½Â¤ÂΥѥ寤¢¤ê)¤Î¾ì¹ç¤È¤Ç¡¢
C¸À¸ì¥½¡¼¥¹¤¬¤É¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¡¢¤É¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Æ¤¤¤ë¤Î¤«¸«¤Æ¤ß¤Þ¤¹¡£
C¸À¸ì¥½¡¼¥¹¤ÎÆâÍÆ¤Ï¡¢Á°²ó¤Î¸åȾ¢££Ð¡¿£Å£Ã£Å¤Î¾ì¹ç¡ÁÌäÂêȯÀ¸!!¢£¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤Þ¤º¤Ï¡¢¸åȾÉôʬ¤Ë¤¢¤ë¡¢pceAppProc()´Ø¿ô¤¬¤É¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤Î¤«¸«¤Æ¤ß¤Þ¤¹¡£
ºÇ½é¤Ë¡¢__attribute__((packed))¤ò»ØÄꤷ¤Ê¤¤¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê]
; void pceAppProc(int count)
; {
; ¡¡¡¡int i;
; ¡¡¡¡unsigned char* p;
;
; ¡¡¡¡memset(vbuff, 0, sizeof vbuff);
; ¡¡¡¡pceFontSetType(2);
; ¡¡¡¡pceFontSetPos(0, 0);
;
; ¡¡¡¡p = (unsigned char*)&cid;
; ¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
; ¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
; ¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
; ¡¡¡¡}
;
; ¡¡¡¡pceLCDTrans();
; }
;
; ¤ÎÉôʬ¤¬¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
pceAppProc:
¡¡¡¡¡¡¡¡pushn¡¡%r2
¡¡¡¡¡¡¡¡xsub¡¡%sp,%sp,8
¡¡¡¡¡¡¡¡xld.w¡¡%r12,vbuff
¡¡¡¡¡¡¡¡ld.w¡¡%r13,0x0
¡¡¡¡¡¡¡¡xld.w¡¡%r14,0x00002c00
¡¡¡¡¡¡¡¡xcall¡¡memset
¡¡¡¡¡¡¡¡xld.w¡¡%r12,0x00000002
¡¡¡¡¡¡¡¡xcall¡¡pceFontSetType
¡¡¡¡¡¡¡¡ld.w¡¡%r12,0x0
¡¡¡¡¡¡¡¡ld.w¡¡%r13,%r12
¡¡¡¡¡¡¡¡xcall¡¡pceFontSetPos
¡¡¡¡¡¡¡¡xld.w¡¡%r10,__LC0
¡¡¡¡¡¡¡¡xld.w¡¡[%sp],%r10
¡¡¡¡¡¡¡¡xld.w¡¡%r10,0x00000014¡¡¡¡¡¡¡¡; 0x00000014(20) = sizeof(MMC_CID_INFO)
¡¡¡¡¡¡¡¡xld.w¡¡[%sp+4],%r10
¡¡¡¡¡¡¡¡xcall¡¡pceFontPrintf
¡¡¡¡¡¡¡¡xld.w¡¡%r2,__LC1
¡¡¡¡¡¡¡¡xld.w¡¡%r0,cid
¡¡¡¡¡¡¡¡xadd¡¡%r1,%r0,15
__L6:
¡¡¡¡¡¡¡¡xld.w¡¡[%sp],%r2
¡¡¡¡¡¡¡¡xld.ub¡¡%r10,[%r0]
¡¡¡¡¡¡¡¡xld.w¡¡[%sp+4],%r10
¡¡¡¡¡¡¡¡xcall¡¡pceFontPrintf
¡¡¡¡¡¡¡¡xadd¡¡%r0,%r0,1
¡¡¡¡¡¡¡¡cmp¡¡%r0,%r1
¡¡¡¡¡¡¡¡xjrule¡¡__L6
¡¡¡¡¡¡¡¡xcall¡¡pceLCDTrans
¡¡¡¡¡¡¡¡xadd¡¡%sp,%sp,8
¡¡¡¡¡¡¡¡popn¡¡%r2
¡¡¡¡¡¡¡¡ret
¼¡¤Ë¡¢__attribute__((packed))¤ò»ØÄꤷ¤¿¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Î¾ì¹ç¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·]
; void pceAppProc(int count)
; {
; ¡¡¡¡int i;
; ¡¡¡¡unsigned char* p;
;
; ¡¡¡¡memset(vbuff, 0, sizeof vbuff);
; ¡¡¡¡pceFontSetType(2);
; ¡¡¡¡pceFontSetPos(0, 0);
;
; ¡¡¡¡p = (unsigned char*)&cid;
; ¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
; ¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
; ¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
; ¡¡¡¡}
;
; ¡¡¡¡pceLCDTrans();
; }
;
; ¤ÎÉôʬ¤¬¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
pceAppProc:
¡¡¡¡¡¡¡¡pushn¡¡%r2
¡¡¡¡¡¡¡¡xsub¡¡%sp,%sp,8
¡¡¡¡¡¡¡¡xld.w¡¡%r12,vbuff
¡¡¡¡¡¡¡¡ld.w¡¡%r13,0x0
¡¡¡¡¡¡¡¡xld.w¡¡%r14,0x00002c00
¡¡¡¡¡¡¡¡xcall¡¡memset
¡¡¡¡¡¡¡¡xld.w¡¡%r12,0x00000002
¡¡¡¡¡¡¡¡xcall¡¡pceFontSetType
¡¡¡¡¡¡¡¡ld.w¡¡%r12,0x0
¡¡¡¡¡¡¡¡ld.w¡¡%r13,%r12
¡¡¡¡¡¡¡¡xcall¡¡pceFontSetPos
¡¡¡¡¡¡¡¡xld.w¡¡%r10,__LC0
¡¡¡¡¡¡¡¡xld.w¡¡[%sp],%r10
¡¡¡¡¡¡¡¡xld.w¡¡%r10,0x00000010¡¡¡¡¡¡¡¡; 0x00000010(16) = sizeof(MMC_CID_INFO)
¡¡¡¡¡¡¡¡xld.w¡¡[%sp+4],%r10
¡¡¡¡¡¡¡¡xcall¡¡pceFontPrintf
¡¡¡¡¡¡¡¡xld.w¡¡%r2,__LC1
¡¡¡¡¡¡¡¡xld.w¡¡%r0,cid
¡¡¡¡¡¡¡¡xadd¡¡%r1,%r0,15
__L6:
¡¡¡¡¡¡¡¡xld.w¡¡[%sp],%r2
¡¡¡¡¡¡¡¡xld.ub¡¡%r10,[%r0]
¡¡¡¡¡¡¡¡xld.w¡¡[%sp+4],%r10
¡¡¡¡¡¡¡¡xcall¡¡pceFontPrintf
¡¡¡¡¡¡¡¡xadd¡¡%r0,%r0,1
¡¡¡¡¡¡¡¡cmp¡¡%r0,%r1
¡¡¡¡¡¡¡¡xjrule¡¡__L6
¡¡¡¡¡¡¡¡xcall¡¡pceLCDTrans
¡¡¡¡¡¡¡¡xadd¡¡%sp,%sp,8
¡¡¡¡¡¡¡¡popn¡¡%r2
¡¡¡¡¡¡¡¡ret
sizeof(MMC_CID_INFO)¤ÎÃͤ¬¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¤Ï¥Ñ¥Ç¥£¥ó¥°¹þ¤ß¤Ç20¥Ð¥¤¥È¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Î¾ì¹ç¤Ï16¥Ð¥¤¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
P/ECE³«È¯´Ä¶¤ÎC¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¤È̵¤·¤Î¾ì¹ç¤È¤Ç¡¢¹½Â¤ÂÎ¥µ¥¤¥º¤Î°ã¤¤¤ò¤¤Á¤ó¤È½èÍý¤Ç¤¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£
¹½Â¤ÂÎ¥µ¥¤¥º¤¬ÊѲ½¤¹¤ë¤³¤È°Ê³°¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¤â̵¤·¤Î¾ì¹ç¤â¡¢¤Þ¤Ã¤¿¤¯Æ±¤¸¥³¥ó¥Ñ¥¤¥ë·ë²Ì¤Ç¤¹¡£
ÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¤½¤ì¤Ç¤Ï¡¢Á°È¾Éôʬ¤Î¡¢½é´ü²½ºÑ¤ß¹½Â¤ÂΤÎÄêµÁ¤¬¤É¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Æ¤¤¤ë¤«¸«¤Æ¤ß¤Þ¤¹¡£
ºÇ½é¤Ë¡¢__attribute__((packed))¤ò»ØÄꤷ¤Ê¤¤¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê]
; //CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
; typedef struct tag_MMC_CID_INFO
; {
; ¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
; ¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
; ¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 4, 6: Product name(48bit)
; ¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 1: Product revision(8bit)
; ¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +12, 4: Product serial number(32bit)
; ¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +16, 1: Manufacturing date(8bit)
; ¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
; } __attribute__((packed)) MMC_CID_INFO; // =20
;
; MMC_CID_INFO cid = {
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
; ¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
; ¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 4, 6: Product name(48bit)
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// +10, 1: Product revision(8bit)
; ¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +12, 4: Product serial number(32bit)
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +16, 1: Manufacturing date(8bit)
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
; };
;
; ¤ÎÉôʬ¤¬¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡.align¡¡2
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.space¡¡1
¡¡¡¡¡¡¡¡.half¡¡ 65535
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.space¡¡1
¡¡¡¡¡¡¡¡.word¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.space¡¡2
¼¡¤Ë¡¢__attribute__((packed))¤ò»ØÄꤷ¤¿¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Î¾ì¹ç¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·]
; //CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
; typedef struct tag_MMC_CID_INFO
; {
; ¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
; ¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
; ¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 3, 6: Product name(48bit)
; ¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
; ¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
; ¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
; ¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
; } __attribute__((packed)) MMC_CID_INFO; // =16
;
; MMC_CID_INFO cid = {
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
; ¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
; ¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 3, 6: Product name(48bit)
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// + 9, 1: Product revision(8bit)
; ¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +10, 4: Product serial number(32bit)
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +14, 1: Manufacturing date(8bit)
; ¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
; };
;
; ¤ÎÉôʬ¤¬¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡.align¡¡2
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.half¡¡ 65535
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.word¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¤ª¤ä¡©°ì¸«ÌäÂê¤Ê¤¤¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£
¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¥³¥á¥ó¥È¤ËÉÕ¤±¤Æ¤ß¤Þ¤·¤ç¤¦¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê]
¡¡¡¡¡¡¡¡.align¡¡2¡¡¡¡¡¡¡¡; ¼¡¤Î°ÌÃÖ¤¬³Î¼Â¤Ë(1<<2)=4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¤Ë¤¹¤ë¡£
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡¡¡¡¡.space¡¡1¡¡¡¡¡¡¡¡; // (¥Ñ¥Ç¥£¥ó¥°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 1:
¡¡¡¡¡¡¡¡.half¡¡ 65535¡¡¡¡; // unsigned short¡¡usOID;¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucPNM[6]; // + 4, 6: Product name(48bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucPRV;¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡¡¡¡¡.space¡¡1¡¡¡¡¡¡¡¡; // (¥Ñ¥Ç¥£¥ó¥°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +11, 1:
¡¡¡¡¡¡¡¡.word¡¡ -1¡¡¡¡¡¡ ; // unsigned long¡¡ ulPSN;¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucMDT;¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucCRC;¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
¡¡¡¡¡¡¡¡.space¡¡2¡¡¡¡¡¡¡¡; // (¥Ñ¥Ç¥£¥ó¥°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +18, 2:
¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Ï¡¢´°Á´¤ËÌäÂꤢ¤ê¤Þ¤»¤ó¡£
Á°²ó¹Ô¤Ã¤¿P/ECE¾å¤Ç¤Î¥Æ¥¹¥È¤Ç¤â¡¢´üÂÔÄ̤ê¤Î¼Â¹Ô·ë²Ì¤È¤Ê¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤â¤¦¸¡Æ¤¤¹¤ëɬÍפϤʤµ¤½¤¦¤Ç¤¹¡£
ÌäÂê¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Î¾ì¹ç¤Ç¤¹¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·]
¡¡¡¡¡¡¡¡.align¡¡2¡¡¡¡¡¡¡¡; ¼¡¤Î°ÌÃÖ¤¬³Î¼Â¤Ë(1<<2)=4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¤Ë¤¹¤ë¡£
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡¡¡¡¡.half¡¡ 65535¡¡¡¡; // unsigned short¡¡usOID;¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucPNM[6]; // + 3, 6: Product name(48bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucPRV;¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡¡¡¡¡.word¡¡ -1¡¡¡¡¡¡ ; // unsigned long¡¡ ulPSN;¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucMDT;¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucCRC;¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
¥³¥ó¥Ñ¥¤¥ë·ë²Ì¤Î¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤ò¸«¤ë¸Â¤ê¤Ï¡¢ÌäÂê̵¤µ¤½¤¦¤Ë¸«¤¨¤Þ¤¹¡£
¤¬¡¢¼Â¤Ï¡¢¾å¤Î¥³¥á¥ó¥È¤Î¤è¤¦¤Ê¥á¥â¥êÇÛÃ֤ˤϤʤé¤Ê¤¤¤Î¤Ç¤¹¡£
¡Ø¥¢¥»¥ó¥Ö¥é¤Ë¤â°ÅÌۤΥ¢¥é¥¤¥á¥ó¥Èµ¡Ç½¤¬¤¢¤ë¡Ù¤È¤¤¤¦¤Î¤¬¤½¤ÎÍýͳ¤Ç¤¹¡£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¢£¥¢¥»¥ó¥Ö¥é¤Î¥¢¥é¥¤¥á¥ó¥Èµ¡Ç½¢£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
P/ECE³«È¯´Ä¶¤ËÆþ¤Ã¤Æ¤¤¤ë¡¢¡ÖS1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸ Ver.4¡×¤Î¥Þ¥Ë¥å¥¢¥ë¤ò³«¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
(C:\usr\PIECE\docs\datasheet\EPSON\S5U1C33000C_J.pdf)
¥Þ¥Ë¥å¥¢¥ë171¥Ú¡¼¥¸(PDF¤Ç¤Ï187¥Ú¡¼¥¸ÌÜ)¡¢¡Ö11.8.6 ¥Ç¡¼¥¿ÄêµÁµ¼»÷Ì¿Îá¡×¤Î¤È¤³¤í¤Ë¡¢¼¡¤Î¤è¤¦¤Êµ½Ò¤¬¤¢¤ê¤Þ¤¹¡£
.wordµ¼»÷Ì¿Îá
¡üÃí°Õ»ö¹à
¡¦ÄêµÁ¤·¤¿¥Ç¡¼¥¿¤ÏľÁ°¤Ë.alignÌ¿Î᤬¤Ê¤¤¸Â¤ê¡¢¥ï¡¼¥É¶³¦¥¢¥É¥ì¥¹¤«¤éÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
¡¡¸½ºß°ÌÃÖ¤¬¥ï¡¼¥É¶³¦¥¢¥É¥ì¥¹°Ê³°¤Î¾ì¹ç¡¢¥Ç¡¼¥¿¤òÇÛÃÖ¤¹¤ë¥ï¡¼¥É¶³¦¥¢¥É¥ì¥¹¤Þ¤Ç¤Î´Ö¤Ï0x00¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
.halfµ¼»÷Ì¿Îá
¡üÃí°Õ»ö¹à
¡¦ÄêµÁ¤·¤¿¥Ç¡¼¥¿¤ÏľÁ°¤Ë.alignÌ¿Î᤬¤Ê¤¤¸Â¤ê¡¢¥Ï¡¼¥Õ¥ï¡¼¥É¶³¦¥¢¥É¥ì¥¹¤«¤éÇÛÃÖ¤µ¤ì¤Þ¤¹¡£
¡¡¸½ºß°ÌÃÖ¤¬´ñ¿ô¥¢¥É¥ì¥¹¤Î¾ì¹ç¡¢¸½ºß°ÌÃ֤ˤÏ0x00¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
¤³¤ì¤Ç¤¹!!
¤Ä¤Þ¤ê¡¢¥³¥ó¥Ñ¥¤¥ë·ë²Ì¤Î¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤¬as33.exe¤Ë¤è¤Ã¤Æ¥¢¥»¥ó¥Ö¥ë¤µ¤ì¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¥á¥â¥êÇÛÃ֤ˤʤäƤ¤¤¿¤Î¤Ç¤¹¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·]
¡¡¡¡¡¡¡¡.align¡¡2¡¡¡¡¡¡¡¡; ¼¡¤Î°ÌÃÖ¤¬³Î¼Â¤Ë(1<<2)=4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¤Ë¤¹¤ë¡£
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡¡¡¡¡(0x00)¡¡¡¡¡¡¡¡¡¡ ; // (¥Ñ¥Ç¥£¥ó¥°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 1:
¡¡¡¡¡¡¡¡.half¡¡ 65535¡¡¡¡; // unsigned short¡¡usOID;¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucPNM[6]; // + 4, 6: Product name(48bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucPRV;¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡¡¡¡¡(0x00)¡¡¡¡¡¡¡¡¡¡ ; // (¥Ñ¥Ç¥£¥ó¥°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +11, 1:
¡¡¡¡¡¡¡¡.word¡¡ -1¡¡¡¡¡¡ ; // unsigned long¡¡ ulPSN;¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucMDT;¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡; // unsigned char¡¡ ucCRC;¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
¹½Â¤ÂÎËöÈø¤Î¥Ñ¥Ç¥£¥ó¥°¤¬¹Í褵¤ì¤Ê¤¤¤³¤È¤ò½ü¤±¤Ð¡¢¤³¤Î¥á¥â¥êÇÛÃÖ¤ÏC¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¬¹Ô¤ï¤ì¤¿¾ì¹ç¤ÈƱ¤¸¤Ç¤¹¡£
__attribute__((packed))¤¬»ØÄꤵ¤ì¤¿»þ¡¢C¥³¥ó¥Ñ¥¤¥é¤ÏÌÀ¼¨Åª¤Ê¥Ñ¥Ç¥£¥ó¥°(.spaceµ¼»÷Ì¿Îá)¤Î¥³¡¼¥É½ÐÎϤò¾Ê¤¤¤Æ¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò̵¤¯¤·¤¿¤Ä¤â¤ê¤Ç¤¤¤ë¤Î¤Ç¤¹¤¬¡¢
¼ÂºÝ¤Ë¤Ï¥¢¥»¥ó¥Ö¥é¤Ë¤è¤Ã¤Æ¥Õ¥£¡¼¥ë¥Éñ°Ì¤Î¥¢¥é¥¤¥á¥ó¥È¤¬¹Ô¤ï¤ì¤Æ¤·¤Þ¤¤¡¢·ë²Ì¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¤ÈƱ¤¸¥á¥â¥êÇÛÃ֤ˤʤäƤ·¤Þ¤Ã¤Æ¤¤¤¿¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
¤Ç¤Ï¡¢¤É¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¥³¡¼¥É½ÐÎϤʤé¤Ð¡¢Àµ¤·¤¯¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Î¥á¥â¥êÇÛÃ֤ˤʤë¤Î¤Ç¤·¤ç¤¦¤«¡©
.alignµ¼»÷Ì¿Î᤬¡¢Visual C++¤Ë¤ª¤±¤ë#pragma pack¤ß¤¿¤¤¤Ê¤â¤Î¤À¤È¹Í¤¨¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤ò»×¤¤¤Ä¤¤Þ¤¹¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Ë¤¹¤ë¤Ë¤Ï¡©]
¡¡¡¡¡¡¡¡.align¡¡0¡¡¡¡¡¡¡¡; ¼¡¤Î°ÌÃÖ¤¬(1<<0)=1¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¤Ë¤¹¤ë¡£
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.half¡¡ 65535
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.word¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¤¬¡¢¤³¤ì¤Ç¤Ï¥À¥á¤Ç¤¹¡£
¼ÂºÝ¤Ë¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤ß¤Æ¡¢¤³¤ì¤Ç¤Ï¥À¥á¤Ê¤³¤È¤ò³Îǧ¤·¤Þ¤·¤¿¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Ë¤¹¤ë¤Ë¤Ï¡©(¼ºÇÔÎã)]
#include
unsigned char vbuff[128 * 88];
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 3, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} __attribute__((packed)) MMC_CID_INFO; // =16
//½é´ü²½ºÑ¤ß¹½Â¤ÂΤÎÄêµÁ¤ò¡¢¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é¤Ç½ñ¤Ä¾¤·¤Æ¤ß¤Þ¤¹¡£
extern MMC_CID_INFO cid;
asm("
¡¡¡¡¡¡¡¡.align¡¡0¡¡¡¡¡¡¡¡; ¼¡¤Î°ÌÃÖ¤¬(1<<0)=1¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¤Ë¤¹¤ë¡£
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.half¡¡ 65535
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.word¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
");
void pceAppInit()
{
¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡pceLCDDispStart();
}
void pceAppProc(int count)
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡memset(vbuff, 0, sizeof vbuff);
¡¡¡¡pceFontSetType(2);
¡¡¡¡pceFontSetPos(0, 0);
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡pceLCDTrans();
}
void pceAppExit()
{
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff 00 ff ff ff ff ff ff ff ff ff 00 ff ff ff ff
-------------------------------------------------------------------------------------------
C¸À¸ì¤Ç½ñ¤¤¤¿¾ì¹ç¤Î¡¢¸í¤Ã¤¿½ÐÎÏ·ë²Ì¤ÈÊѤï¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
¤Ê¤¼¥À¥á¤«¡¢¥Þ¥Ë¥å¥¢¥ë174¥Ú¡¼¥¸(PDF¤Ç¤Ï190¥Ú¡¼¥¸ÌÜ)¤Î¡¢.alignµ¼»÷Ì¿Îá¤ÎÀâÌÀ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£
.alignµ¼»÷Ì¿Îá
¡üµ¡Ç½
¡¡¤³¤Îµ¼»÷Ì¿Îá¤Îľ¸å¤Ë½Ð¸½¤¹¤ë¥Ç¡¼¥¿¤ò£²¡°£Î¥Ð¥¤¥È¶³¦¤Ë¥¢¥é¥¤¥á¥ó¥È¤·¤Þ¤¹(£Î¡á¶³¦»ØÄêÃÍ)¡£
¡üÃí°Õ»ö¹à
¡¡.alignµ¼»÷Ì¿Îá¤Ïľ¸å¤Ë¤¢¤ë¥Ç¡¼¥¿ÄêµÁµ¼»÷Ì¿Îá¤ËÂФ·¤Æ¤Î¤ß͸ú¤Ç¤¹¡£
¡¡¤·¤¿¤¬¤Ã¤Æ¡¢¥¢¥é¥¤¥á¥ó¥È¤¬É¬Íפʥǡ¼¥¿¤òÄêµÁ¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢¥Ç¡¼¥¿ÄêµÁµ¼»÷Ì¿Îá¸Ä¡¹¤Ë.alignµ¼»÷Ì¿Îá¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤¦¡¢.alignµ¼»÷Ì¿Îá¤Ï¡ØÄ¾¸å¤Î¡Ù¥Ç¡¼¥¿ÄêµÁµ¼»÷Ì¿Îá¤ËÂФ·¤Æ¤·¤«¡¢¸ú²Ì¤¬¤Ê¤¤¤Î¤Ç¤¹¡£
ľ¸å¤è¤ê¤¦¤·¤í¤Î¥Ç¡¼¥¿ÄêµÁµ¼»÷Ì¿Îá¤Ï¡¢Ä̾ï¤É¤ª¤ê¡¢°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤¬¤Ê¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡.align¡¡0¡¡¡¡¡¡¡¡; ¼¡¤Î°ÌÃÖ¤¬(1<<0)=1¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¤Ë¤¹¤ë¡£
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.half¡¡ 65535¡¡¡¡; ¤³¤³¤«¤é¸å¤í¤Ï¡¢Ä̾ï¤É¤ª¤ê¡¢°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤¬¤Ê¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.word¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
ľ¸å¤Î¥Ç¡¼¥¿µ¼»÷Ì¿Îá¤ËÂФ·¤Æ.align¤¬Í¸ú¤À¤È¤¦¤¤¤¦¤Î¤Ê¤é¤Ð¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤±¤Ð¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡©
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Ë¤¹¤ë¤Ë¤Ï¡©]
¡¡¡¡¡¡¡¡.align¡¡2¡¡¡¡¡¡¡¡; ¹½Â¤ÂΤÎÀèÆ¬¤ò4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤á¤ë¤¿¤á¤Ë¡¢ÀèÆ¬¤Î.align 2¤ÏɬÍ×!!
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.align¡¡0¡¡¡¡¡¡¡¡; ¼¡¤Î.half¤Î°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ë¡£
¡¡¡¡¡¡¡¡.half¡¡ 65535
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.align¡¡0¡¡¡¡¡¡¡¡; ¼¡¤Î.word¤Î°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ë¡£
¡¡¡¡¡¡¡¡.word¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¤½¤ì¤Ç¤Ï¡¢¤â¤¦¤¤¤Á¤É¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ»î¤·¤Æ¤ß¤Þ¤¹¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Ë¤¹¤ë¤Ë¤Ï¡©(¼ºÇÔÎã)]
#include
unsigned char vbuff[128 * 88];
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 3, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} __attribute__((packed)) MMC_CID_INFO; // =16
//½é´ü²½ºÑ¤ß¹½Â¤ÂΤÎÄêµÁ¤ò¡¢¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é¤Ç½ñ¤Ä¾¤·¤Æ¤ß¤Þ¤¹¡£
extern MMC_CID_INFO cid;
asm("
¡¡¡¡¡¡¡¡.align¡¡2¡¡¡¡¡¡¡¡; ¹½Â¤ÂΤÎÀèÆ¬¤ò4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤á¤ë¤¿¤á¤Ë¡¢ÀèÆ¬¤Î.align 2¤ÏɬÍ×!!
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.align¡¡0¡¡¡¡¡¡¡¡; ¼¡¤Î.half¤Î°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ë¡£
¡¡¡¡¡¡¡¡.half¡¡ 65535
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.align¡¡0¡¡¡¡¡¡¡¡; ¼¡¤Î.word¤Î°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ë¡£
¡¡¡¡¡¡¡¡.word¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ 255
¡¡¡¡¡¡¡¡.byte¡¡ 255
");
void pceAppInit()
{
¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡pceLCDDispStart();
}
void pceAppProc(int count)
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡memset(vbuff, 0, sizeof vbuff);
¡¡¡¡pceFontSetType(2);
¡¡¡¡pceFontSetPos(0, 0);
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡pceLCDTrans();
}
void pceAppExit()
{
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff 00 ff ff ff ff ff ff ff ff ff 00 ff ff ff ff
-------------------------------------------------------------------------------------------
¤ä¤Ã¤Ñ¤ê¥À¥á¤Ç¤¹¡£
²¿Ä̤꤫»î¤·¤¿·ë²Ì¡¢¤É¤¦¤ä¤é.alignµ¼»÷Ì¿Îá¤Ï¡Ö¥Ñ¥Ç¥£¥ó¥°¤òÁý¤ä¤¹¤³¤È¤Ï¤Ç¤¤ë¤¬¸º¤é¤¹¤³¤È¤Ï¤Ç¤¤Ê¤¤¡×¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
¤¿¤È¤¨¤Ð¡¢Ä̾.byteµ¼»÷Ì¿Îá¤Ë¤Ï°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤¬¡¢¹½Â¤ÂΤÎÀèÆ¬¥Õ¥£¡¼¥ë¥É¤¬unsigned char·¿¤Ç¤¢¤ë¤è¤¦¤Ê¾ì¹ç¤Ê¤É¡¢unsigned charÃͤò¶¯À©Åª¤Ë4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤ËÃÖ¤¤¿¤¤¾ì¹ç¤Ë¡¢
.byteµ¼»÷Ì¿Îá¤ÎÁ°¤Ë.align 2¤ò»ØÄꤷ¤¿¤ê¤¹¤ë¤ï¤±¤Ç¡¢¤³¤Î¤è¤¦¤Ê.alignµ¼»÷Ì¿Îá¤Î»È¤¤Êý¤Ï£Ï£Ë¤Ç¤¹¡£
¤¬¡¢µÕ¤Ë¡¢¤â¤È¤â¤È°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤Ë¤è¤Ã¤Æ.halfµ¼»÷Ì¿Îá¤ä.wordµ¼»÷Ì¿Îá¤ÎľÁ°¤Ë¥Ñ¥Ç¥£¥ó¥°¤¬Äɲäµ¤ì¤Æ¤¤¤¿¤â¤Î¤È¤·¤Æ¡¢
¤½¤Î¥Ñ¥Ç¥£¥ó¥°¤ò¼è¤ê½ü¤¯¤¿¤á¤Ë.align 0¤ò»ØÄꤷ¤Æ¤â¡¢¤½¤ì¤Ï̵»ë¤µ¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£
°Ê¾å¤Î¿¶¤ëÉñ¤¤¤Ï¥Þ¥Ë¥å¥¢¥ë¤Ë¤ÏºÜ¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹¤±¤ì¤É¡¢¤Þ¤¢¡¢´¶³ÐŪ¤ËÍý²ò¤Ç¤¤Ê¤¯¤â¤¢¤ê¤Þ¤»¤ó¡£
¤½¤ó¤Ê¤ï¤±¤Ç·ë¶É¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤è¤ë°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë1¥Ð¥¤¥È¤Å¤ÄÄêµÁ¤¹¤ë¤·¤«¤Ê¤¤¤ß¤¿¤¤¤Ç¤¹¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Ë¤¹¤ë¤Ë¤Ï¡©(¤¤¤Á¤ª¤¦À®¸ùÎã¤Ç¤¹¤¬¡Ä)]
#include
unsigned char vbuff[128 * 88];
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 3, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} __attribute__((packed)) MMC_CID_INFO; // =16
//½é´ü²½ºÑ¤ß¹½Â¤ÂΤÎÄêµÁ¤ò¡¢¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é¤Ç½ñ¤Ä¾¤·¤Æ¤ß¤Þ¤¹¡£
extern MMC_CID_INFO cid;
asm("
¡¡¡¡¡¡¡¡.align¡¡2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; ¹½Â¤ÂΤÎÀèÆ¬¤ò4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤«¤é»Ï¤á¤ë¤¿¤á¤Ë¡¢ÀèÆ¬¤Î.align 2¤ÏɬÍ×!!
cid:
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡; // + 0, 1: ManufactureID(8bit)
¡¡¡¡¡¡¡¡.byte 255,255¡¡¡¡¡¡¡¡¡¡; // + 1, 2: OEM/Application ID(16bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡; // + 3, 6: Product name(48bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡; // + 9, 1: Product revision(8bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255,255,255,255¡¡; // +10, 4: Product serial number(32bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡; // +14, 1: Manufacturing date(8bit)
¡¡¡¡¡¡¡¡.byte¡¡ 255¡¡¡¡¡¡¡¡¡¡¡¡¡¡; // +15, 1: 7-bit CRC checksum(7bit)
");
void pceAppInit()
{
¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡pceLCDDispStart();
}
void pceAppProc(int count)
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡memset(vbuff, 0, sizeof vbuff);
¡¡¡¡pceFontSetType(2);
¡¡¡¡pceFontSetPos(0, 0);
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡pceLCDTrans();
}
void pceAppExit()
{
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
-------------------------------------------------------------------------------------------
short¤äint¤Î¥Õ¥£¡¼¥ë¥É¤ò¡¢¿Í¼ê¤Ç1¥Ð¥¤¥È¤Å¤Äʬ²ò¤·¤ÆÄêµÁ¤¹¤ë¤È¤¤¤¦¤Î¤ÏÁ´¤¯¸½¼ÂŪ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢
C¥³¥ó¥Ñ¥¤¥é¤¬¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤ò¼«Æ°À¸À®¤¹¤ëʬ¤Ë¤Ï¡¢¤ä¤Ã¤Æ¤¯¤ì¤Æ¤âÎɤµ¤½¤¦¤Ë»×¤¨¤Þ¤¹¤¬....
¤¿¤Ö¤ó¡¢EPSON¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤Î¤è¤¦¤Ê¥±¡¼¥¹¤òÁÛÄꤷ¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤À¤È»×¤¤¤Þ¤¹¡£
;Ã̤Ǥ¹¤¬¡¢Linux PC¾å¤ÇGCC¤ò»È¤Ã¤¿¾ì¹ç¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¤Î¾ì¹ç¤Ë¼¡¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
cid:
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.value¡¡-1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.long¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
¡¡¡¡¡¡¡¡.byte¡¡ -1
ºÇ½é¤Ë¸«¤¿¡¢P/ECE¾å¤Ç¤Î¸í¤Ã¤¿Îã¤ÈƱ¤¸¤Ë¸«¤¨¤Þ¤¹¤¬¡¢PC¤Î¾ì¹ç¤Ï¤³¤ì¤ÇÂç¾æÉפʤΤǤ¹¡£
Linux PC¤Î¥¢¥»¥ó¥Ö¥é¤ÏP/ECE¤Î¥¢¥»¥ó¥Ö¥é¤È°ã¤Ã¤Æ¡¢½é´ü¾õÂ֤ǤϰÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤ò¹Ô¤ï¤Ê¤¤¤ß¤¿¤¤¤Ç¤¹¡£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¢£¹½Â¤ÂΥѥ寤ò»È¤Ã¤Æ¤âÂç¾æÉפʥ±¡¼¥¹¢£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
°Ê¾å¤Î¤è¤¦¤Ë¡¢P/ECE³«È¯´Ä¶¤Ç¤Ï__attribute__((packed))¤Ë¤è¤ë¹½Â¤ÂΥѥ寤¬¤«¤Ê¤êÂ礤ÊÌäÂê¤òÊú¤¨¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£
Ä̾¡Ö»È¤ï¤Ê¤¤¤Û¤¦¤¬Îɤ¤¡×¤Î¤Ï´Ö°ã¤¤¤¢¤ê¤Þ¤»¤ó¡£
¤¬¡¢¤Þ¤Ã¤¿¤¯»È¤¨¤Ê¤¤¤«¤È¤¤¤¦¤È¤½¤¦¤Ç¤â¤Ê¤¯¤Æ¡¢¤è¤¯Ãí°Õ¤·¤Æ»È¤¨¤ÐÌò¤ËΩ¤Ä¥±¡¼¥¹¤â¤¢¤ê¤Þ¤¹¡£
¤«¤Ê¤êºÙ¤«¤¤Ïäˤʤê¤Þ¤¹¤Î¤Ç¡¢É¬Íפʤ±¤ì¤ÐÆÉ¤ßÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
¡½é´üºÑ¤ß¹½Â¤ÂΤò»È¤ï¤Ê¤¤¥±¡¼¥¹
¤Ò¤È¤Ä¤á¤Ï¡¢½é´ü²½ºÑ¤ß¹½Â¤ÂΤò»È¤ï¤Ê¤¤¤³¤È¤¬³Î¼Â¤Ë¤ï¤«¤Ã¤Æ¤¤¤ë¥±¡¼¥¹¤Ç¤¹¡£
P/ECE¾å¤ÇÀµ¤·¤¯Æ°ºî¤·¤Ê¤«¤Ã¤¿C¸À¸ì¥×¥í¥°¥é¥à¤ò¡¢½é´ü²½ºÑ¤ß¹½Â¤ÂΤò»È¤ï¤Ê¤¤¤è¤¦¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤´¹¤¨¤Æ¤ß¤Þ¤·¤¿¡£
[¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·¡¢½é´ü²½ºÑ¤ß¹½Â¤ÂΤò»È¤ï¤Ê¤¤]
#include
unsigned char vbuff[128 * 88];
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 3, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} __attribute__((packed)) MMC_CID_INFO; // =16
MMC_CID_INFO cid;
void pceAppInit()
{
¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡pceLCDDispStart();
}
void pceAppProc(int count)
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡//¹½Â¤ÂÎ¥Õ¥£¡¼¥ë¥É¤ËÃͤò¤Ò¤È¤Ä¤Å¤Ä³ÊǼ
¡¡¡¡cid.ucMID = 0xff;
¡¡¡¡cid.usOID = 0xffff;
¡¡¡¡cid.ucPNM[0] = 0xff;
¡¡¡¡cid.ucPNM[1] = 0xff;
¡¡¡¡cid.ucPNM[2] = 0xff;
¡¡¡¡cid.ucPNM[3] = 0xff;
¡¡¡¡cid.ucPNM[4] = 0xff;
¡¡¡¡cid.ucPNM[5] = 0xff;
¡¡¡¡cid.ucPRV = 0xff;
¡¡¡¡cid.ulPSN = 0xffffffff;
¡¡¡¡cid.ucMDT = 0xff;
¡¡¡¡cid.ucCRC = 0xff;
¡¡¡¡memset(vbuff, 0, sizeof vbuff);
¡¡¡¡pceFontSetType(2);
¡¡¡¡pceFontSetPos(0, 0);
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡pceLCDTrans();
}
void pceAppExit()
{
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
-------------------------------------------------------------------------------------------
Àµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤·¤¿¡£
½é´ü²½ºÑ¤ß¹½Â¤ÂΤξì¹ç¤Ï¥Õ¥£¡¼¥ë¥É¤Ò¤È¤Ä¤Ò¤È¤Ä¤¬¥Ç¡¼¥¿ÄêµÁµ¼»÷Ì¿Îá¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¤¿¤á¡¢Á°½Ò¤Î¤è¤¦¤Ê°ÅÌۤΥ¢¥é¥¤¥á¥ó¥ÈÌäÂ꤬ȯÀ¸¤·¤¿¤ï¤±¤Ç¤¹¤¬¡¢
̤½é´ü²½¹½Â¤ÂΤξì¹ç¤Ï¥Õ¥£¡¼¥ë¥É¤Ò¤È¤Ä¤Ò¤È¤Ä¤ËÂбþ¤¹¤ëµ¼»÷Ì¿Î᤬À¸À®¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
.comm¡¡¡¡cid 16¡¡¡¡; 16¥Ð¥¤¥È¤Î¥°¥í¡¼¥Ð¥ëÊÑ¿ôÎΰè¤ò³ÎÊݤ»¤è¡¢¤È¤¤¤¦°ÕÌ£
¹½Â¤ÂÎ¥Õ¥£¡¼¥ë¥É¤ËÃͤò¤Ò¤È¤Ä¤Å¤Ä³ÊǼ¤¹¤ëÉôʬ¤ÎC¸À¸ì¥×¥í¥°¥é¥à¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£(ÆÉ¤àɬÍפʤ¤¤Ç¤¹(^^;)
xld.w¡¡¡¡%r0,cid
xld.w¡¡¡¡%r10,0x000000ff
xld.b¡¡¡¡[%r0],%r10¡¡¡¡¡¡¡¡¡¡; + 0, 1: ManufactureID(8bit)
xld.ub¡¡ %r11,[%r0+1]¡¡¡¡¡¡¡¡; + 1, 2: OEM/Application ID(16bit) (¼ê½ç¤Ë̵Â̤¬¤¢¤ê¤Þ¤¹¤¬¡¢´Ö°ã¤¤¤Ç¤Ï¤Ê¤¤¤Ç¤¹)
or¡¡¡¡¡¡ %r11,%r10
xld.b¡¡¡¡[%r0+1],%r11
xld.ub¡¡ %r11,[%r0+2]
or¡¡¡¡¡¡ %r11,%r10
xld.b¡¡¡¡[%r0+2],%r11
xld.b¡¡¡¡[%r0+3],%r10¡¡¡¡¡¡¡¡; + 3, 6: Product name(48bit)
xld.b¡¡¡¡[%r0+4],%r10
xld.b¡¡¡¡[%r0+5],%r10
xld.b¡¡¡¡[%r0+6],%r10
xld.b¡¡¡¡[%r0+7],%r10
xld.b¡¡¡¡[%r0+8],%r10
xld.b¡¡¡¡[%r0+9],%r10¡¡¡¡¡¡¡¡; + 9, 1: Product revision(8bit)
xld.ub¡¡ %r11,[%r0+10]¡¡¡¡¡¡ ; +10, 4: Product serial number(32bit) (¼ê½ç¤Ë̵Â̤¬¤¢¤ê¤Þ¤¹¤¬¡¢´Ö°ã¤¤¤Ç¤Ï¤Ê¤¤¤Ç¤¹)
or¡¡¡¡¡¡ %r11,%r10
xld.b¡¡¡¡[%r0+10],%r11
xld.ub¡¡ %r11,[%r0+11]
or¡¡¡¡¡¡ %r11,%r10
xld.b¡¡¡¡[%r0+11],%r11
xld.ub¡¡ %r11,[%r0+12]
or¡¡¡¡¡¡ %r11,%r10
xld.b¡¡¡¡[%r0+12],%r11
xld.ub¡¡ %r11,[%r0+13]
or¡¡¡¡¡¡ %r11,%r10
xld.b¡¡¡¡[%r0+13],%r11
xld.b¡¡¡¡[%r0+14],%r10¡¡¡¡¡¡ ; +14, 1: Manufacturing date(8bit)
xadd¡¡¡¡ %r1,%r0,15¡¡¡¡¡¡¡¡¡¡; +15, 1: 7-bit CRC checksum(7bit)
xld.b¡¡¡¡[%r1],%r10
C¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¥Ñ¥Ã¥¯¤µ¤ì¤¿¹½Â¤ÂΤγƥե£¡¼¥ë¥É¤ÎÀµ¤·¤¤¥ª¥Õ¥»¥Ã¥È¤òǧ¼±¤·¤Æ¤¤¤ë¤Î¤Ç¡¢Àµ¤·¤¤¥³¡¼¥É¤¬À¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£(¤Á¤ç¤Ã¤È̵Â̤¢¤ê¤Þ¤¹¤±¤ì¤É)
¤¤¤Þ¾å¤Ç¼¨¤·¤¿¥×¥í¥°¥é¥àÎã¤Î¤è¤¦¤Ê¡¢¹½Â¤ÂΤγƥե£¡¼¥ë¥É¤ò¥×¥í¥°¥é¥à¤Ç¤Ò¤È¤Ä¤Å¤Ä½é´ü²½¤¹¤ë¥±¡¼¥¹¤Ë²Ã¤¨¤Æ¡¢
¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤À¤ê¥Ç¥Ð¥¤¥¹¤«¤é¥Ð¥¤¥ÈÎó¤ò¼õ¿®¤·¤Æ¡¢¤½¤Î¤Þ¤Þ¹½Â¤ÂÎÊÑ¿ô¤Ë³ÊǼ¤¹¤ë¥±¡¼¥¹¤Ç¤â¡¢½é´ü²½ºÑ¤ß¹½Â¤ÂΤò»È¤¦É¬Íפ¬¤Ê¤¤¤Î¤Ç£Ï£Ë¤Ç¤¹¡£
¢¹½Â¤ÂÎËöÈø¤Î¥Ñ¥Ç¥£¥ó¥°¤À¤±¤ò½üµî¤¹¤ë¾ì¹ç
¤â¤È¤â¤È¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Î¾ì¹ç¤Ë¤â¥Õ¥£¡¼¥ë¥É´Ö¤Ë¤Ï¥Ñ¥Ç¥£¥ó¥°¤¬¤Ê¤¯¤Ã¤Æ¡¢¹½Â¤ÂÎËöÈø¤À¤±¤Ë¥Ñ¥Ç¥£¥ó¥°¤¬¤¢¤ë¤è¤¦¤Ê¾ì¹ç¤Ë¡¢
¹½Â¤ÂÎËöÈø¤Î¥Ñ¥Ç¥£¥ó¥°¤ò¼è¤ê½ü¤¤¤Æ¤½¤Î¤Ö¤ó¹½Â¤ÂÎ¥µ¥¤¥º¤ò¾®¤µ¤¯¤·¤¿¤¤¥±¡¼¥¹¤Ç¡¢__attribute__((packed))¤¬ÍøÍѲÄǽ¤Ç¤¹¡£
¤½¤ó¤ÊÅÔ¹ç¤ÎÎɤ¤Ï䬤¢¤ë¤«¡ª¤È¸À¤ï¤ì¤½¤¦¤Ç¤¹¤¬(^^;¡¢¤¢¤ê¤Þ¤¹¡£
USB»ÅÍͤι½Â¤ÂΤǤ¹¡£
USB»ÅÍͤι½Â¤ÂΤϡ¢³Æ¥Õ¥£¡¼¥ë¥É¤Î¥ª¥Õ¥»¥Ã¥È¤Ë´Ø¤·¤Æ¤Ï¥Ñ¥Ç¥£¥ó¥°Ìµ¤·¤ÇŬÀڤʥ¢¥é¥¤¥á¥ó¥È¤Ë¤Ê¤ë¤è¤¦Äê¤á¤é¤ì¤Æ¤¤¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¤¹¤±¤ì¤É¡¢
¤Ê¤¼¤«ËöÈø¤Ë1¥Ð¥¤¥È¤Î¥Õ¥£¡¼¥ë¥É¤¬¤¢¤Ã¤¿¤ê¤·¤Æ¡¢¹½Â¤ÂΥѥå¯Ìµ¤·¤Ç¤ÏËöÈø¤Ë¥Ñ¥Ç¥£¥ó¥°¤¬ÉÕ¤¤¤Æ¤·¤Þ¤¦¤è¤¦¤Ê¥±¡¼¥¹¤¬¤è¤¯¤¢¤ë¤ß¤¿¤¤¤Ê¤Î¤Ç¤¹¡£
¤¿¤È¤¨¤Ð¡¢USBÄÌ¿®Ã¼ÅÀ¤ÎÆÃÀ¤òµ½Ò¤¹¤ë¤¿¤á¤Î¹½Â¤ÂΤȤ·¤Æ¡¢¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¤È¤¤¤¦¹½Â¤ÂΤ¬¤¢¤ê¤Þ¤¹¡£
typedef struct _ENDPOINT_DESCRIPTOR {
¡¡¡¡unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/* + 0, 1 */
¡¡¡¡unsigned char bDescriptorType;¡¡¡¡¡¡¡¡¡¡¡¡/* + 1, 1 */
¡¡¡¡unsigned char bEndpointAddress;¡¡¡¡¡¡¡¡¡¡ /* + 2, 1 */
¡¡¡¡unsigned char bAttributes;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/* + 3, 1 */
¡¡¡¡unsigned short wMaxPacketSize;¡¡¡¡¡¡¡¡¡¡¡¡ /* + 4, 2 */
¡¡¡¡unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/* + 6, 1 */
} __attribute__((packed)) ENDPOINT_DESCRIPTOR; /* = 7 */
USB¥Ç¥Ð¥¤¥¹(P/ECE¦¤Ç¤¹)¤Ï¡¢¥Ç¥Ð¥¤¥¹¤ÎÄÌ¿®ÆÃÀ¤ò¥Û¥¹¥È(PC¦¤Ç¤¹)¤ØÃΤ餻¤ë¤¿¤á¤Ë¡¢¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¥Ç¥Ð¥¤¥¹¤«¤é¥Û¥¹¥È¤ØÁ÷¿®¤·¤Þ¤¹¡£
¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÎÆâÍÆ¤¬ÊѲ½¤¹¤ë¤³¤È¤Ï¤Þ¤º¤Ê¤¤¤Î¤Ç¡¢½é´ü²½ºÑ¤ß¹½Â¤ÂΤȤ·¤Æ¤¢¤é¤«¤¸¤áÍѰդ·¤Æ¤ª¤¤Þ¤¹¡£
½é´ü²½ºÑ¤ß¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¥Ç¥Ð¥¤¥¹¤«¤é¥Û¥¹¥È¤ØÁ÷¿®¤¹¤ë¥×¥í¥°¥é¥à¤Ï¡¢¤À¤¤¤¿¤¤¼¡¤Î¤è¤¦¤Ê¤«¤ó¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
const ENDPOINT_DESCRIPTOR endpoint_desc_ep2in = {
¡¡¡¡sizeof(ENDPOINT_DESCRIPTOR),¡¡¡¡//unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡/* + 0, 1 */
¡¡¡¡ENDPOINT_DESCRIPTOR_TYPE,¡¡¡¡¡¡ //unsigned char bDescriptorType;¡¡¡¡/* + 1, 1 */
¡¡¡¡0x82,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //unsigned char bEndpointAddress;¡¡ /* + 2, 1 */
¡¡¡¡2,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bAttributes;¡¡¡¡¡¡¡¡/* + 3, 1 */
¡¡¡¡EP2_NONISO_PACKET_SIZE,¡¡¡¡¡¡¡¡ //unsigned short wMaxPacketSize;¡¡¡¡ /* + 4, 2 */
¡¡¡¡0,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡/* + 6, 1 */
};
D12_WriteEndpoint(1/*½ÐÎÏüÅÀ¤Î»ØÄê*/, &endpoint_desc_ep2in, sizeof(ENDPOINT_DESCRIPTOR));
¢¨ËÜÅö¤Ï¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¤À¤±¤òñÂΤÇÁ÷¿®¤¹¤ë¤³¤È¤Ï¤Ê¤¤¤Î¤Ç¤¹¤±¤ì¤É¡¢ÀâÌÀ¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤³¤³¤Ç¤Ï¹Í¤¨¤Ê¤¤¤³¤È¤Ë¤·¤Þ¤¹¡£
°Ê¾å¤Ï¡¢Àµ¤·¤¯Æ°ºî¤¹¤ë¥×¥í¥°¥é¥à¤ÎÎã¤Ç¤¹¡£
¤µ¤Æ¡¢¤â¤·¤âENDPOINT_DESCRIPTOR¤ÎÄêµÁ¤Î¤È¤³¤í¤Ç__attribute__((packed))¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¤é¤É¤¦¤Ê¤ë¤Ç¤·¤ç¤¦¤«¡©
typedef struct _ENDPOINT_DESCRIPTOR {
¡¡¡¡unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/* + 0, 1 */
¡¡¡¡unsigned char bDescriptorType;¡¡¡¡¡¡¡¡¡¡¡¡/* + 1, 1 */
¡¡¡¡unsigned char bEndpointAddress;¡¡¡¡¡¡¡¡¡¡ /* + 2, 1 */
¡¡¡¡unsigned char bAttributes;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/* + 3, 1 */
¡¡¡¡unsigned short wMaxPacketSize;¡¡¡¡¡¡¡¡¡¡¡¡ /* + 4, 2 */
¡¡¡¡unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡/* + 6, 1 */
¡¡¡¡(¥Ñ¥Ç¥£¥ó¥°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /* + 7, 1 */
} ENDPOINT_DESCRIPTOR;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /* = 8 */
const ENDPOINT_DESCRIPTOR endpoint_desc_ep2in = {
¡¡¡¡sizeof(ENDPOINT_DESCRIPTOR),¡¡¡¡//unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡/* + 0, 1 */ ... ËÜÅö¤Ï7¤È¤¹¤Ù¤¤Ê¤Î¤Ë¡¢8¤¬ÀßÄꤵ¤ì¤Æ¤·¤Þ¤¦!!
¡¡¡¡ENDPOINT_DESCRIPTOR_TYPE,¡¡¡¡¡¡ //unsigned char bDescriptorType;¡¡¡¡/* + 1, 1 */
¡¡¡¡0x82,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //unsigned char bEndpointAddress;¡¡ /* + 2, 1 */
¡¡¡¡2,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bAttributes;¡¡¡¡¡¡¡¡/* + 3, 1 */
¡¡¡¡EP2_NONISO_PACKET_SIZE,¡¡¡¡¡¡¡¡ //unsigned short wMaxPacketSize;¡¡¡¡ /* + 4, 2 */
¡¡¡¡0,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡/* + 6, 1 */
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//(¥Ñ¥Ç¥£¥ó¥°)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /* + 7, 1 */
};
D12_WriteEndpoint(1/*½ÐÎÏüÅÀ¤Î»ØÄê*/, &endpoint_desc_ep2in, sizeof(ENDPOINT_DESCRIPTOR));
// ËÜÅö¤Ï D12_WriteEndpoint(1, &endpoint_desc_ep2in, 7) ¤È¤¹¤Ù¤¤Ê¤Î¤Ë¡¢
// D12_WriteEndpoint(1, &endpoint_desc_ep2in, 8) ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦!!
bLength¥Õ¥£¡¼¥ë¥É¤ÎÃͤäÁ÷¿®¥Ð¥¤¥È¿ô¤¬Àµ¤·¤¯¤Ê¤¤¤¿¤á¡¢¤³¤Î¥×¥í¥°¥é¥à¤ÏÀµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£
bLength¥Õ¥£¡¼¥ë¥É¤äÁ÷¿®¥Ð¥¤¥È¿ô¤È¤·¤Æ¡¢sizeof(ENDPOINT_DESCRIPTOR)¤ò»È¤¦¤Î¤Ç¤Ï¤Ê¤¯¡¢ÌÀ¼¨Åª¤Ë"7"¤È½ñ¤±¤Ð²ò·è¤¹¤ë¤Î¤Ç¤¹¤¬¡¢
¤Ò¤È¤Ä¤Ò¤È¤Ä¤Î¹½Â¤ÂÎ¥µ¥¤¥º¤ò³Ð¤¨¤ë¤è¤ê¤â¡¢¤Ç¤¤ë¤Ê¤é¤Ðsizeof¤¬»È¤¨¤¿¤Û¤¦¤¬³Ú¤Ç¤¹¤è¤Í¡£
¤Á¤ç¤Ã¤ÈºÙ¤«¤¤Ïäˤʤê¤Þ¤¹¤¬¡¢Ä̾¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ÏÊ£¿ôÄêµÁ¤·¤Þ¤¹¡£
¤¬¡¢¤½¤ÎºÝ¡¢½é´ü²½ºÑ¤ß¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¹½Â¤ÂΤò¡¢ÇÛÎó¤Ë¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¹½Â¤ÂΤϡ¢Ã±ÂΤʤé¤Ð¥Ñ¥Ç¥£¥ó¥°Ìµ¤·¤ÇŬÀڤʥ¢¥é¥¤¥á¥ó¥È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤±¤ì¤É¡¢
ÇÛÎó¤Ë¤¹¤ë¤ÈÆó¤ÄÌܤÎÍ×ÁǤÎÅÓÃæ¤Ç¥¢¥é¥¤¥á¥ó¥È¤¬Êø¤ì¡¢¥¢¥»¥ó¥Ö¥é¤Ë¤è¤ë°ÅÌۤΥ¢¥é¥¤¥á¥ó¥È¤¬¹Ô¤ï¤ì¤Æ¡¢ÉÔÍפʥѥǥ£¥ó¥°¤¬Æþ¤Ã¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£
const ENDPOINT_DESCRIPTOR endpoint_desc[2] = { {
¡¡¡¡sizeof(ENDPOINT_DESCRIPTOR),¡¡¡¡//unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡/* + 0, 1 */
¡¡¡¡ENDPOINT_DESCRIPTOR_TYPE,¡¡¡¡¡¡ //unsigned char bDescriptorType;¡¡¡¡/* + 1, 1 */
¡¡¡¡0x82,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //unsigned char bEndpointAddress;¡¡ /* + 2, 1 */
¡¡¡¡2,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bAttributes;¡¡¡¡¡¡¡¡/* + 3, 1 */
¡¡¡¡EP2_NONISO_PACKET_SIZE,¡¡¡¡¡¡¡¡ //unsigned short wMaxPacketSize;¡¡¡¡ /* + 4, 2 */
¡¡¡¡0,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡/* + 6, 1 */
}, {
¡¡¡¡sizeof(ENDPOINT_DESCRIPTOR),¡¡¡¡//unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡/* + 7, 1 */
¡¡¡¡ENDPOINT_DESCRIPTOR_TYPE,¡¡¡¡¡¡ //unsigned char bDescriptorType;¡¡¡¡/* + 8, 1 */
¡¡¡¡0x02,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //unsigned char bEndpointAddress;¡¡ /* + 9, 1 */
¡¡¡¡2,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bAttributes;¡¡¡¡¡¡¡¡/* +10, 1 */
¡¡¡¡EP2_NONISO_PACKET_SIZE,¡¡¡¡¡¡¡¡ //unsigned short wMaxPacketSize;¡¡¡¡ /* +11, 2 */
¡¡¡¡0,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡/* +13, 1 */
} };¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ /* =14 */
¢¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È...
¡¡¡¡.align¡¡2
endpoint_desc:
¡¡¡¡.byte¡¡ 7¡¡¡¡¡¡¡¡//unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡/* + 0, 1 */
¡¡¡¡.byte¡¡ 5¡¡¡¡¡¡¡¡//unsigned char bDescriptorType;¡¡¡¡/* + 1, 1 */
¡¡¡¡.byte¡¡130¡¡¡¡¡¡¡¡//unsigned char bEndpointAddress;¡¡ /* + 2, 1 */
¡¡¡¡.byte¡¡ 2¡¡¡¡¡¡¡¡//unsigned char bAttributes;¡¡¡¡¡¡¡¡/* + 3, 1 */
¡¡¡¡.half¡¡ 64¡¡¡¡¡¡¡¡//unsigned short wMaxPacketSize;¡¡¡¡ /* + 4, 2 */
¡¡¡¡.byte¡¡ 0¡¡¡¡¡¡¡¡//unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡/* + 6, 1 */
¡¡¡¡.byte¡¡ 7¡¡¡¡¡¡¡¡//unsigned char bLength;¡¡¡¡¡¡¡¡¡¡¡¡/* + 7, 1 */
¡¡¡¡.byte¡¡ 5¡¡¡¡¡¡¡¡//unsigned char bDescriptorType;¡¡¡¡/* + 8, 1 */
¡¡¡¡.byte¡¡ 2¡¡¡¡¡¡¡¡//unsigned char bEndpointAddress;¡¡ /* + 9, 1 */
¡¡¡¡.byte¡¡ 2¡¡¡¡¡¡¡¡//unsigned char bAttributes;¡¡¡¡¡¡¡¡/* +10, 1 */
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//(¤³¤³¤Ë¥Ñ¥Ç¥£¥ó¥°¤¬Æþ¤Ã¤Æ¤·¤Þ¤¦!!) /* +11, 1 */
¡¡¡¡.half¡¡ 64¡¡¡¡¡¡¡¡//unsigned short wMaxPacketSize;¡¡¡¡ /* +12, 2 */ ¤º¤ì¤Æ¤ë!!
¡¡¡¡.byte¡¡ 0¡¡¡¡¡¡¡¡//unsigned char bInterval;¡¡¡¡¡¡¡¡¡¡/* +14, 1 */ ¤º¤ì¤Æ¤ë!!
Ê£¿ô¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò½é´ü²½ºÑ¤ß¹½Â¤ÂΤȤ·¤ÆÄêµÁ¤¹¤ë¾ì¹ç¤Ï¡¢ÇÛÎó¤Ë¤¹¤ë¤Î¤Ç¤Ê¤¯¡¢¤Ò¤È¤Ä¤Ò¤È¤ÄÄêµÁ¤·¡¢
¼Â¹Ô»þ¤Ë¤¯¤Ã¤Ä¤±¤ÆÁ÷¿®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
const ENDPOINT_DESCRIPTOR endpoint_desc_ep2in = {
sizeof(ENDPOINT_DESCRIPTOR),
ENDPOINT_DESCRIPTOR_TYPE,
0x82,
2,
EP2_NONISO_PACKET_SIZE,
0,
};
const ENDPOINT_DESCRIPTOR endpoint_desc_ep2out = {
sizeof(ENDPOINT_DESCRIPTOR),
ENDPOINT_DESCRIPTOR_TYPE,
0x02,
2,
EP2_NONISO_PACKET_SIZE,
0,
};
memcpy(&tmpbuf[sizeof(ENDPOINT_DESCRIPTOR) * 0], &endpoint_desc_ep2in, sizeof(ENDPOINT_DESCRIPTOR));
memcpy(&tmpbuf[sizeof(ENDPOINT_DESCRIPTOR) * 1], &endpoint_desc_ep2in, sizeof(ENDPOINT_DESCRIPTOR));
D12_WriteEndpoint(1/*½ÐÎÏüÅÀ¤Î»ØÄê*/, &tmpbuf, sizeof(ENDPOINT_DESCRIPTOR) * 2);
¢£¢£¢£¢£¢£
¢£¤Þ¤È¤á¢£
¢£¢£¢£¢£¢£
·ëÏÀ¤Ç¤¹¡£
¡ØP/ECE³«È¯´Ä¶¤Ç¤Ï¡¢__attribute__((packed))¤Ë¤è¤ë¹½Â¤ÂΥѥ寤ÏÍøÍÑÉԲĤǤ¹¡£¡Ù
³Î¼Â¤ËÌäÂ꤬²óÈò¤Ç¤¤ë¤È³Î¿®¤Ç¤¤ë¾ì¹ç¤Ë¸Â¤Ã¤Æ¡¢__attribute__((packed))¤âÍøÍѲÄǽ¤Ç¤¹¤¬¡¢
¤½¤ì¤Ï¤Þ¤ë¤Ç¡¢À¸¤Î¥¢¥»¥ó¥Ö¥é¤ä¥Ð¥¤¥Ê¥ê¥¨¥Ç¥£¥¿¤ò»È¤Ã¤Æ¥Ç¡¼¥¿¤òÁàºî¤·¤Æ¤¤¤ë¤è¤¦¤Ê´¶³Ð¤Ç¤¹¡£
¤â¤È¤â¤È#pargma pack¤ä__attribute__((packed))¤Ï½èÍý·Ï°Í¸¤Î³ÈÄ¥µ¡Ç½¤Ç¤¹¤·¡¢»È¤ï¤º¤ËºÑ¤à¤Ê¤é¤Ð¤½¤ì¤Ë±Û¤·¤¿¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£
* Sat Nov 6 00:00:00 JST 2004 Naoyuki Sawa
- ¹½Â¤ÂΥѥ寤ËÌäÂꤢ¤ê#1
P/ECE³«È¯´Ä¶¤ÎC¥³¥ó¥Ñ¥¤¥é¤Ë¤ÏÌäÂ꤬¤¢¤ê¡¢¹½Â¤ÂΥѥ寤ò¹Ô¤¦¾ì¹ç¤ËÃí°Õ¤¬É¬ÍפǤ¹¡£
º£²ó¤Ï¡¢¤³¤ÎÌäÂê¤Ë¤Ä¤¤¤Æµ¤·¤Æ¤ª¤³¤¦¤È»×¤¤¤Þ¤¹¡£
P/ECEÆÃͤÎÌäÂêÅÀ¤À¤±ÆÉ¤ß¤¿¤¤¤«¤¿¤Ï¡¢¢££Ð¡¿£Å£Ã£Å¤Î¾ì¹ç¡ÁÌäÂêȯÀ¸!!¢£¤Þ¤ÇÆÉ¤ßÈô¤Ð¤·¤Æ¤¯¤À¤µ¤¤¡£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¢£°ìÈÌŪ¤ÊÏáÁ¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¢£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
Ä̾C¸À¸ì¤Ç¹½Â¤ÂΤòÄêµÁ¤¹¤ë¤È¡¢³Æ¥Õ¥£¡¼¥ë¥É¤¬¥Õ¥£¡¼¥ë¥É¥µ¥¤¥º¤ÎÇÜ¿ô¤Î°ÌÃ֤˷¤¦¤è¤¦¤Ë¡¢°ÅÌۤζõÇòÎΰ褬Äɲ䵤ì¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¼¡¤Î¤è¤¦¤Ê¹½Â¤ÂΤòÄêµÁ¤·¤¿¤È¤·¤Þ¤¹¡£
typedef struct _SAMPLE1 {
¡¡¡¡char c1;
¡¡¡¡short s2;
¡¡¡¡int i3;
¡¡¡¡char c4;
} SAMPLE1;
¤³¤ì¤À¤±¸«¤ë¤È¡¢³Æ¥Õ¥£¡¼¥ë¥É¤Î¥ª¥Õ¥»¥Ã¥È¤È¥µ¥¤¥º¡¢¤ª¤è¤Ó¹½Â¤ÂÎ¥µ¥¤¥º¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤è¤¦¤Ë¸«¤¨¤ë¤Î¤Ç¤¹¤±¤ì¤É¡¢
(¥³¥á¥ó¥Èɽµ¤Ï /* +¥Õ¥£¡¼¥ë¥É¥ª¥Õ¥»¥Ã¥È, ¥Õ¥£¡¼¥ë¥É¥µ¥¤¥º */¡¢/* =¹½Â¤ÂÎ¥µ¥¤¥º */ ¤Ç¤¹¡£)
[¸í¤Ã¤¿ÇÛÃÖ]
typedef struct _STRUCT1 {
¡¡¡¡char c1;¡¡¡¡/* + 0, 1 */
¡¡¡¡short s2;¡¡¡¡/* + 1, 2 */
¡¡¡¡short s3;¡¡¡¡/* + 3, 2 */
¡¡¡¡int i4;¡¡¡¡/* + 5, 4 */
¡¡¡¡char c5;¡¡¡¡/* + 9, 1 */
} STRUCT1;¡¡¡¡¡¡¡¡/* =10 */
¼ÂºÝ¤Ë¤Ï¡¢³Æ¥Õ¥£¡¼¥ë¥É¤Î¥ª¥Õ¥»¥Ã¥È¤È¥µ¥¤¥º¡¢¤ª¤è¤Ó¹½Â¤ÂÎ¥µ¥¤¥º¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
[ËÜÅö¤ÎÇÛÃÖ]
typedef struct _STRUCT1 {
¡¡¡¡char c1;¡¡¡¡/* + 0, 1 */
¡¡¡¡(¥Ñ¥Ç¥£¥ó¥°)¡¡/* + 1, 1 */
¡¡¡¡short s2;¡¡¡¡/* + 2, 2 */
¡¡¡¡short s3;¡¡¡¡/* + 4, 2 */
¡¡¡¡(¥Ñ¥Ç¥£¥ó¥°)¡¡/* + 6, 2 */
¡¡¡¡int i4;¡¡¡¡/* + 8, 4 */
¡¡¡¡char c5;¡¡¡¡/* +12, 1 */
¡¡¡¡(¥Ñ¥Ç¥£¥ó¥°)¡¡/* +13, 3 */
} STRUCT1;¡¡¡¡¡¡¡¡/* =16 */
s2¥Õ¥£¡¼¥ë¥É(2¥Ð¥¤¥ÈÀ°¿ô)¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£
[¸í¤Ã¤¿ÇÛÃÖ]¤Ç¤Ï¡¢s2¥Õ¥£¡¼¥ë¥É¤¬¥ª¥Õ¥»¥Ã¥È1(2¤ÎÇÜ¿ô¤Ç¤Ê¤¤)¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£
2¤ÎÇÜ¿ô¤Ç¤Ê¤¤¥¢¥É¥ì¥¹¤ËÃÖ¤«¤ì¤¿2¥Ð¥¤¥ÈÀ°¿ô¤ÎÆÉ¤ß½ñ¤¤Ï¡¢CPU¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¤Ï¤Ç¤¤Ê¤«¤Ã¤¿¤ê¡¢¤Ç¤¤Æ¤â¸úΨ¤¬°¤«¤Ã¤¿¤ê¤·¤Þ¤¹¡£
¤½¤³¤Ç¡¢2¥Ð¥¤¥ÈÀ°¿ô¤¬2¤ÎÇÜ¿ô¤Î¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¡¢s2¥Õ¥£¡¼¥ë¥É¤ÎľÁ°¤Ë°ÅÌۤζõÇòÎΰ褬Äɲ䵤ì¤ë¤Î¤Ç¤¹¡£
°ÅÌۤζõÇòÎΰè¤Î¤³¤È¤ò¡¢¡È¥Ñ¥Ç¥£¥ó¥°¡É(µÍ¤áʪ)¤È¸Æ¤ó¤À¤ê¤·¤Þ¤¹¡£
i4¥Õ¥£¡¼¥ë¥É(4¥Ð¥¤¥ÈÀ°¿ô)¤Ë¤Ä¤¤¤Æ¤âƱÍͤǤ¹¡£
4¤ÎÇÜ¿ô¤Ç¤Ê¤¤¥¢¥É¥ì¥¹¤ËÃÖ¤«¤ì¤¿4¥Ð¥¤¥ÈÀ°¿ô¤ÎÆÉ¤ß½ñ¤¤Ï¡¢CPU¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¤Ï¤Ç¤¤Ê¤«¤Ã¤¿¤ê¡¢¤Ç¤¤Æ¤â¸úΨ¤¬°¤«¤Ã¤¿¤ê¤·¤Þ¤¹¡£
¤½¤³¤Ç¡¢4¥Ð¥¤¥ÈÀ°¿ô¤¬4¤ÎÇÜ¿ô¤Î¥¢¥É¥ì¥¹¤«¤é»Ï¤Þ¤ë¤è¤¦¡¢i4¥Õ¥£¡¼¥ë¥É¤ÎľÁ°¤Ë¥Ñ¥Ç¥£¥ó¥°¤¬Äɲ䵤ì¤Þ¤¹¡£
°ì¸«¡¢¹½Â¤ÂÎËöÈø¤Î¥Ñ¥Ç¥£¥ó¥°¤ÏÉÔÍפ˸«¤¨¤Þ¤¹¡£
¤Ê¤¼¤³¤ì¤¬É¬Íפ«¤È¤¤¤¦¤È¡¢¹½Â¤ÂÎÇÛÎó¤òÄêµÁ¤·¤¿¤È¤¤Î¤¿¤á¤Ç¤¹¡£
¤â¤·¤â¹½Â¤ÂÎËöÈø¤Î¶õÇòÎΰ褬¤Ê¤«¤Ã¤¿¤È¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¹½Â¤ÂÎÇÛÎó¤òÄêµÁ¤·¤¿¤È¤¤Ë¡¢
STRUCT1 struct1[2];
¥á¥â¥ê¾å¤ÎÇÛÃ֤ϼ¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
[¸í¤Ã¤¿ÇÛÃÖ]
// struct1[0]
char c1;¡¡¡¡/* + 0, 1 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* + 1, 1 */
short s2;¡¡¡¡/* + 2, 2 */
short s3;¡¡¡¡/* + 4, 2 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* + 6, 2 */
int i4;¡¡¡¡/* + 8, 4 */
char c5;¡¡¡¡/* +12, 1 */
// struct1[1]
char c1;¡¡¡¡/* +13, 1 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* +14, 1 */
short s2;¡¡¡¡/* +15, 2 */
short s3;¡¡¡¡/* +17, 2 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* +19, 2 */
int i4;¡¡¡¡/* +21, 4 */
char c5;¡¡¡¡/* +25, 1 */
struct1[0]¤ÏŬÀڤʥե£¡¼¥ë¥ÉÇÛÃ֤Ǥ¹¤¬¡¢struct1[1]¤Îs2¤äs3¡¢i4¤ÎÇÛÃÖ¤¬Å¬ÀڤǤ¢¤ê¤Þ¤»¤ó¡£
s2¤Ès3¤Ï2¥Ð¥¤¥ÈÀ°¿ô¤Ê¤Î¤Ë2¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤ËÇÛÃÖ¤µ¤ì¤º¡¢i4¤Ï4¥Ð¥¤¥ÈÀ°¿ô¤Ê¤Î¤Ë4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¤³¤Î¤è¤¦¤ÊÌäÂê¤òÈò¤±¤ë¤¿¤á¡¢¹½Â¤ÂÎ¥µ¥¤¥º¤¬¡Ö¹½Â¤ÂΤÎÃæ¤Î¤¤¤Á¤Ð¤óÂ礤ʥե£¡¼¥ë¥É¤Î¥µ¥¤¥º¤ÎÇÜ¿ô¡×¤Ë¤Ê¤ë¤è¤¦¡¢¹½Â¤ÂΤÎËöÈø¤Ë¤â¥Ñ¥Ç¥£¥ó¥°¤¬Äɲ䵤ì¤Þ¤¹¡£
[Àµ¤·¤¤ÇÛÃÖ]
// struct1[0]
char c1;¡¡¡¡/* + 0, 1 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* + 1, 1 */
short s2;¡¡¡¡/* + 2, 2 */
short s3;¡¡¡¡/* + 4, 2 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* + 6, 2 */
int i4;¡¡¡¡/* + 8, 4 */
char c5;¡¡¡¡/* +12, 1 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* +13, 3 */
// struct1[1]
char c1;¡¡¡¡/* +16, 1 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* +17, 1 */
short s2;¡¡¡¡/* +18, 2 */
short s3;¡¡¡¡/* +20, 2 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* +22, 2 */
int i4;¡¡¡¡/* +24, 4 */
char c5;¡¡¡¡/* +28, 1 */
(¥Ñ¥Ç¥£¥ó¥°)¡¡/* +29, 3 */
°Ê¾å¤Î¤è¤¦¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤¬¼«Æ°Åª¤Ë¥Ñ¥Ç¥£¥ó¥°¤òÄɲ䷤ơ¢³Æ¥Õ¥£¡¼¥ë¥É¤ÎÇÛÃÖ¤òŬÀÚ¤ËÊݤĤ³¤È¤ò¡¢¡È¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¡É¤È¸Æ¤ó¤À¤ê¤·¤Þ¤¹¡£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¢£°ìÈÌŪ¤ÊÏáÁ¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ë¢£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
Ä̾ï¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤¬¼«Æ°Åª¤Ë¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò¹Ô¤Ã¤Æ¤¯¤ì¤ë¤Î¤Ç¡¢¥×¥í¥°¥é¥Þ¤ÏÆÃ¤Ëµ¤¤Ë¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
¤¬¡¢µ©¤Ë¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¬¹Ô¤ï¤ì¤Æ¤Ïº¤¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£
¥Í¥Ã¥È¥ï¡¼¥¯¤ä¥Ç¥Ð¥¤¥¹¤È¤ÎÄÌ¿®¤Ê¤É¡¢¤¢¤é¤«¤¸¤á»ÅÍͤǷè¤á¤é¤ì¤¿¥Õ¥£¡¼¥ë¥ÉÇÛÃ֤ι½Â¤ÂΤòÁ÷¼õ¿®¤¹¤ë¾ì¹ç¤Ç¤¹¡£
¥Í¥Ã¥È¥ï¡¼¥¯¤ä¥Ç¥Ð¥¤¥¹¤È¤ÎÄÌ¿®¤Ç¤Ï¡¢ÄÌ¿®¥Ç¡¼¥¿Î̤ò¾¯¤Ê¤¯¤¹¤ë¤¿¤á¤Ë¡¢2¥Ð¥¤¥ÈÀ°¿ô¤ä4¥Ð¥¤¥ÈÀ°¿ô¤â¥Ñ¥Ç¥£¥ó¥°Ìµ¤·¤Ç¤Ó¤Ã¤Á¤êµÍ¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤¬Â¿¤¤¤Ç¤¹¡£
¥á¥â¥ê¾å¤Ë¹½Â¤ÂΤòºî¤Ã¤Æ¤ª¤¤¤Æ¡¢¤½¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤òľÀÜÁ÷¿®¤¹¤ë¾ì¹ç¤ä¡¢¥á¥â¥ê¾å¤Î¹½Â¤ÂÎÊÑ¿ô¤ËľÀܼõ¿®¤¹¤ë¾ì¹ç¡¢
¹½Â¤ÂΤΥե£¡¼¥ë¥ÉÇÛÃ֤Ϥ¢¤é¤«¤¸¤á·è¤á¤é¤ì¤¿»ÅÍͤˤ¤Ã¤Á¤ê¹ç¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¤¿¤È¤¨¤Ð¡¢MMC(Multi Media Card)¤È¤ÎÄÌ¿®¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¹½Â¤ÂΤλÅÍͤ¬Äê¤á¤é¤ì¤Æ¤¤¤Þ¤¹¡£
(¤Þ¤É¤«¤ÎÀ¤³¦¤µ¤ó¤Î¡¢MMCÂбþ¥«¡¼¥Í¥ë¤Î¥½¡¼¥¹¤«¤é°úÍѤµ¤»¤Æ¤¤¤¿¤À¤¤Þ¤·¤¿)
[Àµ¤·¤¤ÇÛÃÖ]
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char ucMID;¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short usOID;¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char ucPNM[6]; ¡¡// + 3, 6: Product name(48bit)
¡¡¡¡unsigned char ucPRV;¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long ulPSN;¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char ucMDT;¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char ucCRC;¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} MMC_CID_INFO; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// =16
¤È¤³¤í¤¬¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¬¹Ô¤ï¤ì¤ë¤È¡¢¼ÂºÝ¤ÎÇÛÃ֤ϼ¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
[¸í¤Ã¤¿ÇÛÃÖ]
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char ucMID;¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡(¥Ñ¥Ç¥£¥ó¥°) // + 1, 1:
¡¡¡¡unsigned short usOID;¡¡¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char ucPNM[6]; ¡¡// + 4, 6: Product name(48bit)
¡¡¡¡unsigned char ucPRV;¡¡¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡(¥Ñ¥Ç¥£¥ó¥°) // +11, 1:
¡¡¡¡unsigned long ulPSN;¡¡¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡unsigned char ucMDT;¡¡¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char ucCRC;¡¡¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
¡¡¡¡(¥Ñ¥Ç¥£¥ó¥°) // +18, 2:
} MMC_CID_INFO; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// =20
¤³¤ì¤Ç¤Ï¥À¥á¤Ç¤¹¡£
¤½¤³¤Ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ë¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤·¡¢¥Ñ¥Ç¥£¥ó¥°¤ò¤Ê¤¯¤¹ÊýË¡¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ëÊýË¡¤Ï¡¢¥³¥ó¥Ñ¥¤¥éËè¤Ë°ã¤Ã¤Æ¤¤¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢Visual C++¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
#pragma pack(1)
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char ucMID;¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short usOID;¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char ucPNM[6]; ¡¡// + 3, 6: Product name(48bit)
¡¡¡¡unsigned char ucPRV;¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long ulPSN;¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char ucMDT;¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char ucCRC;¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} MMC_CID_INFO; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// =16
#pragma pack()
GCC¤Î¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char ucPNM[6]; ¡¡¡¡¡¡¡¡¡¡// + 3, 6: Product name(48bit)
¡¡¡¡unsigned char ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} __attribute__((packed)) MMC_CID_INFO; // =16
¢¨¸·Ì©¤Ë¸À¤¦¤È¡¢MMC¤È¤ÎÄÌ¿®¥Ç¡¼¥¿¤Ï¥Ð¥¤¥È½ç¤¬¥â¥È¥í¡¼¥éʤӤǡ¢Pentium¤äS1C33(P/ECE¤ÎCPU)¤Î¥¤¥ó¥Æ¥ëʤӤȤϵդǤ¹¡£
¡¡¤À¤«¤é¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤À¤±Ìµ¤¯¤·¤Æ¤â¡¢¥á¥â¥ê¥¤¥á¡¼¥¸¤½¤Î¤Þ¤Þ¤ÇÁ÷¼õ¿®¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¤¬¡¢ÀâÌÀ¤ò´Êñ¤Ë¤¹¤ë¤¿¤á¤Ë¡¢¤³¤³¤Ç¤Ï¥Ð¥¤¥È½ç¤Î°ã¤¤¤Ï¹Í¤¨¤Ê¤¤¤³¤È¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì¤Ç¤Ï¡¢ËÜÅö¤Ë¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¬ÍÞÀ©¤µ¤ì¤Æ¤¤¤ë¤«¡¢³Îǧ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥Æ¥¹¥È¤Î¤¿¤á¤Ë¡¢¥á¥â¥ê¾å¤Ë½é´ü²½ºÑ¤ß¤Î¹½Â¤ÂΤòÍѰդ·¡¢¤½¤ÎÆâÍÆ¤ò1¥Ð¥¤¥È¤Å¤Äɽ¼¨¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£
¤Þ¤º¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò¡úÍÞÀ©¤·¤Ê¤¤¡ú¾ì¹ç¤Î¥á¥â¥êÆâÍÆ¤ò³Î¤«¤á¤Æ¤ß¤Þ¤¹¡£
[Windows PC & Visual C++ 6.0¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê]
#include
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡ // + 4, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
} MMC_CID_INFO;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // =20
MMC_CID_INFO cid = {
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 4, 6: Product name(48bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
};
int main()
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡printf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡printf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡return 0;
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 20
ff 00 ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff 00 00
-------------------------------------------------------------------------------------------
¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê¤Ê¤Î¤Ç¡¢¥Ñ¥Ç¥£¥ó¥°¤¬Äɲäµ¤ì¤Æ¤¤¤Þ¤¹¡£(00¤ÎÉôʬ)
¹½Â¤ÂÎ¥µ¥¤¥º¤â¥Ñ¥Ç¥£¥ó¥°¤ÎʬÁý¤¨¤Æ¡¢MMC»ÅÍͤè¤ê¤â4¥Ð¥¤¥È¿¤¤20¥Ð¥¤¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¼¡¤Ë¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò¡úÍÞÀ©¤·¤¿¡ú¾ì¹ç¤Î¥á¥â¥êÆâÍÆ¤ò³Î¤«¤á¤Æ¤ß¤Þ¤¹¡£
[Windows PC & Visual C++ 6.0¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·]
#include
#pragma pack(1)
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡ // + 3, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} MMC_CID_INFO;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // =16
#pragma pack()
MMC_CID_INFO cid = {
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 3, 6: Product name(48bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
};
int main()
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡printf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡printf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡return 0;
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
-------------------------------------------------------------------------------------------
¥Ñ¥Ç¥£¥ó¥°¤¬¾Ã¤¨¤Æ¡¢¹½Â¤ÂÎ¥µ¥¤¥º¤âMMC»ÅÍͤɤª¤ê¤Î16¥Ð¥¤¥È¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
GCC¤Î¾ì¹ç¤âƱÍͤǤ¹¡£
¤Þ¤º¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò¡úÍÞÀ©¤·¤Ê¤¤¡ú¾ì¹ç¡£
[Linux PC & GCC 3.3.3¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê]
#include
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡ // + 4, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
} MMC_CID_INFO;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // =20
MMC_CID_INFO cid = {
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 4, 6: Product name(48bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
};
int main()
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡printf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡printf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡return 0;
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 20
ff 00 ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff 00 00
-------------------------------------------------------------------------------------------
¼¡¤Ë¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò¡úÍÞÀ©¤·¤¿¡ú¾ì¹ç¡£
[Linux PC & GCC 3.3.3¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·]
#include
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 3, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} __attribute__((packed)) MMC_CID_INFO; // =16
MMC_CID_INFO cid = {
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 3, 6: Product name(48bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
};
int main()
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡printf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡printf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡return 0;
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
-------------------------------------------------------------------------------------------
´üÂÔÄ̤ê¤Ç¤¹¡£
¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤òÍÞÀ©¤¹¤ë¤³¤È¤ò¡¢¡È¹½Â¤ÂΥѥ寡ɤȸƤó¤À¤ê¤·¤Þ¤¹¡£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¢££Ð¡¿£Å£Ã£Å¤Î¾ì¹ç¡ÁÌäÂêȯÀ¸!!¢£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¾å½Ò¤ÎGCC¤ÎÎã¤Ï¡¢PC¾å¤ÇLinux(FedoraCore2)¤ò»È¤Ã¤Æ¹Ô¤¤¤Þ¤·¤¿¡£
¤µ¤Æ¡¢P/ECE³«È¯´Ä¶¤ÎC¥³¥ó¥Ñ¥¤¥é¤âGCC¤Ç¤¹¡£
¤Á¤ç¤Ã¤È¥Ð¡¼¥¸¥ç¥ó¤¬¸Å¤¤¤±¤É¡¢PC¾å¤ÇLinux¤ò»È¤Ã¤¿¾ì¹ç¤ÈƱ¤¸·ë²Ì¤¬´üÂÔ¤µ¤ì¤Þ¤¹¡£
¤Þ¤º¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò¡úÍÞÀ©¤·¤Ê¤¤¡ú¾ì¹ç¡£
[P/ECE & pcc33.exe¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤¢¤ê]
#include
unsigned char vbuff[128 * 88];
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡ // + 4, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
} MMC_CID_INFO;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // =20
MMC_CID_INFO cid = {
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 2, 2: OEM/Application ID(16bit)
¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 4, 6: Product name(48bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// +10, 1: Product revision(8bit)
¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +12, 4: Product serial number(32bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +16, 1: Manufacturing date(8bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +17, 1: 7-bit CRC checksum(7bit)
};
void pceAppInit()
{
¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡pceLCDDispStart();
}
void pceAppProc(int count)
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡memset(vbuff, 0, sizeof vbuff);
¡¡¡¡pceFontSetType(2);
¡¡¡¡pceFontSetPos(0, 0);
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡pceLCDTrans();
}
void pceAppExit()
{
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 20
ff 00 ff ff ff ff ff ff ff ff ff 00 ff ff ff ff ff ff 00 00
-------------------------------------------------------------------------------------------
¤¢¤È¤Ï¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È¤ò¡úÍÞÀ©¤·¤¿¡ú¾ì¹ç¤¬´üÂÔÄ̤ê¤Î·ë²Ì¤Ê¤é¤Ð¡¢Á´¤Æ£Ï£Ë¤Ê¤Î¤Ç¤¹¤¬¡¦¡¦¡¦
[P/ECE & pcc33.exe¡¢¹½Â¤ÂÎ¥¢¥é¥¤¥á¥ó¥È̵¤·]
#include
unsigned char vbuff[128 * 88];
//CID(Card IDentification number)¡¡¥«¡¼¥ÉID¥ì¥¸¥¹¥¿¾ðÊó¹½Â¤ÂÎ
typedef struct tag_MMC_CID_INFO
{
¡¡¡¡unsigned char¡¡ ucMID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡unsigned short¡¡usOID;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡unsigned char¡¡ ucPNM[6];¡¡¡¡¡¡¡¡¡¡ // + 3, 6: Product name(48bit)
¡¡¡¡unsigned char¡¡ ucPRV;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡unsigned long¡¡ ulPSN;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡unsigned char¡¡ ucMDT;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡unsigned char¡¡ ucCRC;¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
} __attribute__((packed)) MMC_CID_INFO; // =16
MMC_CID_INFO cid = {
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMID;¡¡¡¡// + 0, 1: ManufactureID(8bit)
¡¡¡¡0xffff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned short¡¡usOID;¡¡¡¡// + 1, 2: OEM/Application ID(16bit)
¡¡¡¡{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, // unsigned char¡¡ ucPNM[6]; // + 3, 6: Product name(48bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucPRV;¡¡¡¡// + 9, 1: Product revision(8bit)
¡¡¡¡0xffffffff, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// unsigned long¡¡ ulPSN;¡¡¡¡// +10, 4: Product serial number(32bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucMDT;¡¡¡¡// +14, 1: Manufacturing date(8bit)
¡¡¡¡0xff,¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // unsigned char¡¡ ucCRC;¡¡¡¡// +15, 1: 7-bit CRC checksum(7bit)
};
void pceAppInit()
{
¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡pceLCDDispStart();
}
void pceAppProc(int count)
{
¡¡¡¡int i;
¡¡¡¡unsigned char* p;
¡¡¡¡memset(vbuff, 0, sizeof vbuff);
¡¡¡¡pceFontSetType(2);
¡¡¡¡pceFontSetPos(0, 0);
¡¡¡¡p = (unsigned char*)&cid;
¡¡¡¡pceFontPrintf("size = %d\n", sizeof(MMC_CID_INFO));
¡¡¡¡for(i = 0; i < sizeof(MMC_CID_INFO); i++) {
¡¡¡¡¡¡¡¡pceFontPrintf("%02x ", p[i]);
¡¡¡¡}
¡¡¡¡pceLCDTrans();
}
void pceAppExit()
{
}
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff 00 ff ff ff ff ff ff ff ff ff 00 ff ff ff ff
-------------------------------------------------------------------------------------------
ÌäÂêȯÀ¸¤Ç¤¹!!
¹½Â¤ÂÎ¥µ¥¤¥º¤Ï³Î¤«¤Ë»ÅÍͤɤª¤ê¤Î16¥Ð¥¤¥È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢¤Ê¤¼¤«¥Ñ¥Ç¥£¥ó¥°¤¬»Ä¤Ã¤Æ¤¤¤Þ¤¹¡£
¤ï¤«¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢·ë²Ì½ÐÎϤòʤÓÂØ¤¨¤Æ¤ß¤Þ¤¹¡£
-------------------------------------------------------------------------------------------
¢£¢£ ·ë²Ì ¢£¢£
size = 16
ff¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 0, 1: ManufactureID(8bit)
00¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// + 1, 1: ¤Ê¤¼¤«¥Ñ¥Ç¥£¥ó¥°¤¬»Ä¤Ã¤Æ¤¤¤ë¡©
ff ff¡¡¡¡¡¡¡¡¡¡¡¡¡¡ // + 2, 2: OEM/Application ID(16bit)
ff ff ff ff ff ff¡¡ // + 4, 6: Product name(48bit)
ff¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +10, 1: Product revision(8bit)
00¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +11, 1: ¤Ê¤¼¤«¥Ñ¥Ç¥£¥ó¥°¤¬»Ä¤Ã¤Æ¤¤¤ë¡©
ff ff ff ff¡¡¡¡¡¡¡¡ // +12, 4: Product serial number(32bit)
??¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +??, 1: Manufacturing date(8bit) ¤Ï¤É¤³¤Ø¹Ô¤Ã¤¿¡©
??¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// +??, 1: 7-bit CRC checksum(7bit) ¤Ï¤É¤³¤Ø¹Ô¤Ã¤¿¡©
-------------------------------------------------------------------------------------------
¤¤¤Ã¤¿¤¤¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¡©
¤³¤ÎÌäÂê¡¢P/ECE³«È¯´Ä¶¤ÎC¥³¥ó¥Ñ¥¤¥é(gcc33.exe)¤È¥¢¥»¥ó¥Ö¥é(as33.exe)¤Î¶¨Ä´¤¬¾å¼ê¤¯¤¤¤Ã¤Æ¤¤¤Ê¤¤¤³¤È¤¬¸¶°ø¤Ê¤Î¤Ç¤¹¡£
¾Ü¤·¤¯¤Ï¡¢¼¡²ó¤Ë¡£
(³¤¤Þ¤¹¡Ä)
* Sat May 16 00:00:00 JST 2004 Naoyuki Sawa
- Zlib¤ò¼ÂÁõ¤·¤Æ¤ß¤ë#2
Á°²ó¤Ï¡¢¾Ê¥á¥â¥ê¤ÊZlibŸ³«¥ë¡¼¥Á¥ó¤ò¼ÂÁõ¤·¤Æ¤ß¤Þ¤·¤¿¡£
¤Þ¤¿¡¢¤½¤Î¥ë¡¼¥Á¥ó¤ò»È¤Ã¤ÆZlib·Á¼°¤Î°µ½Ì¥Õ¥¡¥¤¥ë¤òŸ³«¤·¡¢²èÌÌɽ¼¨¤¹¤ë¥µ¥ó¥×¥ë¤òºîÀ®¤·¤Þ¤·¤¿¡£
¤·¤«¤·¤Ê¤¬¤é¡¢Zlib·Á¼°¤Î°µ½Ì¥Õ¥¡¥¤¥ë¤Ï¡¢¤½¤Î¤Þ¤Þ¤Ç¤Ï¾¯¡¹»È¤¤¤Å¤é¤¤Ì̤¬¤¢¤ê¤Þ¤¹¡£
¤¤¤Á¤Ð¤ó¤ÎÌäÂê¤Ï¡¢Zlib·Á¼°¤ËÂбþ¤·¤¿°µ½Ì¡¦Å¸³«¥Ä¡¼¥ë¤¬ÉáµÚ¤·¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦ÅÀ¤Ç¤¹¡£
Zlib¤Î»ÅÍͽñ¤Ë¤è¤ë¤È¡¢¼Â¤Ï¡ÖZlib·Á¼°¡×¤È¤Ï¡¢°µ½ÌÊýË¡¤Þ¤Ç´Þ¤á¤¿»ÅÍͤǤϤʤ¤¤½¤¦¤Ç¤¹¡£
°µ½ÌÊýË¡¤ò¼¨¤·¤¿¥Ø¥Ã¥À¤È¡¢°µ½Ì¥Ç¡¼¥¿ËÜÂΡ¢¤½¤·¤Æ¸¡ººÍÑ¥³¡¼¥É¤ÎʤӤò´ûÄꤷ¤Æ¤¤¤ë¤À¤±¤Î»ÅÍͤǤ¹¡£
¿Þ¤Ç¼¨¤¹¤È¡¢¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£ì£é£â¥Ø¥Ã¥À¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zlib»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ú£ì£é£â¥Ø¥Ã¥À¤Ë½ñ¤¤¤Æ¤¢¤ë°µ½ÌÊýË¡¤ò»È¤Ã¤¿¡¢°µ½Ì¥Ç¡¼¥¿¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¸¡ººÍÑ¥³¡¼¥É¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zlib»ÅÍÍ
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
Windows WAV¥Õ¥¡¥¤¥ë·Á¼°¤¬¡¢PCM·Á¼°¡¦ADPCM·Á¼°¡¦MP3·Á¼°¤Ê¤É¡¢¤¤¤í¤¤¤í¤ÊÆâÉô·Á¼°¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ë»÷¤Æ¤¤¤Þ¤¹¡£
¤µ¤Æ¡¢¸½ºß¤Î¤È¤³¤íZlib·Á¼°¤ÇÍøÍѲÄǽ¤Ê°µ½ÌÊýË¡¤È¤·¤Æ¤Ï¡¢¡ÖDeflate°µ½Ì·Á¼°¡×¤À¤±¤¬µ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
°ìÈ̤ËZlib·Á¼°¤È¸Æ¤Ð¤ì¤ë¤Î¤Ï¡¢¸·Ì©¤Ë¤Ï¡ÖDeflate°µ½Ì·Á¼°¤Î°µ½Ì¥Ç¡¼¥¿¤ò»ý¤Ã¤¿¡¢Zlib·Á¼°¤Î¥Õ¥¡¥¤¥ë¡×¤Î¤³¤È¤À¤Ã¤¿¤Î¤Ç¤¹¡£
¤â¤Á¤í¤ó¡¢Á°²ó¼ÂÁõ¤·¤¿ZlibŸ³«¥ë¡¼¥Á¥ó¤â¡¢Deflate°µ½Ì·Á¼°¤Ë´ð¤¯¤â¤Î¤Ç¤¹¡£
Àè¤Û¤É¤Î¿Þ¤ò½ñ¤Ä¾¤¹¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£ì£é£â¥Ø¥Ã¥À¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zlib»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ä£å£æ£ì£á£ô£å·Á¼°¤Î°µ½Ì¥Ç¡¼¥¿¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¸¡ººÍÑ¥³¡¼¥É¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zlib»ÅÍÍ
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
Zlib·Á¼°¤Î°µ½Ì¥Õ¥¡¥¤¥ë¤ò°·¤¦¤Ë¤Ï¡¢°µ½Ì¡¦Å¸³«¥Ä¡¼¥ë¤¬Zlib·Á¼°¤Î¥Ø¥Ã¥À¤ä¸¡ººÍÑ¥³¡¼¥É¤òǧ¼±¤Ç¤¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
Ê£¿ô¤Î·Á¼°¤ËÂбþ¤·¤¿°µ½Ì¡¦Å¸³«¥Ä¡¼¥ë¤ÏÍÍ¡¹¤¢¤ê¤Þ¤¹¤¬¡¢Zlib·Á¼°¤ò°·¤¦¤³¤È¤Î¤Ç¤¤ë¥Ä¡¼¥ë¤Ï¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£
Ëͤϡ¢¤³¤Á¤é¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤ò¤½¤Î¤Þ¤ÞZlib°µ½Ì¡¦Å¸³«¥Ä¡¼¥ë¤È¤·¤Æ»È¤ï¤»¤ÆÄº¤¤¤Æ¤¤¤Þ¤¹¡£
¡ÖHaruhiko Okumura's Home Page(http://www.matsusaka-u.ac.jp/~okumura/)¡×¤µ¤ó¤Î¥µ¥¤¥È¤Î¡¢
¡Özlib ÆþÌç(http://www.matsusaka-u.ac.jp/~okumura/compression/zlib.html)¡×¤Î¥Ú¡¼¥¸¤Î¡¢
¡Öcomptest.c(http://www.matsusaka-u.ac.jp/~okumura/compression/comptest.c)¡×¡£
¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥ª¥ê¥¸¥Ê¥ë¤ÎZlib(http://www.gzip.org/zlib/)¤¬É¬ÍפǤ¹¡£
¤µ¤Æ¡¢Zlib·Á¼°¤è¤ê¤â°µÅÝŪ¤Ë¥á¥¸¥ã¡¼¤Ê°µ½Ì¥Õ¥¡¥¤¥ë·Á¼°¤È¤·¤Æ¡¢¡ÖZip·Á¼°¡×¤¬¤¢¤ê¤Þ¤¹¡£
Zip·Á¼°¤â¡¢Zlib·Á¼°¤ÈƱ¤¸¤¯¡¢°µ½ÌÊýË¡¤Þ¤Ç¤òÄê¤á¤¿»ÅÍͤǤϤ¢¤ê¤Þ¤»¤ó¡£
ÍÍ¡¹¤Ê°µ½ÌÊýË¡¤ò»È¤Ã¤¿°µ½Ì¥Ç¡¼¥¿¤Î³ÊǼÊýË¡¤ä¡¢¥Õ¥¡¥¤¥ë¾ðÊó¤òÉղ乤ëÊýË¡Åù¤òÄê¤á¤¿»ÅÍͤǤ¹¡£
Zip·Á¼°¤¬°·¤¦¡ÈÍÍ¡¹¤Ê°µ½ÌÊýË¡¡É¤ÎÃæ¤Ç¤âÆÃ¤ËÎɤ¯ÍøÍѤµ¤ì¤ë¤Î¤¬¡¢Á°½Ð¤Î¡ÖDeflate°µ½Ì·Á¼°¡×¤Ç¤¹¡£
Ʊ¤¸Deflate°µ½Ì·Á¼°¤ò»È¤Ã¤¿Zlib·Á¼°¤ÈZip·Á¼°¤Ï¡¢¥¬¥ï¤¬°ã¤¦¤À¤±¤ÇËܼÁ¤Ï¤Û¤È¤ó¤ÉƱ¤¸¡¢¤È¸À¤¨¤Þ¤¹¡£
Zlib·Á¼°¤È°ã¤Ã¤Æ¡¢Zip·Á¼°¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò¤Þ¤È¤á¤Æ³ÊǼ¤Ç¤¤ë¤Î¤Ç¡¢¿Þ¤Ç¼¨¤¹¤È¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£±¡¢¸¡ººÍÑ¥³¡¼¥É¤â´Þ¤à¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zip»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£±¤Ë½ñ¤¤¤Æ¤¢¤ë°µ½ÌÊýË¡¤ò»È¤Ã¤¿¡¢°µ½Ì¥Ç¡¼¥¿£±¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£²¡¢¸¡ººÍÑ¥³¡¼¥É¤â´Þ¤à¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zip»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£²¤Ë½ñ¤¤¤Æ¤¢¤ë°µ½ÌÊýË¡¤ò»È¤Ã¤¿¡¢°µ½Ì¥Ç¡¼¥¿£²¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£Î¡¢¸¡ººÍÑ¥³¡¼¥É¤â´Þ¤à¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zip»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£Î¤Ë½ñ¤¤¤Æ¤¢¤ë°µ½ÌÊýË¡¤ò»È¤Ã¤¿¡¢°µ½Ì¥Ç¡¼¥¿£Î¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã¤½¤Î¾¤Î£Ú£é£ð¥Õ¥¡¥¤¥ë¾ðÊó¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zip»ÅÍÍ
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¤¢¤ëZip¥Õ¥¡¥¤¥ëÆâ¤Î°µ½Ì¥Ç¡¼¥¿¤¬¡¢Á´¤ÆDeflate°µ½Ì·Á¼°¤òÍøÍѤ·¤Æ¤¤¤¿¤Ê¤é¤Ð¡¢Àè¤Û¤É¤Î¿Þ¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£±¡¢¸¡ººÍÑ¥³¡¼¥É¤â´Þ¤à¡Ã¢«Zip»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ä£å£æ£ì£á£ô£å·Á¼°¤Î°µ½Ì¥Ç¡¼¥¿£±¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£²¡¢¸¡ººÍÑ¥³¡¼¥É¤â´Þ¤à¡Ã¢«Zip»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ä£å£æ£ì£á£ô£å·Á¼°¤Î°µ½Ì¥Ç¡¼¥¿£²¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¦¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ú£é£ð¥Õ¥¡¥¤¥ë¥Ø¥Ã¥À£Î¡¢¸¡ººÍÑ¥³¡¼¥É¤â´Þ¤à¡Ã¢«Zip»ÅÍÍ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ä£å£æ£ì£á£ô£å·Á¼°¤Î°µ½Ì¥Ç¡¼¥¿£Î¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã¤½¤Î¾¤Î£Ú£é£ð¥Õ¥¡¥¤¥ë¾ðÊó¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«Zip»ÅÍÍ
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
Zip¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤¹¤ë°µ½Ì¥Ç¡¼¥¿¤Î·Á¼°¤È¤·¤Æ¤Ï¡¢Deflate°µ½Ì·Á¼°°Ê³°¤Ë¤â¤¤¤¯¤Ä¤«¤Î°µ½ÌÊýË¡¤¬µ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
¤·¤«¤·¡¢¼ê¸µ¤Ë¤¢¤ë¿¤¯¤ÎZip¥Õ¥¡¥¤¥ë¤òÄ´¤Ù¤Æ¤ß¤¿¤È¤³¤í¡¢¼ÂºÝ¤Ë»È¤ï¤ì¤Æ¤¤¤¿°µ½ÌÊýË¡¤ÏÆó¼ïÎà¤À¤±¤Ç¤·¤¿¡£
¡¦Ìµ°µ½Ì
¡¦Deflate°µ½Ì·Á¼°
½¾¤Ã¤Æ¡¢¤³¤ì¤éÆó¼ïÎà¤Î°µ½Ì·Á¼°¤ËÂбþ¤¹¤ë¤À¤±¤Ç¡¢¼ÂÍѾå¤Ï½¼Ê¬¤ÊZipŸ³«¥ë¡¼¥Á¥ó¤È¤Ê¤ë¤Ï¤º¤Ç¤¹¡£
̵°µ½Ì·Á¼°¤Ë¤Ä¤¤¤Æ¤Ï¡¢³ÊǼ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤¹¤ë¤À¤±¤Ç¤¹¡£
Deflate°µ½Ì·Á¼°¤Ë¤Ä¤¤¤Æ¤Ï¡¢Á°²óºîÀ®¤·¤¿ZlibŸ³«¥ë¡¼¥Á¥ó¤ÎÆâÉô½èÍý¤¬Î®ÍѤǤ¤½¤¦¤Ç¤¹¡£
Zlib¥Ø¥Ã¥À¤È¸¡ºº¥³¡¼¥É¤ò°·¤Ã¤Æ¤¤¤ëÉôʬ¤Î¥×¥í¥°¥é¥à¤ò¾¯¤·½¤Àµ¤¹¤ë¤À¤±¤Ç¡¢ZipŸ³«¥ë¡¼¥Á¥ó¤òºîÀ®¤Ç¤¤Þ¤·¤¿¡£
ZipŸ³«¥ë¡¼¥Á¥ó¤òÍøÍѤ·¤¿¥µ¥ó¥×¥ë¤Ï¤³¤Á¤é¡£
P/ECEÍѤÈWindowsÍѤΥƥ¹¥È¥×¥í¥°¥é¥à¤òÍѰդ·¤Þ¤·¤¿¡£
P/ECEÍѥƥ¹¥È¥×¥í¥°¥é¥à¤Ï¡¢Zip¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿²èÁü¥Õ¥¡¥¤¥ë¤ò¡¢¼¡¡¹¼«Æ°Åª¤Ëɽ¼¨¤·¤Þ¤¹¡£
Windows¥Æ¥¹¥È¥×¥í¥°¥é¥àÍѤϡ¢Zip¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë°ìÍ÷¤«¤é¡¢ÁªÂò¤µ¤ì¤¿²èÁü¤òŸ³«¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£
http://www.piece-me.org/archive/pzltest-20040316-piece.zip
http://www.piece-me.org/archive/pzltest-20040316-win32.zip
Á°²ó¤Èº£²ó¤È¤Ç¡¢Zlib/ZipŸ³«¥ë¡¼¥Á¥ó¤ò¼ÂÁõ¤·¤Æ¤ß¤Þ¤·¤¿¡£
Æóǯ¶á¤¯¡¢¤è¤¯¤ï¤«¤é¤Ê¤¤¤Þ¤Þ¤Ë»È¤Ã¤Æ¤¤¤¿Zlib¥é¥¤¥Ö¥é¥ê¤Ç¤·¤¿¤¬¡¢º£²ó¤Î¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤ä¤Ã¤ÈÍý²ò¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£
Zlib/Zip·Á¼°¤Î»ÅÁȤߤòÍý²ò¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Îµ»ö¤¬¤È¤Æ¤â»²¹Í¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¤ªÎé¤ò¿½¤·¾å¤²¤ë¤È¤È¤â¤Ë¡¢¤´¾Ò²ð¤µ¤»¤ÆÄº¤¤Þ¤¹¡£
¡ÖLabVIEW¾ðÊó¸ò´¹¤Î¥Ú¡¼¥¸(http://www.asahi-net.or.jp/~WR9K-OOHS/)¡×¤µ¤ó¤Î¥µ¥¤¥È¤Î¡¢
¡Ö¥Ê¥¤¥¸¥§¥ë»³¸ý¥³¡¼¥Ê¡¼(http://www.asahi-net.or.jp/~WR9K-OOHS/Pages/Nigel's/nigel.html)¡×¤Î¥Ú¡¼¥¸¡£
Zlib¤Î»ÅÍͽñ¤Î¡¢¤¤¤Á¤Ð¤ó½ÅÍפÊÉôʬ¤Ë´Ø¤¹¤ëÏÂÌõ¤¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢°µ½Ìµ»Ë¡¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¡¢¤ï¤«¤ê¤ä¤¹¤¯ÏÀ¤¸¤é¤ì¤Æ¤¤¤Þ¤¹¡£
°µ½Ìµ»Ë¡°Ê³°¤Ë¤â¡¢¶½Ì£¿¼¤¤µ»ö¤¬¤¿¤¯¤µ¤ó¤¢¤ê¤Þ¤¹¡£
¡Ö£Ë£Ï£Î£Å's £Ä¡ÝStation(http://kone.vis.ne.jp/)¡×¤µ¤ó¤Î¥µ¥¤¥È¤Î¡¢
¡Öµ¤¤Þ¤°¤ì¤Êµº¤ì¸À(http://kone.vis.ne.jp/diary/)¡×¤Î¥Ú¡¼¥¸¡£
CRC¤Î·×»»ÊýË¡¤¬¡¢½ç¤òÄɤäƲòÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
Zip·Á¼°¤Ç»È¤ï¤ì¤Æ¤¤¤ëCRC-32¤Î·×»»ÊýË¡¡¢Â¿¤¯¤Î¼ÂÁõÎã¤Ï¥Æ¡¼¥Ö¥ë¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¤¬¡¢¤½¤Î¥Æ¡¼¥Ö¥ë¤Ï¤É¤³¤«¤é½Ð¤Æ¤¯¤ë¤Î¤«¡©
¤³¤Á¤é¤Î¥Ú¡¼¥¸¤òÆÉ¤ó¤Çµ¿Ì䤬²ò·è¤·¤Þ¤·¤¿¡£
º£²ó¤ÎºîÀ®¤·¤¿ZipŸ³«¥ë¡¼¥Á¥ó¤Ï¡¢¥Æ¡¼¥Ö¥ë¤òÍøÍѤ·¤Ê¤¤´ðËÜŪ¤ÊÊýË¡¤Ç¼ÂÁõ¤·¤Æ¤ß¤Þ¤·¤¿¡£
* Sat May 13 16:00:00 JST 2004 Naoyuki Sawa
- Zlib¤ò¼ÂÁõ¤·¤Æ¤ß¤ë#1
2002ǯ6·î14Æü¡Á17Æü¤ÎP/ECE¸¦µæµÏ¿¡Özlib¤ò»È¤¦#1¡Á3¡×¤Ë¤Æ¡¢P/ECEÍÑ¥×¥í¥°¥é¥à¤ÇZlib¤ò»È¤¦ÊýË¡¤òÄ´¤Ù¤Þ¤·¤¿¡£
¤½¤Î¸å¡¢¤¤¤¯¤Ä¤«¤Î¼«ºî¥×¥í¥°¥é¥à¤Ç¡¢¼ÂºÝ¤ËZlib¤òÍøÍѤ·¤Þ¤·¤¿¡£
¤½¤ì¤é¤Ï°ì±þ¾å¼ê¤¯Æ°ºî¤·¤¿¤Î¤Ç¤¹¤¬¡¢P/ECEÍÑ¥×¥í¥°¥é¥à¤Ç¤ÏZlib¤¬»È¤¤¤Å¤é¤¤¤È´¶¤¸¤ëÅÀ¤â¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤·¤¿¡£
¤¤¤Á¤Ð¤ó¤ÎÌäÂê¤Ï¡¢¡Özlib¤ò»È¤¦#1¡Á3¡×¤Ç¤â½ñ¤¤¤¿¤è¤¦¤Ë¡¢¥á¥â¥ê¾ÃÈñÎ̤¬Â¿¤¹¤®¤ëÅÀ¤Ç¤¹¡£
°µ½Ì¥Ç¡¼¥¿¤ò³ÊǼ¤·¤Æ¤ª¤¯ÆþÎϥХåե¡¡¢Å¸³«¥Ç¡¼¥¿¤òºîÀ®¤¹¤ë¤¿¤á¤Î½ÐÎϥХåե¡¤Î¾¤Ë¡¢Ìó35¥¥í¥Ð¥¤¥È¤Îºî¶ÈÍÑ¥á¥â¥ê¤¬É¬ÍפǤ¹¡£
P/ECEÍÑ¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¼ÂºÝ¤ËÍøÍѤ¹¤ë°µ½Ì¥Ç¡¼¥¿¤äŸ³«¥Ç¡¼¥¿¤Ï¤µ¤Û¤ÉÂ礤¯¤¢¤ê¤Þ¤»¤ó¡£¤¿¤¤¤Æ¤¤¿ô¥¥í¥Ð¥¤¥ÈÄøÅ٤Ǥ¹¡£
¤½¤ì¤è¤ê¤â¡¢ZlibÆâÉô¤Î°ì»þŪ¤Êºî¶ÈÍÑ¥á¥â¥ê¤Î¤¿¤á¤Ë¡¢35¥¥í¥Ð¥¤¥È¤âɬÍפʤΤ¬¤«¤Ê¤ê¸·¤·¤¤¤È¤³¤í¤Ç¤¹¡£
Zlib¤¬ºî¶ÈÍÑ¥á¥â¥ê¤ò³ÎÊݤǤ¤Ê¤¤¤È¡¢Å¸³«½èÍý¤¬¼ºÇÔ¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤Î¸å¡ÖP/ECE HAND BOOK¡×¤Ë¡¢P/ECE¥«¡¼¥Í¥ë¥½¡¼¥¹¤ÎŸ³«¥ë¡¼¥Á¥ó¤ò»È¤¦ÊýË¡¤¬·ÇºÜ¤µ¤ì¤Þ¤·¤¿¡£
P/ECE¥«¡¼¥Í¥ë¥½¡¼¥¹¤ÎŸ³«¥ë¡¼¥Á¥ó¤âƱ¤¸Zlib¤Ç¤¹¤¬¡¢P/ECE¤Î¥á¥â¥ê¹½À®¤ËÆÃ²½¤·¤Æ¤¤¤Æ¡¢¤è¤ê¾¯¤Ê¤¤¥á¥â¥ê¤ÇŸ³«½èÍý¤¬²Äǽ¤Ç¤¹¡£
¤Þ¤¿¡¢¡ÖP/ECE HAND BOOK¡×¤ÎÊýË¡¤ò¸µ¤Ë¤·¤Æ¡¢Ê£¿ô¤Î°µ½Ì¥Õ¥¡¥¤¥ë¤ò¤Þ¤È¤á¤Æ°·¤¦ÊýË¡¤¬¡¢
¡Ö¤Æ¤È¤é¡ú¤Ý¤Ã¤È(http://www.zurachu.net/)¡×¤µ¤ó¤Î¥µ¥¤¥È¤Ç¾Ò²ð(http://www.zurachu.net/piece/tips/ppack.html)¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Zlib¤Ë¤³¤À¤ï¤é¤Ê¤±¤ì¤Ð¡¢¤è¤ê¹â®¤Ê°µ½Ì¡¦Å¸³«ÊýË¡¤¬¡Öp/ware(http://park17.wakwak.com/~hitode/piece/index.html)¡×¤µ¤ó¤Î¥µ¥¤¥È¤Ç
¾Ò²ð(http://park17.wakwak.com/~hitode/piece/index.html#plz)¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤ÎÊýË¡¤ò»È¤ï¤»¤Æ¤â¤é¤¨¤Ð¼ÂÍѾå¤ÏÌäÂê²ò·è¤Ê¤Î¤Ç¤¹¤¬¡¢¤â¤¦¾¯¤·¤À¤±ÁǤÎZlib¤Ë¤³¤À¤ï¤Ã¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
¤½¤â¤½¤âËͤ¬Zlib¤ÎÆâÉôưºî¤òÍý²ò¤·¤Ê¤¤¤Þ¤Þ»È¤Ã¤Æ¤¤¤¿¤Î¤¬ÌäÂê¤Ê¤Î¤Ç¡¢¤³¤Îµ¡²ñ¤ËÊÙ¶¯¤·¤Æ¤ß¤è¤¦¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
¤µ¤Æ¡¢¤Ê¤¼Zlib¤Ï¤³¤ó¤Ê¤ËÂ礤ʺî¶ÈÍÑ¥á¥â¥ê¤òɬÍפȤ¹¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
Zlib¤Î°µ½Ì¡¦Å¸³«¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢¡Ö¥Ï¥Õ¥Þ¥óÉ乿²½¡×¤È¡Ö¥¹¥é¥¤¥É¼½ñ°µ½Ì¡×¤Ë´ð¤Å¤¤¤Æ¤¤¤Þ¤¹¡£
¥Ï¥Õ¥Þ¥óÉ乿²½¤Ï¡¢ÉÑÈˤ˸½¤ì¤ëÃͤ˾®¤µ¤ÊÉ乿¡¢µ©¤Ë¸½¤ì¤ëÃͤËÂ礤ÊÉ乿¤ò³ä¤ê¿¶¤Ã¤Æ¡¢Á´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ëÊýË¡¤Ç¤¹¡£
¥Ï¥Õ¥Þ¥óÉ乿²½¤ÎŸ³«½èÍý¤Ë¤Ï¡¢¡Ö¥Ï¥Õ¥Þ¥óÌڡפȤ¤¤¦¥Ç¡¼¥¿¹½Â¤¤¬ÍøÍѤµ¤ì¤Þ¤¹¡£
¡Ö¥Ï¥Õ¥Þ¥óÌڡפϡ¢¥Ï¥Õ¥Þ¥óÉ乿¤«¤é¸µ¤ÎÃͤËÊÑ´¹¤¹¤ë¤¿¤á¤Î¼½ñ¤È¤Ê¤ê¤Þ¤¹¡£
¡Ö¥Ï¥Õ¥Þ¥óÌڡפòºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢¤¤¤¯¤é¤«¤Î¥á¥â¥ê¤¬É¬ÍפǤ¹¡£
¤³¤ì¤¬¡¢Zlib¤¬Â礤ʺî¶ÈÍÑ¥á¥â¥ê¤òɬÍפȤ¹¤ëÍýͳ¤Î°ì¤ÄÌܤǤ¹¡£
¤·¤«¤·¼ÂºÝ¤Ë¤Ï¡¢Zlib¤ÇÍøÍѤµ¤ì¤ë¡Ö¥Ï¥Õ¥Þ¥óÌڡפϤµ¤Û¤ÉÂ礤ʥǡ¼¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤»¤¤¤¼¤¤¿ô¥¥í¥Ð¥¤¥ÈÄøÅ٤Ǥ¹¡£
¤è¤êÂ礤ʥá¥â¥ê¤òɬÍפȤ·¤Æ¤¤¤ë¤Î¤Ï¡¢¥¹¥é¥¤¥É¼½ñ°µ½Ì¥¢¥ë¥´¥ê¥º¥à¤ÇÍøÍѤµ¤ì¤ë¡Ö¥¹¥é¥¤¥ÉÁë¡×¥Ç¡¼¥¿¹½Â¤¤Ç¤¹¡£
¥¹¥é¥¤¥É¼½ñ°µ½Ì¤È¤Ï¡¢Æ±¤¸¥Ñ¥¿¡¼¥ó¤Î¥Ç¡¼¥¿Ê¤Ӥòµ÷Î¥¤ÈŤµ¤ËÃÖ¤´¹¤¨¤Æ¡¢Á´ÂΤΥµ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ëÊýË¡¤Ç¤¹¡£
Î㤨¤Ð¡Ö012345678901234¡×¤È¤¤¤¦¥Ç¡¼¥¿Ê¤Ӥ¬¤¢¤Ã¤¿¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ç°µ½Ì¤·¤Þ¤¹¡£
¡Ö0123456789¡¢10ʸ»úÁ°¤«¤é¡¢5ʸ»ú·«¤êÊÖ¤·¡×
¤È¤³¤í¤Ç¡¢Zlib¤Î¼ÂÁõ¤ÏÆþÎϤâ½ÐÎϤâ´ðËÜŪ¤Ë¥¹¥È¥ê¡¼¥ß¥ó¥°¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢°ìÅÙÆÉ¤ß¹þ¤ó¤À¥Ç¡¼¥¿¤ÏºÆ¤ÓÆÉ¤ß¹þ¤á¤Ê¤¤¡¢°ìÅÙ½ÐÎϤ·¤¿¥Ç¡¼¥¿¤Ï¤â¤¦Ëº¤ì¤¿¡¢¤È¤¤¤¦¤ï¤±¤Ç¤¹¡£
¤·¤«¤·¡¢10ʸ»úÁ°¤Î¥Ç¡¼¥¿¤ò¤â¤¦°ìÅÙ½ÐÎϤ¹¤ë¤¿¤á¤Ë¤Ï¡¢10ʸ»úÁ°¤Ë½ÐÎϤ·¤¿¥Ç¡¼¥¿¤ò³Ð¤¨¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¤½¤³¤Ç¡¢¤¤¤¯¤é¤«¤Î½ÐÎϥХåե¡¤òÍѰդ·¡¢²áµî²¿Ê¸»úʬ¤«¤Î½ÐÎÏÍúÎò¤òµ²±¤·¤Æ¤ª¤¤Þ¤¹¡£
¤³¤ì¤ò¡Ö¥¹¥é¥¤¥ÉÁë¡×¤È¸Æ¤Ó¤Þ¤¹¡£
Zlib¤Î»ÅÍͤǤϡ¢ºÇÂç¤Ç¡Ö3Ëü2Àéʸ»úÁ°¤«¤é¡¢258ʸ»ú·«¤êÊÖ¤·¡×¤È¤¤¤¦»Ø¼¨¤¬Í¤êÆÀ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
½¾¤Ã¤Æ¡¢²áµî3Ëü2Àéʸ»úʬ¤Î½ÐÎÏÍúÎò¤òµ²±¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¤Ä¤Þ¤ê¡¢32¥¥í¥Ð¥¤¥È¤Î¥¹¥é¥¤¥ÉÁ뤬ɬÍפȤʤê¤Þ¤¹¡£
¤³¤ì¤Çµ¿Ì䤬²ò·è¤·¤Þ¤·¤¿¡£35¥¥í¥Ð¥¤¥È¤Îºî¶ÈÍÑ¥á¥â¥ê¤ÎÂçÉôʬ¤Ï¡¢¥¹¥é¥¤¥ÉÁë¤Ë»È¤ï¤ì¤Æ¤¤¤¿¤Î¤Ç¤¹¡£
¤µ¤Æ¡¢¤µ¤¤Û¤É¡ÈZlib¤Î¼ÂÁõ¤ÏÆþÎϤâ½ÐÎϤâ´ðËÜŪ¤Ë¥¹¥È¥ê¡¼¥ß¥ó¥°¡É¤À¤«¤é¥¹¥é¥¤¥ÉÁ뤬ɬÍס¢¤È½ñ¤¤Þ¤·¤¿¡£
¤è¤ê¸ÂÄꤹ¤ë¤È¡¢¡È½ÐÎϤ¬¥¹¥È¥ê¡¼¥ß¥ó¥°¤À¤«¤é¡É½ÐÎÏÍúÎò¤òµ²±¤·¤Æ¤ª¤¯¤¿¤á¤Ë¥¹¥é¥¤¥ÉÁ뤬ɬÍפȤʤê¤Þ¤¹¡£
¤Ç¤Ï¡¢½ÐÎϤò¥¹¥È¥ê¡¼¥ß¥ó¥°¤Ë¤¹¤ëɬÍפϤ¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
Ëͤ¬ºî¤Ã¤¿P/ECE¡õZlib»ÈÍÑ¤Î¥×¥í¥°¥é¥à¤Ç¡¢½ÐÎÏ¥¹¥È¥ê¡¼¥ß¥ó¥°¤ò³èÍѤ·¤¿¥±¡¼¥¹¤Ï¤¿¤Ã¤¿°ìÅÙ¤À¤±¤Ç¤·¤¿¡£
¡ÖVGM¥×¥ì¥¤¥ä¡¼¡×¤Ç¤¹¡£
VGM¥×¥ì¥¤¥ä¡¼¤Ç¤Ï¡¢VGZ·Á¼°¤Ç°µ½Ì¤µ¤ì¤¿±éÁեǡ¼¥¿¤ò¾¯¤·¤Å¤ÄŸ³«¤·¤Ê¤¬¤é±éÁÕ½èÍý¤ò¹Ô¤¤¤Þ¤·¤¿¡£
¤·¤«¤·¤³¤ì¤È¤ÆÁ´Å¸³«¥Ç¡¼¥¿¤Ï½¼Ê¬P/ECE¤Î¥á¥â¥ê¤Ë¼ý¤Þ¤ëÄøÅ٤Υµ¥¤¥º¤Ç¡¢¤à¤·¤íºî¶ÈÍÑ¥á¥â¥ê¤ÎÊý¤¬Â礤¤¤°¤é¤¤¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢P/ECE¾å¤ÇZlib¤Î½ÐÎÏ¥¹¥È¥ê¡¼¥ß¥ó¥°¤¬É¬ÍפȤʤ륱¡¼¥¹¤Ï¤Ê¤«¤Ã¤¿¡¢¤È¸À¤¨¤Þ¤¹¡£
¤è¤êÂ礤ʰµ½Ì¡¦Å¸³«¥Ç¡¼¥¿¤ò°·¤¦¡¢PC¾å¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¤¤¤¯¤Ö¤ó»ö¾ð¤âÊѤï¤Ã¤Æ¤¯¤ë¤Î¤Ç¤·¤ç¤¦¤¬¡¢
¾¯¤Ê¤¯¤È¤â¥²¡¼¥à¥×¥í¥°¥é¥à¤Ë¤ª¤¤¤Æ¤ÏÁ´¥Ç¡¼¥¿¤ò¥ª¥ó¥á¥â¥ê¤ËŸ³«¤¹¤ë¥±¡¼¥¹¤¬ÂçÉôʬ¤Ê¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£
¤½¤ó¤Ê¤ï¤±¤Ç¡¢¤É¤¦¤ä¤éZlib¤Î½ÐÎÏ¥¹¥È¥ê¡¼¥ß¥ó¥°¤ÏËͤˤÏɬÍפʤ¤¤è¤¦¤Ç¤¹¡£
Zlib¤Î½ÐÎÏ¥¹¥È¥ê¡¼¥ß¥ó¥°¤ò¤È¤ê¤ä¤á¤Æ¡¢ºî¶ÈÍÑ¥á¥â¥ê¤ÎɬÍ×Î̤ò¸º¤é¤¹¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¤µ¤Ã¤½¤¯Zlib¤Î¥½¡¼¥¹²þ¤¤Ë¤È¤ê¤«¤«¤Ã¤¿¤Î¤Ç¤¹¤¬¡¦¡¦¡¦Æñ²ò¤Ç¤¹(^^;
ZlibŸ³«¤Î¼ê½ç¤Ï¡¢¤µ¤Û¤ÉÊ£»¨¤Ê¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
ËܲȡÖThe gzip home page(http://www.gzip.org/)¡×¤µ¤ó¤Î¥µ¥¤¥È¤Î¡¢Zlib Home Site(http://www.gzip.org/zlib/)¡×
¢ª¡Özlib Documentation(http://www.gzip.org/zlib/zlib_docs.html)¡×¤Î¥Ú¡¼¥¸¤«¤é¡¢Zlib¤Î»ÅÍͽñ¤¬Æþ¼ê¤Ç¤¤Þ¤¹¡£
¥Ï¥Õ¥Þ¥óÌÚºîÀ®¤Î¤È¤³¤í¤¬Â¿¾¯¥È¥ê¥Ã¥¡¼¤Ç¤¹¤±¤ì¤É¡¢¤½¤ì°Ê³°¤Ï²ò¤ê°×¤¯¤Æ¥·¥ó¥×¥ë¤Ê»ÅÍͤǤ¹¡£
¤Ë¤â´Ø¤ï¤é¤ºZlib¤Î¥½¡¼¥¹¤¬Æñ²ò¤Ê¤Î¤Ï¡¢°Ü¿¢À¤È¹â®²½¤Î¤¿¤á¡¢¥×¥í¥°¥é¥à¤¬Ê£»¨²½¤·¤Æ¤¤¤ë¤Î¤¬¸¶°ø¤Î¤è¤¦¤Ç¤¹¡£
ÆÃ¤Ë¥Ï¥Õ¥Þ¥óÉü¹æ½èÍý¤Î¹â®²½¤Ë´Ø¤·¤Æ¤ÏÁêÅö¤ËÎϤ¬Æþ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¡¢¥½¡¼¥¹Á´ÂΤΤ«¤Ê¤ê¤ÎÉôʬ¤òÀê¤á¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤é¤ÎÊ£»¨¤Ê¥ë¡¼¥Á¥ó¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¤è¤¦¡¢½ÐÎÏ¥¹¥È¥ê¡¼¥ß¥ó¥°¤À¤±¤ò¼è¤ê¤ä¤á¤ë¤Î¤Ï¡¢¤Á¤ç¤Ã¤È´í¸±¤Ê´¶¤¸¤Ç¤¹¡£
¤½¤³¤Çº£²ó¤Ï¡¢Zlib¤Î¥½¡¼¥¹¤ò²þ¤¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¼«Á°¤ÇºÆ¼ÂÁõ¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¤Ç¤¤¢¤¬¤Ã¤¿¤Î¤¬¤³¤Á¤é¤Ç¤¹¡£
http://www.piece-me.org/archive/pzltest-20040313-piece.zip
http://www.piece-me.org/archive/pzltest-20040313-win32.zip
(¥Õ¥¡¥¤¥ëÆâÍÆ¤Ï¡¢README.TXT¤ò¤´Í÷²¼¤µ¤¤¡£¾ÜºÙ¤Ï¼¡²ó¤Ë¡£)
¢¨2004/03/14Äɵ: ¥Ð¥°½¤Àµ¤ª¤è¤ÓºÆÄ´À°¤·¤Þ¤·¤¿¡£
¡¡¤³¤Îµ»ö¤Î¤¤¤Á¤Ð¤óºÇ¸å¤Ë¡¢¹¹¿·ÈǤÎURL¤¬¤¢¤ê¤Þ¤¹¡£
P/ECEÍѤÈWindowsÍѤΥƥ¹¥È¥×¥í¥°¥é¥à¤òÍѰդ·¤Æ¤ß¤Þ¤·¤¿¡£
¤¤¤º¤ì¤âZlib°µ½Ì¤µ¤ì¤¿²èÁü¥Õ¥¡¥¤¥ë¤òŸ³«¤·¡¢²èÌÌɽ¼¨¤¹¤ë¥Æ¥¹¥È¥×¥í¥°¥é¥à¤Ç¤¹¡£
¥Æ¥¹¥È¥×¥í¥°¥é¥à¤ÏP/ECEÍѤÈWindowsÍѤÇÊÌ¡¹¤Ç¤¹¤¬¡¢ZlibŸ³«¥ë¡¼¥Á¥ó¤Î¥½¡¼¥¹¤Ï¤Û¤Ü¶¦Ä̤ȤʤäƤ¤¤Þ¤¹¡£
½ÐÎÏ¥¹¥È¥ê¡¼¥ß¥ó¥°¤ò¼è¤ê¤ä¤á¤¿¤Î¤Ç¡¢¥¹¥é¥¤¥ÉÁ뤬ÉÔÍפȤʤꡢºî¶ÈÍÑ¥á¥â¥ê¤Ï8¥¥í¥Ð¥¤¥ÈÄøÅ٤˸º¤ê¤Þ¤·¤¿¡£
¤â¤Ã¤È¸º¤é¤·¤Æ¤âÂç¾æÉפ½¤¦¤Ê¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤Ïº£¸å¤ÎÄ´À°²ÝÂê¤Ç¤¹¡£
¥ª¥ê¥¸¥Ê¥ë¤ÎZlib¤È°Û¤Ê¤ê¡¢°Ü¿¢À¡¦¹â®²½¤Ë´Ø¤¹¤ëÉôʬ¤Ï¥Ð¥Ã¥µ¥ê¤Ç¤¹¡£
°Ü¿¢À¤Ë´Ø¤·¤Æ¤Ï¡¢ËͤÏÅöÌÌP/ECE¡¢Windows¡¢¤¢¤ÈPCÍѤÎLinux¤°¤é¤¤¤Çư¤±¤Ð½¼Ê¬¤Ê¤Î¤Ç¡¢¤Û¤È¤ó¤É²¿¤â¹Í¤¨¤Æ¤¤¤Þ¤»¤ó¡£
32¥Ó¥Ã¥È´Ä¶¤Ç¡¢¥Ð¥¤¥È¥ª¡¼¥À¡¼¤â¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Ë·è¤áÂǤÁ¤Ç¤¹¡£
¹â®²½¤âÁ´¤¯¹Ô¤Ã¤Æ¤¤¤Þ¤»¤ó¤¬¡¢P/ECE¤Ç°·¤¦ÄøÅ٤Υǡ¼¥¿¥µ¥¤¥º¤Ê¤é¤Ð¡¢¤¢¤Þ¤ê°ã¤¤¤Ï´¶¤¸¤é¤ì¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
Âç¤Þ¤«¤Ë¸À¤Ã¤Æ¡¢1ÉÃÅö¤ê10¡Á15¥¥í¥Ð¥¤¥È¤°¤é¤¤¤ÎŸ³«Â®ÅÙ¤À¤È»×¤¤¤Þ¤¹¡£
ŰÄìŪ¤Ë´ÊÁDz½¤·¤¿¤Î¤Ç¡¢¥×¥í¥°¥é¥à¥µ¥¤¥º¤Ï¥Ø¥Ã¥À¤È¥½¡¼¥¹¹ç¤ï¤»¤Æ1000¹ÔÄøÅ٤˾®¤µ¤¯¤Ê¤ê¤Þ¤·¤¿¡£
¥ª¥ê¥¸¥Ê¥ë¤ÎZlib¤â¡¢¤â¤È¤â¤È¤Ï¤³¤ì¤°¤é¤¤´ÊÁǤÀ¤Ã¤¿¤È»×¤¦¤Î¤Ç¤¹¡£
Ť¯»È¤ï¤ì¤Æ¤¤¤í¤¤¤í¤Ê´Ä¶¤Ë°Ü¿¢¤µ¤ì¡¢¤Þ¤¿¶¯ÎϤ˹⮲½¤µ¤ì¤¿·ë²Ì¡¢¸½ºß¤Î¤è¤¦¤ËÊ£»¨¤Ê¼ÂÁõ¤Ë¤Ê¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¡£
º£²ó¼ÂÁõ¤·¤¿Zlib¥ë¡¼¥Á¥ó¤Ï¡¢¸À¤ï¤ÐÀèÁÄ´Ô¤ê¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£
P/ECE¤°¤é¤¤¤Îµ¬ÌϤδĶ¤Ë¤Ï¡¢¤³¤ì¤°¤é¤¤´ÊÁǤʼÂÁõ¤Ç½¼Ê¬¤Ê¤Î¤Ç¤Ï¤Ê¤¤¤«¤Ê¤¡¡¢¤È»×¤¤¤Þ¤·¤¿¡£
¡¦¡¦¡¦¤È¡¢¼ÂÁõ¤·¤Æ¤ß¤Æ¤«¤éP/ECE¥«¡¼¥Í¥ë¥½¡¼¥¹¤ÎŸ³«¥ë¡¼¥Á¥ó¤òÆÉ¤ßÊÖ¤¹¤È¡¢¿Þ¤é¤º¤â»÷¤¿´¶¤¸¤Ë¤Ê¤Ã¤Æ¤Þ¤¹¤Í¡£
¹Í¤¨¤ë¤³¤È¤ÏƱ¤¸¤Ç¤¹¤Í¤§(^^;
¡Ê³¤¤Þ¤¹¡Ä¡Ë
----------------------------------------------------------------------------------------------------
2004/03/14Äɵ:
¡¦¥Ð¥°½¤Àµ¤·¤Þ¤·¤¿¡£
¡¡Â礤ʰµ½Ì¥Ç¡¼¥¿¤òŸ³«¤¹¤ë¤È¡¢Å¸³«½èÍý¤Ë¼ºÇÔ¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ¤·¤Þ¤·¤¿¡£
¡¦ºî¶ÈÍÑ¥á¥â¥ê¥µ¥¤¥º¤òÄ´À°¤·¤Þ¤·¤¿¡£
¡¡ºòÆü¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢¥Ï¥Õ¥Þ¥óÌÚºîÀ®¤Î¤¿¤á¤Ë8¥¥í¥Ð¥¤¥È¤Îºî¶ÈÍÑ¥á¥â¥ê¤ò³ÎÊݤ·¤Æ¤¤¤Þ¤·¤¿¡£
¡¡¤¤¤¯¤Ä¤«¤Î°µ½Ì¥Ç¡¼¥¿¤ò»î¤·¤Æ¤ß¤¿¤È¤³¤í¡¢¼ÂºÝ¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤Î¤Ï¤½¤Î1/6ÄøÅ٤Ǥ·¤¿¡£
¡¡¤Á¤ç¤Ã¤È;͵¤¬¤¢¤ê¤¹¤®¤ë¤Î¤Ç¡¢ºî¶ÈÍÑ¥á¥â¥ê¤òȾʬ¤Î4¥¥í¥Ð¥¤¥È¤Ë¸º¤é¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¡¤Þ¤À3ÇÜÄøÅÙ¤Î;͵¤¬¤¢¤ê¤Þ¤¹¤«¤é¡¢¤¿¤Ö¤óÂç¾æÉפÀ¤È¤Ï»×¤¤¤Þ¤¹¤¬¡¢¤Á¤ç¤Ã¤ÈÃí°Õ¤¬É¬ÍפǤ¹¡£
¡¡¥ª¥ê¥¸¥Ê¥ë¤ÎZlib¤Ç¤â¡¢¥Ï¥Õ¥Þ¥óÌÚºîÀ®¤Î¤¿¤á¤Îºî¶ÈÍÑ¥á¥â¥ê¥µ¥¤¥º¤Ï¡¢¼Â¸³¤Ç·è¤á¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
¡¡ºî¶ÈÍÑ¥á¥â¥ê¤ÎºÇÂçɬÍ×¥µ¥¤¥º¤Ï¡¢ÍýÏÀ¤Çµá¤á¤é¤ì¤Ê¤¤¤ß¤¿¤¤¤Ç¤¹¡£
¥À¥¦¥ó¥í¡¼¥É¤Ï¤³¤Á¤é¡§
http://www.piece-me.org/archive/pzltest-20040314-piece.zip
http://www.piece-me.org/archive/pzltest-20040314-win32.zip
----------------------------------------------------------------------------------------------------
* Tue Dec 23 08:00:00 JST 2003 Naoyuki Sawa
- ¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî#4
¡ÊÁ°²ó¤«¤é¤Î³¤¡Ä¡Ë
°ú¤Â³¤¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¤¤¿¾ì¹ç¤Î¡¢¸íưºî¤ÎÍ̵¤ò¼Â¸³¤·¤Þ¤¹¡£
Á°¡¹²ó¤Ï¡Öjp.d %rb¡×¡¢Á°²ó¤Ï¡Öcall.d %rb¡×¡Öret.d¡×¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Þ¤·¤¿¡£
º£²ó¤Ï¡¢»Ä¤ê¤Î¡Öjp.d sign8¡×¡Öjr.d sign8¡×¡Öcall.d sign8¡×¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡û¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá
¡¡¡¡¡¡¡¡ 1. jp.d sign8
¡¡¡¡¡¡¡¡ 2. jr.d sign8
¡¡¡¡¡¡¡¡ 3. call.d sign8
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá
¡¡¡¡¡¡¡¡ 1. ld.b [%rb], %rs
¡¡¡¡¡¡¡¡ 2. ld.ub [%rb], %rs
¡¡¡¡¡¡¡¡ 3. ld.h [%rb], %rs
¡¡¡¡¡¡¡¡ 4. ld.uh [%rb], %rs
¡¡¡¡¡¡¡¡ 5. ld.w [%rb], %rs
¡¡¡¡¡¡¡¡ 6. ld.b %rd, [%rb]
¡¡¡¡¡¡¡¡ 7. ld.h %rd, [%rb]
¡¡¡¡¡¡¡¡ 8. ld.w %rd, [%rb]
¡¡¡¡¡¡¡¡¡ûʬ´ô¸µ¡¦Ê¬´ôÀè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Àè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
Á°²ó¤Þ¤Ç¤È°Û¤Ê¤ê¡¢Ê¬´ô¸µ¤Èʬ´ôÀè¤Î¥á¥â¥ê¤Î¼ïÎब°ã¤¦¥Ñ¥¿¡¼¥ó¤Ë¤Ä¤¤¤Æ¤Ï¼Â¸³¤·¤Æ¤¤¤Þ¤»¤ó¡£
¡Öjp.d sign8¡×¡Öjr.d sign8¡×¡Öcall.d sign8¡×¤ÏÁ°¸å256¥Ð¥¤¥È¤Þ¤Ç¤ÎÈϰϤˤ·¤«Ê¬´ô¤Ç¤¤Ê¤¤¤¿¤á¡¢
¹â®RAM(0x0000¡Á0x1fff)¤«¤éSRAM(0x100000¡Á0x13ffff)¤Ø¡¢¤¢¤ë¤¤¤ÏSRAM¤«¤é¹â®RAM¤Ø¤Ï¡¢±ó¤¹¤®¤ÆÊ¬´ô¤Ç¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
¡Ê¡Öext¡×Ì¿Îá¤ÈÁȤ߹ç¤ï¤»¤ì¤ÐÁ°¸å256¥Ð¥¤¥È°Ê¾å¤ÎÈϰϤËʬ´ô¤Ç¤¤Þ¤¹¤¬¡¢¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤È¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î´Ö¤Ë¡Öext¡×Ì¿Î᤬Æþ¤ê¤Þ¤¹¡£
¡¡¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Î᤬¤¢¤ë¾õ¶·¤À¤±¤ò¥Æ¥¹¥È¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¡Öext¡×Ì¿Îá¤ò¶´¤à¥±¡¼¥¹¤Ïº£²ó¤Ï½ü³°¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£¡Ë
¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡¡Öjp.d sign8¡×¡¡¡¡¡¡ http://www.piece-me.org/archive/delyerr4-20031223.zip
¡¡¡¡¡¡¡¡¡Öjr.d sign8¡× http://www.piece-me.org/archive/delyerr5-20031223.zip
¡¡¡¡¡¡¡¡¡Öcall.d sign8¡×¡¡¡¡ http://www.piece-me.org/archive/delyerr6-20031223.zip
¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Î·ë²Ì½ÐÎÏ¥Õ¥¡¥¤¥ë(À¸¤ÎCSV·Á¼°)¤Ï¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡¡Öjp.d sign8¡×¡¡¡¡¡¡ http://www.piece-me.org/piece-lab/delyerr4-20031223-result.csv
¡¡¡¡¡¡¡¡¡Öjr.d sign8¡× http://www.piece-me.org/piece-lab/delyerr5-20031223-result.csv
¡¡¡¡¡¡¡¡¡Öcall.d sign8¡×¡¡¡¡ http://www.piece-me.org/piece-lab/delyerr6-20031223-result.csv
½ÐÎÏ·ë²Ì¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë²Ã¹©¤·¤Æ¤ß¤¿¤Î¤¬¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡¡Öjp.d sign8¡×¡¡¡¡¡¡ http://www.piece-me.org/piece-lab/delyerr4-20031223-kekka.csv
¡¡¡¡¡¡¡¡¡Öjr.d sign8¡× http://www.piece-me.org/piece-lab/delyerr5-20031223-kekka.csv
¡¡¡¡¡¡¡¡¡Öcall.d sign8¡×¡¡¡¡ http://www.piece-me.org/piece-lab/delyerr6-20031223-kekka.csv
·ë²Ì¡¢
¡¡¡¡¡¡¡¡--------------------------------
¡¡¡¡¡¡¡¡Á´¤Æ¤ÎÁȤ߹ç¤ï¤»¤Ç¡¢¸íưºî̵¤·¡ª
¡¡¡¡¡¡¡¡--------------------------------
¡Öjp.d sign8¡×¡Öjr.d sign8¡×¡Öcall.d sign8¡×¤Ï¤¤¤º¤ì¤âÈó¾ï¤Ë»ÈÍÑÉÑÅ٤ι⤤¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Ç¡¢¤³¤ì¤Þ¤Ç¤Ë¤â¿ÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤Þ¤Ç¤Î»ÈÍѤˤª¤¤¤ÆÆÃ¤ËÌäÂê¤ÏȯÀ¸¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¸íưºî¾ò·ï¤¬Â¸ºß¤·¤Ê¤¤¤Î¤âͽÁÛÄ̤ê¤Ç¤·¤¿¡£
--------------------------------------------------------------------------------------------------
°Ê¾å¡¢»Í²ó¤ËÅϤäơ¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî¾ò·ï¤òÄ´¤Ù¤Æ¤¤Þ¤·¤¿¡£
¤Þ¤ÀÁ´¤Æ¤Î¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤äÁ´¤Æ¤Î¾ò·ï¤ÎÁȤ߹ç¤ï¤»¤ò»î¤·¤¿¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢¤È¤ê¤¢¤¨¤º¤³¤³¤ÇÁí³ç¤·¤Æ¤ß¤Þ¤¹¡£
·ë¶É¡¢¥Þ¥Ë¥å¥¢¥ë¤ËµºÜ¤µ¤ì¤Æ¤¤¤Ê¤¤¸íưºî¾ò·ï¤¬Â¸ºß¤¹¤ë¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Ï¡¢¡Öjp.d %rb¡×¤À¤±¤Ç¤·¤¿¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤Ã¤Æ¥×¥í¥°¥é¥à¤òºÇŬ²½¤¹¤ë¾ì¹ç¤Ë¡¢Ãí°Õ¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¥ë¡¼¥ë¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹¡§
¡¡¡¡¡¡¡¡¡Ø¡Öjp.d %rb¡×Ì¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¤¤Æ¤Ï¤¤¤±¤Ê¤¤¡Ù
¤È¤ê¤¢¤¨¤º¤³¤Î¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ¤ª¤±¤Ð¡¢¸íưºî¤¹¤ë¤³¤È¤Ï¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£
¤è¤ê¾Ü¤·¤¤¸íưºî¾ò·ï¤Ë¤Ä¤¤¤Æ¤Ï¡¢Á°¡¹²ó¤Î¸¦µæµÏ¿¡Ø¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî#2¡Ù¤ò¤´»²¾È¤¯¤À¤µ¤¤¡£
¤³¤Î¥ë¡¼¥ë¡¢S1C33209 CPU¤Î¥Þ¥Ë¥å¥¢¥ë¤Ë¤ÏºÜ¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
¥Þ¥Ë¥å¥¢¥ë¤ÎµºÜϳ¤ì¤«¡¢¤¢¤ë¤¤¤ÏÁÛÄê³°¤Î¸íưºî¤Ê¤Î¤«¡¦¡¦¡¦¤¤¤º¤ì¤Ë¤»¤è¡¢´í¸±ÅÙ¡ÖÂç¡×¤Ç¤¹¡£
* Mon Dec 22 22:00:00 JST 2003 Naoyuki Sawa
- ¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî#3
¡ÊÁ°²ó¤«¤é¤Î³¤¡Ä¡Ë
Á°²ó¤Ï¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¡Öjp.d %rb¡×¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¤¤¿¾ì¹ç¤Î¡¢¸íưºî¤ÎÍ̵¤ò¼Â¸³¤·¤Þ¤·¤¿¡£
¤½¤Î·ë²Ì¡¢¤¤¤¯¤Ä¤«¤ÎÁȤ߹ç¤ï¤»¤Ç¸íưºî¤¹¤ë¤³¤È¤¬¤ï¤«¤ê¡¢
¡Ø¡Öjp.d %rb¡×Ì¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¤¤Æ¤Ï¤¤¤±¤Ê¤¤¡Ù
¤È¤¤¤¦·ëÏÀ¤¬ÆÀ¤é¤ì¤Þ¤·¤¿¡£
º£²ó¤Ï¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¡Öcall.d %rb¡×¤È¡Öret.d¡×¤Ë¤Ä¤¤¤Æ¡¢Æ±Íͤ˼¸³¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£
Á°²ó¼Â¸³¤·¤¿¡Öjp.d %rb¡×Ì¿Îá¡¢¼Â¤Ï¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ÎÃæ¤Ç¤Ï¤¤¤Á¤Ð¤ó»ÈÍÑÉÑÅÙ¤¬Ä㤤¤Ç¤¹¡£
¡Öjp %rb¡×¤ò»È¤¦¾ìÌ̤ϥơ¼¥Ö¥ë¥¸¥ã¥ó¥×½èÍý¤°¤é¤¤¤·¤«¤Ê¤¯¡¢C¸À¸ì¤Ç¤Ïswitchʸ¤ËÁêÅö¤·¤Þ¤¹¡£
switchʸ¤Î¼Â¹ÔÀǽ¤¬¥×¥í¥°¥é¥àÁ´ÂΤÎÀǽ¤ËÂ礤¯±Æ¶Á¤¹¤ë¤è¤¦¤Ê¥±¡¼¥¹¤Ï¡¢Èæ³ÓŪ¾¯¤Ê¤¤¤È»×¤¤¤Þ¤¹¡£
½¾¤Ã¤Æ¡¢¡Öjp %rb¡×¤ò¡Öjp.d %rb¡×¤ËÃÖ¤´¹¤¨¤Æ¤Þ¤Ç½èÍý®ÅÙ¤ò²Ô¤°¤è¤¦¤Ê¾ìÌ̤⡢¤¢¤Þ¤ê¤Ê¤¤¤È»×¤¦¤«¤é¤Ç¤¹¡£
¡Öjp.d %rb¡×¤Ë³Ó¤Ù¤Æ¡¢¡Öcall.d %rb¡×¤È¡Öret.d¡×¤Î»ÈÍÑÉÑÅ٤ϤϤ뤫¤Ë¹â¤¤¤Ç¤¹¡£
¡Öcall.d %rb¡×¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¸Æ¤Ó½Ð¤·¤Ë¸Â¤é¤º¡¢ÉÑÈˤ˻Ȥ¦´Ø¿ô¤Î¥¢¥É¥ì¥¹¤ò¥ì¥¸¥¹¥¿¤ËÊÝ»ý¤¹¤ë¤è¤¦¤Ê¥±¡¼¥¹¤ÇÉѽФ·¤Þ¤¹¡£
¡Öret.d¡×¤Ï¡¦¡¦¡¦¼Â¤ÏËͤϤ¢¤Þ¤ê»È¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢EPSON¼Ò½ãÀµ¥é¥¤¥Ö¥é¥ê¤Î½ü»»¥ë¡¼¥Á¥ó¤¬¤³¤ì¤ò͸ú³èÍѤ·¤Æ¤¤¤Þ¤¹¡£
°ÊÁ°¤Î¸¦µæµÏ¿¡Ø¼Â¤Ï¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¡Ù¤Î²ó¤ò¤´»²¾È¤¯¤À¤µ¤¤¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢¡Öcall.d %rb¡×¡Öret.d¡×¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¤¤¿¾ì¹ç¤Î¡¢¸íưºî¤ÎÍ̵¤ò¼Â¸³¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¡¡¡¡¡¡¡¡û¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá
¡¡¡¡¡¡¡¡ 1. call.d %rb
¡¡¡¡¡¡¡¡ 2. ret.d
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá
¡¡¡¡¡¡¡¡ 1. ld.b [%rb], %rs
¡¡¡¡¡¡¡¡ 2. ld.ub [%rb], %rs
¡¡¡¡¡¡¡¡ 3. ld.h [%rb], %rs
¡¡¡¡¡¡¡¡ 4. ld.uh [%rb], %rs
¡¡¡¡¡¡¡¡ 5. ld.w [%rb], %rs
¡¡¡¡¡¡¡¡ 6. ld.b %rd, [%rb]
¡¡¡¡¡¡¡¡ 7. ld.h %rd, [%rb]
¡¡¡¡¡¡¡¡ 8. ld.w %rd, [%rb]
¡¡¡¡¡¡¡¡¡ûʬ´ô¸µ
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¡¡¡¡¡¡¡¡¡ûʬ´ôÀè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Àè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡¡Öcall.d %rb¡× http://www.piece-me.org/archive/delyerr2-20031222.zip
¡¡¡¡¡¡¡¡¡Öret.d¡×¡¡¡¡¡¡http://www.piece-me.org/archive/delyerr3-20031222.zip
¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Î·ë²Ì½ÐÎÏ¥Õ¥¡¥¤¥ë(À¸¤ÎCSV·Á¼°)¤Ï¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡¡Öcall.d %rb¡× http://www.piece-me.org/piece-lab/delyerr2-20031222-result.csv
¡¡¡¡¡¡¡¡¡Öret.d¡×¡¡¡¡¡¡http://www.piece-me.org/piece-lab/delyerr3-20031222-result.csv
½ÐÎÏ·ë²Ì¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë²Ã¹©¤·¤Æ¤ß¤¿¤Î¤¬¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡¡Öcall.d %rb¡× http://www.piece-me.org/piece-lab/delyerr2-20031222-kekka.csv
¡¡¡¡¡¡¡¡¡Öret.d¡×¡¡¡¡¡¡http://www.piece-me.org/piece-lab/delyerr3-20031222-kekka.csv
·ë²Ì¡¢
¡¡¡¡¡¡¡¡--------------------------------
¡¡¡¡¡¡¡¡Á´¤Æ¤ÎÁȤ߹ç¤ï¤»¤Ç¡¢¸íưºî̵¤·¡ª
¡¡¡¡¡¡¡¡--------------------------------
¡Ê¤Þ¤À¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¡Öpushn %rs¡×¡Öpopn %rd¡×¤È¤ÎÁȤ߹ç¤ï¤»¤ò»î¤·¤Æ¤¤¤Þ¤»¤¬¡¢Â¿Ê¬Âç¾æÉפ¸¤ã¤Ê¤¤¤«¤Ê¡©¤È»×¤¤¤Þ¤¹¡£¡Ë
¤³¤ì¤Ï½õ¤«¤ê¤Þ¤·¤¿¡ª
Á°½Ò¤ÎÄ̤ꡢ¼êºî¶È¤ÇºÇŬ²½¤ò¹Ô¤¦¾ì¹ç¤Ë¡Öcall.d %rb¡×¡Öret.d¡×¤ò»È¤¦¥±¡¼¥¹¤Ï¡¢¡Öjp.d %rb¡×¤è¤ê¤â¤º¤Ã¤È¿¤¤¤Ç¤¹¡£
¡Öcall.d %rb¡×¤È¡Öret.d¡×¤Ë¸íưºî¾ò·ï¤¬¤¢¤Ã¤¿¤é¡¢¤«¤Ê¤ê¥ä¥Ð¥¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤³¤í¤Ç¤·¤¿¡£
¡¡¡¡¡¡¡¡¡Ø¡Öcall.d %rb¡×¡Öret.d¡×¤Î»ÈÍѤˤª¤¤¤Æ¤Ï¡¢»ÅÍͳ°¤Î¸íưºî¤ò¿´ÇÛ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡Ù
¤µ¤Æ¡¢»Ä¤ë¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Ï¡Öjp.d sign8¡×¡Öjr.d sign8¡×¡Öcall.d sign8¡×¤Ç¤¹¡£
¤³¤ì¤é¤ÎÌ¿Îá¤âÈó¾ï¤Ë»ÈÍÑÉÑÅÙ¤¬¹â¤¤¤Ç¤¹¤¬¡¢¤³¤ì¤Þ¤Ç¤Ë¤µ¤ó¤¶¤ó»È¤Ã¤ÆÆÃ¤ËÌäÂ꤬½Ð¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢Â¿Ê¬Âç¾æÉפÀ¤È»×¤¤¤Þ¤¹¡£
¼¡²ó¡¢¼Â¸³Í½Äê¤Ç¤¹¡£
(³¤¤Þ¤¹¡Ä)
* Sat Dec 20 12:00:00 JST 2003 Naoyuki Sawa
- ¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî#2
¡ÊÁ°²ó¤«¤é¤Î³¤¡Ä¡Ë
²¿Ä̤꤫¤Î¥Ñ¥¿¡¼¥ó¤Ç¸¡¾Ú¤ò¹Ô¤Ã¤Æ¤ß¤¿¤È¤³¤í¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Î᤬¸íưºî¤¹¤ë¾ò·ï¤¬¤ª¤Ü¤í¤²¤Ë¸«¤¨¤Æ¤¤Þ¤·¤¿¡£
¤½¤Î¾ò·ï¤È¤Ï¡¢¤ª¤ª¤è¤½¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¡Ø¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Î᤬¤¢¤ë¤È¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Ê¤¤¤³¤È¤¬¤¢¤ë¡Ù
Á°²ó¤Ï¥¤¥ó¥¿¡¼¥í¥Ã¥¯¾ò·ï¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯¿¨¤ì¤Þ¤·¤¿¤¬¡¢¤É¤¦¤ä¤é¥¤¥ó¥¿¡¼¥í¥Ã¥¯¤ÎÍ̵¤Ï´Ø·¸¤Ê¤¤´¶¤¸¤Ç¤¹¡£
Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤ò¹â®RAM¤ËÃÖ¤¤¤Æ¼Â¹Ô¤·¤¿¾ì¹ç¤Ë¤â¸íưºî¤È¤Ê¤ê¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡; ¤¢¤é¤«¤¸¤á%r10¤Ëʬ´ôÀ襢¥É¥ì¥¹¤¬Æþ¤Ã¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡xld.w %r4, 0x100000
¡¡¡¡¡¡¡¡xld.w %r5, [%r4+100]¡¡; ľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Î᤬¤¢¤ë¤È¡Ä
¡¡¡¡¡¡¡¡jp.d %r10¡¡¡¡¡¡¡¡¡¡¡¡ ; ¥¤¥ó¥¿¡¼¥í¥Ã¥¯¤·¤Æ¤¤¤Ê¤¯¤Æ¤â¡Ä
¡¡¡¡¡¡¡¡add %r6, 1¡¡¡¡¡¡¡¡¡¡¡¡; ¡ú¼Â¹Ô¤µ¤ì¤Ê¤¤!!¡ú
ͽÁ۰ʾå¤Ë¡¢¸íưºî¤Î±Æ¶Á¤ò¼õ¤±¤ëÈϰϤ¬¹¤¤¤è¤¦¤Êµ¤¤¬¤·¤Æ¤¤Þ¤·¤¿¡£
¤³¤ì¤Ï¾ÜºÙ¤Ë¸¡¾Ú¤·¤Æ¤ß¤ëɬÍפ¬¤¢¤ê¤½¤¦¤Ç¤¹¡£
¤½¤ì¤Ç¤Ï¡¢¤É¤ì¤°¤é¤¤¤Î¥Ñ¥¿¡¼¥ó¤ò¸¡¾Ú¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¾¯¤Ê¤¯¸«ÀѤâ¤Ã¤Æ¤â¡¢¼¡¤Ëµó¤²¤ë¤°¤é¤¤¤Î¸¡¾Ú¤ÏɬÍפ½¤¦¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¡û¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá
¡¡¡¡¡¡¡¡ 1. jp.d %rb
¡¡¡¡¡¡¡¡ 2. call.d %rb
¡¡¡¡¡¡¡¡ 3. ret.d
¡¡¡¡¡¡¡¡ 4. jp.d sign8
¡¡¡¡¡¡¡¡ 5. jr.d sign8
¡¡¡¡¡¡¡¡ 6. call.d sign8
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá
¡¡¡¡¡¡¡¡ 1. ld.b [%rb], %rs
¡¡¡¡¡¡¡¡ 2. ld.ub [%rb], %rs
¡¡¡¡¡¡¡¡ 3. ld.h [%rb], %rs
¡¡¡¡¡¡¡¡ 4. ld.uh [%rb], %rs
¡¡¡¡¡¡¡¡ 5. ld.w [%rb], %rs
¡¡¡¡¡¡¡¡ 6. ld.b %rd, [%rb]
¡¡¡¡¡¡¡¡ 7. ld.h %rd, [%rb]
¡¡¡¡¡¡¡¡ 8. ld.w %rd, [%rb]
¡¡¡¡¡¡¡¡ 9. pushn %rs
¡¡¡¡¡¡¡¡10. popn %rd
¡¡¡¡¡¡¡¡¡ûʬ´ô¸µ
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¡¡¡¡¡¡¡¡¡ûʬ´ôÀè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Àè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
6¡ß10¡ß2¡ß2¡ß2¡á480Ä̤ê¡Ä¤Á¤ç¤Ã¤Èµ¤¤¬±ó¤¯¤Ê¤Ã¤Æ¤¤Þ¤·¤¿(^^;
¤µ¤é¤ËÍߤò¸À¤¨¤Ð¡¢
¡¡¡¡¡¡¡¡¡¦³ÆÌ¿Î᤬extÌ¿Îá¤òȼ¤Ã¤Æ¤¤¤ë¤«Èݤ«
¡¡¡¡¡¡¡¡¡¦Ê¬´ôÀè¤ÎºÇ½é¤Ë¤¢¤ëÌ¿Îá¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°ã¤¤¤Ï¤¢¤ë¤«
Åù¤Î¾ò·ï¤âÊѤ¨¤Æ»î¤·¤Æ¤ß¤¿¤¤¤È¤³¤í¤Ç¤¹¡£
¤Ç¤â¡¢¤¤¤¤Ê¤êÁ´Éô¤Ï̵Íý¤½¤¦¤Ê¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤ºº£²ó¤Ï¼¡¤ÎÁȤ߹ç¤ï¤»¤À¤±¸¡¾Ú¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¡¡¡¡¡¡¡¡¡û¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá
¡¡¡¡¡¡¡¡ 1. jp.d %rb
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá
¡¡¡¡¡¡¡¡ 1. ld.b [%rb], %rs
¡¡¡¡¡¡¡¡ 2. ld.ub [%rb], %rs
¡¡¡¡¡¡¡¡ 3. ld.h [%rb], %rs
¡¡¡¡¡¡¡¡ 4. ld.uh [%rb], %rs
¡¡¡¡¡¡¡¡ 5. ld.w [%rb], %rs
¡¡¡¡¡¡¡¡ 6. ld.b %rd, [%rb]
¡¡¡¡¡¡¡¡ 7. ld.h %rd, [%rb]
¡¡¡¡¡¡¡¡ 8. ld.w %rd, [%rb]
¡¡¡¡¡¡¡¡¡ûʬ´ô¸µ
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¡¡¡¡¡¡¡¡¡ûʬ´ôÀè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
¡¡¡¡¡¡¡¡¡û¥á¥â¥ê¥¢¥¯¥»¥¹Àè
¡¡¡¡¡¡¡¡ 1. ¹â®RAM
¡¡¡¡¡¡¡¡ 2. SRAM
1¡ß8¡ß2¡ß2¡ß2¡á64Ä̤ꡣ
¤³¤ì¤À¤±¤Ç¤â¡¢¤¢¤ëÄøÅ٤η¹¸þ¤Ï¤Ä¤«¤á¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£
¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡http://www.piece-me.org/archive/delyerr1-20031220.zip
¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Î·ë²Ì½ÐÎÏ¥Õ¥¡¥¤¥ë(À¸¤ÎCSV·Á¼°)¤Ï¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡http://www.piece-me.org/piece-lab/delyerr1-20031220-result.csv
½ÐÎÏ·ë²Ì¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë²Ã¹©¤·¤Æ¤ß¤¿¤Î¤¬¤³¤Á¤é¡§
¡¡¡¡¡¡¡¡http://www.piece-me.org/piece-lab/delyerr1-20031220-kekka.csv
Microsoft ExcelÅù¤Î¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¥½¥Õ¥È¤ÇÆÉ¤ó¤Ç¤¯¤À¤µ¤¤¡£
½ÐÎÏ·ë²Ì¤«¤é¡¢¤¤¤¯¤Ä¤«¤Î¥ë¡¼¥ë¤¬¸«¤Æ¼è¤ì¤Þ¤¹¡£
----------------------------
ʬ´ôÀè¥á¥â¥ê¤Î¼ïÎà¤Ï´Ø·¸¤Ê¤¤
----------------------------
ʬ´ôÀè¥á¥â¥ê¤Î¼ïÎà(¹â®RAM/SRAM)¤À¤±¤¬°Û¤Ê¤ê¡¢Â¾¤Î¾ò·ï¤¬Á´¤ÆÆ±¤¸¥±¡¼¥¹¤Ç¤Ï¡¢É¬¤ºÆ±¤¸·ë²Ì¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
ʬ´ôÀè¥á¥â¥ê¤¬¹â®RAM¤Î¾ì¹ç¤ËÀµ¾ïưºî¤Ê¤é¡¢Ê¬´ôÀè¥á¥â¥ê¤òSRAM¤ËÊѤ¨¤Æ¤ß¤Æ¤âÀµ¾ïưºî¡£
ʬ´ôÀè¥á¥â¥ê¤¬¹â®RAM¤Î¾ì¹ç¤Ë¸íưºî¤Ê¤é¡¢Ê¬´ôÀè¥á¥â¥ê¤òSRAM¤ËÊѤ¨¤Æ¤ß¤Æ¤â¸íưºî¡£
¤³¤Î¥ë¡¼¥ë¤«¤é¿ä¬¤¹¤ë¤È¡¢¤¿¤Ö¤óʬ´ôÀè¤ÎºÇ½é¤Ë¤¢¤ëÌ¿Îá¤Î¼ïÎà¤â´Ø·¸¤Ê¤¤¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¡©¤È»×¤¤¤Þ¤¹¡£
--------------------------------
¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥µ¥¤¥º¤Ï´Ø·¸¤Ê¤¤
--------------------------------
¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥µ¥¤¥º(BYTE/UNSIGNED BYTE/HALF/UNSIGNED HALF/WORD)¤À¤±¤¬°Û¤Ê¤ê¡¢Â¾¤Î¾ò·ï¤¬Á´¤ÆÆ±¤¸¥±¡¼¥¹¤Ç¤Ï¡¢É¬¤ºÆ±¤¸·ë²Ì¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
SRAM¤Ø¤Î¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¾ì¹ç¡¢¥á¥â¥ê¥¢¥¯¥»¥¹¤Î¥µ¥¤¥º¤Ë¤è¤Ã¤Æ¥¿¥¤¥ß¥ó¥°¤¬°Û¤Ê¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤ì¤Ï¸íưºî¤Î¾ò·ï¤Ë¤Ï´Ø·¸¤Ê¤¤¤è¤¦¤Ç¤¹¡£
-----------------------------------------
ʬ´ô¸µ¥á¥â¥ê¤¬¹â®RAM¤Ê¤é¡¢É¬¤º¸íưºî¤¹¤ë
-----------------------------------------
º£²ó¤ÎºÇ½é¤ËÄ󼨤·¤¿¡¢¸íưºî¤¹¤ë¥³¡¼¥É¤Î¾ò·ï¤¬¤³¤ì¤ËÁêÅö¤·¤Þ¤¹¡£
¹â®RAM¤ËžÁ÷¤·¤Æ»È¤¦¥×¥í¥°¥é¥à¤òºÇŬ²½¤¹¤ë¾ì¹ç¤Ï¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤«¤Ê¤¤¤è¤¦¡¢Ãí°Õ¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
----------------------------------------------------------------
½ñ¤¹þ¤ß¥¢¥¯¥»¥¹Àè¥á¥â¥ê¤Èʬ´ô¸µ¥á¥â¥ê¤¬¶¦¤ËSRAM¤Ê¤é¡¢¸íưºî¤¹¤ë
----------------------------------------------------------------
º£²ó¤Î¸¡¾Ú¤Ç¿·¤¿¤Ë¸«¤Ä¤±¤¿¸íưºî¾ò·ï¤Ç¤¹¡£
Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¡¼¥É¤òSRAM¾å¤Ç¼Â¹Ô¤¹¤ë¤È¸íưºî¤·¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Î᤬¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡; ¤¢¤é¤«¤¸¤á%r10¤Ëʬ´ôÀ襢¥É¥ì¥¹¤¬Æþ¤Ã¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡xld.w %r4, 0x130000¡¡ ; ¥¢¥¯¥»¥¹Àè¥á¥â¥ê¡áSRAM
¡¡¡¡¡¡¡¡xld.w [%r4], %r5¡¡¡¡¡¡; ¥á¥â¥ê¥¢¥¯¥»¥¹¡á½ñ¤¹þ¤ß
¡¡¡¡¡¡¡¡jp.d %r10
¡¡¡¡¡¡¡¡add %r6, 1¡¡¡¡¡¡¡¡¡¡¡¡; ¡ú¼Â¹Ô¤µ¤ì¤Ê¤¤!!¡ú
¤Ê¤ª¡¢¤³¤Î¥³¡¼¥É¤ò¹â®RAM¾å¤Ç¼Â¹Ô¤·¤¿¾ì¹ç¤ÏÁ°½Ð¤Î¾ò·ï¤Ë°ìÃפ·¡¢¤ä¤Ï¤ê¸íưºî¤·¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢SRAM¤Ø¤Î½ñ¤¹þ¤ß¤Îľ¸å¤Ë¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤òÃÖ¤¤¤¿¾ì¹ç¤Ï¡¢¹â®RAM¤ËžÁ÷¤·¤Æ¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤Ê¤¯¤Æ¤â¸íưºî¤¹¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
º£²ó¤Î¸¡¾Ú¤Î¤Þ¤È¤á¤Ç¤¹¡£
½ÐÎÏ·ë²Ì¤ò¸«¤ë¤È¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ÎľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤¤¤Æ¤â¸íưºî¤·¤Ê¤¤¥±¡¼¥¹¤Ï¤¤¤¯¤Ä¤«Â¸ºß¤·¤Þ¤¹¡£
Î㤨¤Ð¡¢Ê¬´ô¸µ¥×¥í¥°¥é¥à¤¬SRAM¾å¤Ë¤¢¤ê¡¢¤«¤Ä¡¢Ä¾Á°¤Î¥á¥â¥ê¥¢¥¯¥»¥¹¤¬ÆÉ¤ß¹þ¤ß¤Ê¤é¤Ð¡¢¸íưºî¤·¤Þ¤»¤ó¡£
¤·¤«¤·¤Ê¤¬¤é¡¢ºÇ¸å¤Ëµó¤²¤¿¤è¤¦¤ÊÆÃ¼ì¾ò·ï²¼¤Ç¸íưºî¤¹¤ë¥±¡¼¥¹¤¬¤¢¤ë¤¿¤á¡¢°ÂÁ´¤Î¤¿¤á¤Ë¤Ï¼¡¤Ë¼¨¤¹Ã±½ã¤Ê¥ë¡¼¥ë¤Ë½¾¤Ã¤Æ¤ª¤¯¤Î¤¬Îɤµ¤½¤¦¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¡Ø¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ÎľÁ°¤Ë¤Ï¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Îá¤òÃÖ¤«¤Ê¤¤¡Ù
¤µ¤Æ¡¢º£²ó¤Ï¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¡Öjp.d %d¡×¤Ë¤Ä¤¤¤Æ¤À¤±¼Â¸³¤·¤Þ¤·¤¿¤¬¡¢Â¾¤Î¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¡Öcall.d %rb¡×¤ä¡Öjr.d sign8¡×Åù¤Ç¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡©
¤³¤ì¤Þ¤Ç¤Î·Ð¸³¤«¤é¿ä¬¤¹¤ë¤È¡¢¡Öjr.d sign8¡×¤ÏľÁ°¤Ë¥á¥â¥ê¥¢¥¯¥»¥¹Ì¿Î᤬¤¢¤Ã¤Æ¤âÂç¾æÉפ½¤¦¤Êµ¤¤¬¤¹¤ë¤Î¤Ç¤¹¤¬¡¦¡¦¡¦
¼¡²ó¤Ï¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¼ïÎà¤òÊѤ¨¤Æ»î¤·¤Æ¤ß¤è¤¦¤È»×¤¤¤Þ¤¹¡£
(³¤¤Þ¤¹¡Ä)
* Wed Dec 17 12:55:00 JST 2003 Naoyuki Sawa
- ¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Î¸íưºî#1
¡Ö¥¿¥ó¥¯¥Ð¥¿¥ê¥¢¥ó/EMU¡×¤Ë¤Æ¡¢6502¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¹â®²½¤Î¤¿¤á¤Ë¼êºî¶È¤Ç¥¢¥»¥ó¥Ö¥é¥×¥í¥°¥é¥à¤ÎºÇŬ²½¤ò¹Ô¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¼Â¤Ï¤«¤Ê¤ê¥Ï¥Þ¥ê¤Þ¤·¤¿¡£
ÌäÂê¤Î¸Ä½ê¤ÏÈæ³ÓŪ¾®¤µ¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¡¢²¿ÅÙ¸«Ä¾¤·¤Æ¤â´Ö°ã¤Ã¤Æ¤¤¤Ê¤¤¤Ï¤º¤Ê¤Î¤Ë¡¢¤É¤¦¤ä¤Ã¤Æ¤â´üÂÔÄ̤ê¤Îưºî¤ò¤·¤Ê¤¤¤Î¤Ç¤¹¡£
»ÈÍÑÉÑÅ٤ι⤤¥µ¥Ö¥ë¡¼¥Á¥ó¤À¤Ã¤¿¤Î¤Ç¹â®RAM¤ËžÁ÷¤·¤Æ¼Â¹Ô¤·¤Æ¤¤¤¿¤È¤³¤í¤ò¡¢»î¤·¤ËSRAM¤ËÌᤷ¤Æ¤ß¤ë¤È¤Ê¤¼¤«ÌäÂê¤Ê¤¯¼Â¹Ô¤Ç¤¤Æ¤·¤Þ¤¦¡¦¡¦¡¦²¿¸Î¡©
»¶¡¹Çº¤ó¤ÀËö¤Ë¡¢¤É¤¦¤ä¤é¸¶°ø¤é¤·¤¤â¤Î¤¬ÄϤá¤Þ¤·¤¿¡£S1C33209 CPU¥³¥¢¤Î¡ú¸íưºî¡ú¡¢¤µ¤â¤Ê¤¯¤ÐCPU¥Þ¥Ë¥å¥¢¥ë¤Î¡úµºÜϳ¤ì¡ú¤Ã¤Ý¤¤¤Ç¤¹¡£
º£²ó¤Ï¡¢¤³¤Î·ï¤Ë¤Ä¤¤¤ÆµÏ¿¤·¤Æ¤ª¤³¤¦¤È»×¤¤¤Þ¤¹¡£
P/ECE¤ÎCPU S1C33209¤Ï¡¢Â¿¤¯¤Î°ìÈÌŪ¤ÊRISC¥×¥í¥»¥Ã¥µ¤ÈƱ¤¸¤¯¡¢¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¡×¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤Ë¤Ä¤¤¤Æ¤Ï¡¢°ÊÁ°¤Î¸¦µæµÏ¿¡Ø¼Â¤Ï¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¡Ù¤Ç¤â¿¨¤ì¤Þ¤·¤¿¤Î¤Ç¡¢¤½¤Á¤é¤âÊ»¤»¤Æ¤´»²¾È¤¯¤À¤µ¤¤¡£
º£²óÌäÂê¤È¤Ê¤Ã¤¿¸Ä½ê¤Ï¡¢¼¡¤Î¤è¤¦¤Ê½èÍý¤ò¹Ô¤¦Éôʬ¤Ç¤·¤¿¡£(¢¨¤«¤Ê¤ê´Êά²½¤·¤Æ¤¤¤Þ¤¹)
¡¡¡¡¡¡¡¡¡Ø6502µ¡³£¸ìÌ¿Îá¤ò1¥Ð¥¤¥ÈÆÉ¤ß¹þ¤ß¡¢¤½¤ÎÆâÍÆ¤Ë¤è¤Ã¤ÆÊ¬´ô¤¹¤ë¡Ù
C¸À¸ì¤Ç½ñ¤¯¤È¡¢¤³¤ó¤Ê´¶¤¸¤Î½èÍý¤Ç¤¹¡£
--------------------------------------------------------------------------------------------------
¡¡¡¡¡¡¡¡unsigned char* pc = ...;
¡¡¡¡¡¡¡¡switch(*pc++) {
¡¡¡¡¡¡¡¡case 0: ...; break;
¡¡¡¡¡¡¡¡case 1: ...; break;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡...
¡¡¡¡¡¡¡¡case 9: ...; break;
¡¡¡¡¡¡¡¡}
--------------------------------------------------------------------------------------------------
¤³¤ì¤ò¥¢¥»¥ó¥Ö¥é¤Ç½ñ¤¯¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
--------------------------------------------------------------------------------------------------
1|¡¡¡¡¡¡¡¡¡¡;
2|¡¡¡¡¡¡¡¡¡¡; %r0¥ì¥¸¥¹¥¿¤ËÊÑ¿ôpc¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¤â¤Î¤È¤·¤Þ¤¹¡£
3|¡¡¡¡¡¡¡¡¡¡;
4|¡¡¡¡¡¡¡¡¡¡ld.ub %r1, [%r0]¡¡¡¡¡¡¡¡; code = *pc
5|¡¡¡¡¡¡¡¡¡¡xld.w %r2, TABLE¡¡¡¡¡¡¡¡; addr = TABLE[code]
6|¡¡¡¡¡¡¡¡¡¡sll %r1, 2
7|¡¡¡¡¡¡¡¡¡¡add %r1, %r2
8|¡¡¡¡¡¡¡¡¡¡ld.w %r3, [%r1]
9|¡¡¡¡¡¡¡¡¡¡jp.d %r3¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; goto addr
10|¡¡¡¡¡¡¡¡¡¡add %r0, 1¡¡¡¡¡¡¡¡¡¡¡¡¡¡; pc++
11|¡¡¡¡¡¡¡¡¡¡
12|¡¡TABLE:¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; switchÍÑ¥¸¥ã¥ó¥×¥Æ¡¼¥Ö¥ë
13|¡¡¡¡¡¡¡¡¡¡.word CASE0
14|¡¡¡¡¡¡¡¡¡¡.word CASE1
15|¡¡¡¡¡¡¡¡¡¡...
16|¡¡¡¡¡¡¡¡¡¡.word CASE9
17|¡¡¡¡¡¡¡¡
18|¡¡CASE0:
19|¡¡¡¡¡¡¡¡¡¡...¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ; code=0¤Î¾ì¹ç¤Î½èÍý
20|¡¡CASE1:
21|¡¡¡¡¡¡¡¡¡¡...¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ; code=1¤Î¾ì¹ç¤Î½èÍý
22|¡¡¡¡¡¡¡¡¡¡...
23|¡¡CASE9:
24|¡¡¡¡¡¡¡¡¡¡...¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ; code=9¤Î¾ì¹ç¤Î½èÍý
--------------------------------------------------------------------------------------------------
¢¨¤³¤ì°Ê¹ß¤ÎÀâÌÀ¤Ç¸Ä¡¹¤ÎÌ¿Îá¤Ë¤Ä¤¤¤Æ¼Â¹Ô¥µ¥¤¥¯¥ë¿ô¤òÄ´¤Ù¤Æ¹Ô¤¤Þ¤¹¤¬¡¢¤È¤ê¤¢¤¨¤º¥á¥â¥ê¥¢¥¯¥»¥¹»þ¤Î¥¦¥§¥¤¥È¥µ¥¤¥¯¥ë¤Ï½ü³°¤·¤Æ¹Í¤¨¤Þ¤¹¡£
9¡Á10¹ÔÌܤˤ´ÃíÌܤ¯¤À¤µ¤¤¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤Ã¤Æ¡¢¥¸¥ã¥ó¥×Ì¿Îá¤ò1¥µ¥¤¥¯¥ë¹â®²½¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡jp.d %r3¡¡¡¡¡¡¡¡; 1¥µ¥¤¥¯¥ë
¡¡¡¡¡¡¡¡add %r0, 1¡¡¡¡¡¡; 1¥µ¥¤¥¯¥ë
¤â¤·¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤ï¤º¤ËÉáÄ̤˽ñ¤±¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡add %r0, 1¡¡¡¡¡¡; 1¥µ¥¤¥¯¥ë
¡¡¡¡¡¡¡¡jp %r3¡¡¡¡¡¡¡¡¡¡; 2¥µ¥¤¥¯¥ë
½¾¤Ã¤Æ¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤Ã¤¿Êý¤¬1¥µ¥¤¥¯¥ë®¤¯¤Ê¤ê¤Þ¤¹¡£
¡¦¡¦¡¦¤È¸À¤¤¤¿¤¤¤È¤³¤í¤Ç¤¹¤¬¡¢¼Â¤Ï¤³¤Î¾ì¹ç¤Ë¸Â¤Ã¤Æ¸À¤¨¤Ð¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤Ã¤¿¾ì¹ç¤È»È¤ï¤Ê¤¤¾ì¹ç¤Î¥µ¥¤¥¯¥ë¿ô¤ÏÊѤï¤é¤Ê¤¤¤Î¤Ç¤¹¡£
8¡Á9¹ÔÌܤˤ´ÃíÌܤ¯¤À¤µ¤¤¡£
¡¡¡¡¡¡¡¡08|¡¡¡¡¡¡¡¡ld.w %r3, [%r1]
¡¡¡¡¡¡¡¡09|¡¡¡¡¡¡¡¡jp.d %r3
8¹ÔÌܤǥá¥â¥ê¤«¤éÆÉ¤ß¹þ¤ó¤À%r3¤ÎÃͤò¡¢Ä¾¸å¤Ë9¹ÔÌܤΥ¸¥ã¥ó¥×Ì¿Îá¤ÇÈô¤ÓÀ襢¥É¥ì¥¹¤È¤·¤Æ»²¾È¤·¤Æ¤¤¤Þ¤¹¡£
S1C33209 CPU¤Ç¤Ï¤³¤Î¤è¤¦¤Ê½èÍý¤ò¹Ô¤Ã¤¿¾ì¹ç¤Ë¡Ö¥¤¥ó¥¿¡¼¥í¥Ã¥¯¡×¤È¸Æ¤Ð¤ì¤ëÃٱ䤬ȯÀ¸¤·¡¢Ì¿Îá¤Î¼Â¹Ô»þ´Ö¤¬1¥µ¥¤¥¯¥ëŤ¯¤Ê¤ë¤Î¤Ç¤¹¡£
¾Ü¤·¤¯¤Ï¡ÖS1C33000¥³¥¢CPU¥Þ¥Ë¥å¥¢¥ë(33000Core-J.pdf)¡×34¥Ú¡¼¥¸¡Ø3.2 ¥×¥í¥°¥é¥à¼Â¹Ô¾õÂÖ (7) ¥¤¥ó¥¿¡¼¥í¥Ã¥¯¤Ë¤è¤ëÃÙ±ä¡Ù¤ò¤´»²¾È¤¯¤À¤µ¤¤¡£
·ë¶É¡¢9¡Á10¹ÔÌܤÎËÜÅö¤Î¼Â¹Ô¥µ¥¤¥¯¥ë¿ô¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡jp.d %r3¡¡¡¡¡¡¡¡; 1¥µ¥¤¥¯¥ë¡Ü1¥µ¥¤¥¯¥ë(¥¤¥ó¥¿¡¼¥í¥Ã¥¯)
¡¡¡¡¡¡¡¡add %r0, 1¡¡¡¡¡¡; 1¥µ¥¤¥¯¥ë
¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢¥¸¥ã¥ó¥×Ì¿Îá¤Î¼Â¹Ô»þ´Ö¤¬1¥µ¥¤¥¯¥ëŤ¤Âå¤ï¤ê¤Ë¥¤¥ó¥¿¡¼¥í¥Ã¥¯¤ÏȯÀ¸¤»¤º¡¢
¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤Ã¤¿¾ì¹ç¤Ï¡¢¥¸¥ã¥ó¥×Ì¿Îá¤Î¼Â¹Ô»þ´Ö¤¬1¥µ¥¤¥¯¥ëû¤¤Âå¤ï¤ê¤Ë¥¤¥ó¥¿¡¼¥í¥Ã¥¯¤¬È¯À¸¤·¤Þ¤¹¡£
½¾¤Ã¤Æ¤³¤Î¾ì¹ç¤Ë¸Â¤Ã¤Æ¸À¤¨¤Ð¡¢¤É¤Á¤é¤ÎÊýË¡¤ò»È¤Ã¤Æ¤âÁ´ÂΤΥµ¥¤¥¯¥ë¿ô¤Ï3¥µ¥¤¥¯¥ë¤È¤Ê¤ê¡¢¼Â¹Ô®ÅÙ¤ÏÆ±¤¸¤Ç¤¹¡£
¤Ç¤Ï¤Ê¤¼¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤¦Êý¤Î¥×¥í¥°¥é¥à¤òºÎÍѤ·¤¿¤«¤È¸À¤¦¤È¡¢¼¡¤Î¤è¤¦¤ÊȽÃǤˤè¤ê¤Þ¤¹¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤ï¤Ê¤¤Êý¤Î¹ç·×¼Â¹Ô¥µ¥¤¥¯¥ë¿ô¤Ï¡¢É¬¤º3¥µ¥¤¥¯¥ë¤È¤Ê¤ê¤Þ¤¹¡£Îã³°¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤½¤ì¤ËÂФ·¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤Ã¤¿¾ì¹ç¤Î¹ç·×¼Â¹Ô¥µ¥¤¥¯¥ë¿ô¤Ï¡¢Èó¾ï¤Ë¹¬±¿¤Ê¾ì¹ç¤Ë2¥µ¥¤¥¯¥ë¤È¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤É¤ó¤Ê¹¬±¿¤«¤È¸À¤¤¤Þ¤¹¤È¡¢8¡Á9¹ÔÌܤδ֤˳ä¤ê¹þ¤ß¤¬È¯À¸¤·¤¿¾ì¹ç¤Ç¤¹¡£
8¹ÔÌܤÎÌ¿Îá¼Â¹Ôľ¸å¤Ë¥¿¥¤¥Þ¤ä¥µ¥¦¥ó¥ÉÅù¤Î³ä¤ê¹þ¤ß¤¬È¯À¸¤¹¤ë¤È¡¢8¹ÔÌܤÈ9¹ÔÌܤδ֤dzä¤ê¹þ¤ß½èÍý¤ò¹Ô¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤¹¤ë¤È¡¢8¹ÔÌܤǥá¥â¥ê¤«¤éÆÉ¤ß¹þ¤ó¤À%r3¤ÎÃͤò¡¢¡Öľ¸å¤Ë¡×9¹ÔÌܤǻ²¾È¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
½¾¤Ã¤Æ9¹ÔÌܤǥ¤¥ó¥¿¡¼¥í¥Ã¥¯¤ÏȯÀ¸¤»¤º¡¢9¹ÔÌܤÈ10¹ÔÌܤιç·×¼Â¹Ô¥µ¥¤¥¯¥ë¿ô¤Ï2¥µ¥¤¥¯¥ë¤È¤Ê¤ê¤Þ¤¹¡£
¡¦¡¦¡¦¤È¤Ï¸À¤¨¤³¤ó¤Ê¹¬±¿¤ÏÌÇ¿¤Ë¤¢¤ë¤ï¤±¤Ç¤Ê¤·¡¢Á´ÂΤήÅÙ¤«¤é¸«¤ì¤Ð 0.00...01% ÄøÅ٤ΰ㤤¤Ç¤·¤«¤Ê¤¤¤Ç¤·¤ç¤¦¡£
¤É¤Á¤é¤ÎÊýË¡¤ò»È¤¦¤«¤ÏÁ´¤¯¡Èµ¤Ê¬¤ÎÌäÂê¡É¤Ç¤¢¤ê¡¢½ÅÍפʤΤϡ¢¤É¤Á¤é¤ÎÊýË¡¤Ç¤âÀµ¤·¤¯Æ°¤¯¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£
¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£¡¡¤³¤³¤Þ¤Ç¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£»ÅÍÍÄ̤ê¤Îưºî¤Ç¤¹¡£ÌäÂê¤Ï¤³¤³¤«¤é¡¡¢£¢£¢£¢£¢£¢£¢£¢£¢£¢£
¤È¤³¤í¤¬¼Â¤Ï¡¢¤¢¤ë¾ò·ï¤¬½Å¤Ê¤Ã¤¿¾ì¹ç¤Ë¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤¦Êý¤Î¥×¥í¥°¥é¥à¤ÏÀµ¤·¤¯Æ°¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤¢¤ë¾ò·ï¤È¤Ï¡¢
¡¡¡¡¡¡¡¡¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤ò¹â®RAM¾å¤Ç¼Â¹Ô¤·¤¿¾ì¹ç
¤Ç¤¹¡£¤ï¤¶¤ï¤¶¼êºî¶È¤ÇºÇŬ²½¤¹¤ë¤«¤é¤Ë¤Ï¹â®À¤¬É¬Íפʥµ¥Ö¥ë¡¼¥Á¥ó¤Ç¤¢¤ê¡¢¤â¤Á¤í¤ó¹â®RAM¤ËžÁ÷¤·¤Æ¼Â¹Ô¤¹¤ë¤Ç¤·¤ç¤¦¡£
º£²ó¤¬Àµ¤Ë¤³¤Î¥±¡¼¥¹¤ËÁêÅö¤·¤Þ¤·¤¿¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤ò»È¤¦Êý¤Î¥×¥í¥°¥é¥à¤ò¹â®RAM¤ËÃÖ¤¤¤Æ¼Â¹Ô¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¿¶¤ëÉñ¤¤¤È¤Ê¤ê¤Þ¤¹¡£(¢¨¥µ¥¤¥¯¥ë¿ô¤Ï¿ä¬¤Ç¤¹)
¡¡¡¡¡¡¡¡ 8|¡¡¡¡¡¡¡¡ld.w %r3, [%r1]¡¡¡¡¡¡; 1¥µ¥¤¥¯¥ë
¡¡¡¡¡¡¡¡ 9|¡¡¡¡¡¡¡¡jp.d %r3¡¡¡¡¡¡¡¡¡¡¡¡ ; 1¥µ¥¤¥¯¥ë¡Ü1¥µ¥¤¥¯¥ë(¥¤¥ó¥¿¡¼¥í¥Ã¥¯)
¡¡¡¡¡¡¡¡¡¡|¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ; ¡ú¤³¤³¤Ç¥¸¥ã¥ó¥×¤·¤Æ¤·¤Þ¤¦!!¡ú
¡¡¡¡¡¡¡¡10|¡¡¡¡¡¡¡¡add %r0, 1¡¡¡¡¡¡¡¡¡¡ ; ¡ú¼Â¹Ô¤µ¤ì¤Þ¤»¤ó!!¡ú
¤¹¤Ê¤ï¤Á¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤Ç¤¢¤ë¤Ï¤º¤Î10¹ÔÌÜ¡Öadd %r0, 1¡×¤¬¼Â¹Ô¤µ¤ì¤Ê¤¤¤Î¤Ç¤¹¡£
C¸À¸ì¤ËÎ㤨¤ë¤È¡¢
¡¡¡¡¡¡¡¡switch(*pc++) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡...
¡¡¡¡¡¡¡¡}
¤È½ñ¤¤¤¿¤Ä¤â¤ê¤¬¼ÂºÝ¤Îưºî¤Ï
¡¡¡¡¡¡¡¡switch(*pc) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡...
¡¡¡¡¡¡¡¡}
¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦»öÂÖ¡£Àµ¤·¤¤·ë²Ì¤¬ÆÀ¤é¤ì¤ë¤Ï¤º¤â¤¢¤ê¤Þ¤»¤ó¡£
¤³¤ì¤Ï´í¸±¤Ç¤¹!!
¤â¤¦¾¯¤·¾Ü¤·¤¯¡¢¾É¾õ¤¬È¯¸½¤¹¤ë¾ò·ï¤òÄ´¤Ù¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤½¤¦¤Ç¤¹¡£
(³¤¤Þ¤¹¡Ä)
* Mon May 5 05:30:00 JST 2003 Naoyuki Sawa
- ·Ù¹ð¤ÎÈϰϤ¬°ã¤¦
ºòÆü½ñ¤¤¤¿¡Öµ÷Î¥¤òµá¤á¤ë¡Ê¸íº¹¡ÞÌ󣱡ó¡¦30¥Ó¥Ã¥ÈÈǡˡפΥ¢¥»¥ó¥Ö¥é¥×¥í¥°¥é¥à¡¢¼Â¤Ï¤«¤Ê¤ê¥Ï¥Þ¥ê¤Þ¤·¤¿¡£
¤É¤¦¤ä¤Ã¤Æ¤â·ë²Ì¤¬¹ç¤ï¤º¡¢¤µ¤ó¤¶¤óǺ¤ó¤ÀËö¤Ë¸«¤Ä¤±¤¿¸¶°ø¤Ï¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤·¤¿¡£
Àµ¤·¤¯¤Ï
¡¡¡¡¡¡¡¡xld.w %r13, 55
¤È½ñ¤¯¤Ù¤¤È¤³¤í¤ò
¡¡¡¡¡¡¡¡ld.w %r13, 55
¤È½ñ¤¤¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¡£
P/ECE¤ÎCPU S1C33¤ÎÌ¿Î᥻¥Ã¥È¤Ï¡¢¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¡¢Â¨ÃͤË6¥Ó¥Ã¥È¤Þ¤Ç¤Î¿ôÃͤ·¤«»ØÄê¤Ç¤¤Þ¤»¤ó¡£
¤½¤ì°Ê¾å¤Î¥Ó¥Ã¥È¿ô¤Î¨Ãͤò»È¤¤¤¿¤¤¾ì¹ç¤Ï¡¢extÌ¿Îá¤ò»È¤Ã¤Æ·å¤ò³ÈÄ¥¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¾å¤ÎÎã¤Ëµó¤²¤¿¡Öld¡×Ì¿Îá¤Î¾ì¹ç¡¢Â¨ÃͤˤÏÉ乿ÉÕ¤6¥Ó¥Ã¥È¤Þ¤Ç¤·¤«»ØÄê¤Ç¤¤Þ¤»¤ó¡£
É乿ÉÕ¤6¥Ó¥Ã¥È¤Çɽ¸½¤Ç¤¤ë¿ôÃͤÏ-32¡Á31¤Ç¤¹¤Î¤Ç¡¢
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡ld.w %r13, 34 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 33 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 32 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 31 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡ld.w %r13, 30 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡ld.w %r13, 29 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡ld.w %r13, 1¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡ld.w %r13, 0¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡ld.w %r13, -1 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡ld.w %r13, -30¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡ld.w %r13, -31¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡ld.w %r13, -32¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡ld.w %r13, -33¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡ld.w %r13, -34¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡ld.w %r13, -35¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¤È¤Ê¤ê¤Þ¤¹¡£
¤Þ¤¿Ê̤ÎÎã¤È¤·¤Æ¡¢¡Öadd¡×Ì¿Îá¤Ê¤É¤Ï¨ÃͤËÉ乿¤Ê¤·6¥Ó¥Ã¥È¤Þ¤Ç¤Î¿ôÃͤ·¤«»ØÄê¤Ç¤¤Þ¤»¤ó¡£
É乿¤Ê¤·6¥Ó¥Ã¥È¤Çɽ¸½¤Ç¤¤ë¿ôÃͤÏ0¡Á63¤Ç¤¹¤Î¤Ç¡¢
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡add %r13, 66¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡add %r13, 65¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡add %r13, 64¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡add %r13, 63¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡add %r13, 62¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡add %r13, 61¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡add %r13, 1 ¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡add %r13, 0 ¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤
¡¡¡¡¡¡¡¡add %r13, -1¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡add %r13, -2¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡add %r13, -3¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¤È¤Ê¤ê¤Þ¤¹¡£
¤µ¤Æ¡¢º£²ó¤Î¥ß¥¹
¡¡¡¡¡¡¡¡ld.w %r13, 55
¤Ï¡¢¡Öld¡×Ì¿Î᤬°·¤¨¤ëÉ乿ÉÕ¤6¥Ó¥Ã¥È¤ÎÈϰϡÊ-32¡Á31¡Ë¤ò³°¤ì¤¿Â¨ÃÍ¡Ê55¡Ë¤ò»ØÄꤷ¤Æ¤·¤Þ¤Ã¤¿¤³¤È¤Ç¤¹¡£
³Î¤«¤ËÅöÊý¤Î¥ß¥¹¤Ê¤Î¤Ç¤¹¤¬¡¢ËÜÍè¡¢¤³¤¦¤¤¤¦¥ß¥¹¤ËÂФ·¤Æ¤Ï¥¢¥»¥ó¥Ö¥é¤¬·Ù¹ð¤òȯ¤¹¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡ÖWarning: Numeric range.¡§¥¤¥ó¥¹¥È¥é¥¯¥·¥ç¥ó¥ª¥Ú¥é¥ó¥É¤Î¿ôÃͤ¬ÉÔÀµ¤Ç¤¹¡£¡×
¡¡¡¡¡¡¡¡S1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸¥Þ¥Ë¥å¥¢¥ë Ver.4 (S5U1C33000C_J.pdf) 179¥Ú¡¼¥¸¤è¤ê
¤È¤³¤í¤¬¡¢¥¢¥»¥ó¥Ö¥é¤Ï¾å¤Î¥³¡¼¥É¤ËÂФ·¤Æ·Ù¹ð¤òȯ¤·¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤½¤·¤Æ¡¢55¤ò̵Íý¤ä¤êÉ乿ÉÕ¤6¥Ó¥Ã¥È¤È²ò¼á¤·¤¿Ãͤǡ¢Ì¿Îᥳ¡¼¥É¤òÀ¸À®¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¡£
¡¡¡¡¡¡¡¡ld.w %r13, -9 ¡¡¡¡¡¡¡¡¡¡; -9 ¡Ä 55¤ò̵Íý¤ä¤êÉ乿ÉÕ¤6¥Ó¥Ã¥È¤È²ò¼á¤·¤¿ÃÍ
¤Ê¤¼·Ù¹ð¤¬È¯¤»¤é¤ì¤Ê¤«¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«¡©
¤¤¤¯¤Ä¤«»î¤·¤Æ¤ß¤¿¤È¤³¤í¡¢S1C33 CPU¤Î¥¢¥»¥ó¥Ö¥éas33.exe¤Ï¡¢·Ù¹ð¤È¤¹¤ë¿ôÃͤÎÈϰϤò´Ö°ã¤¨¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
¡Öld¡×Ì¿Îá¤È¤¤¤í¤¤¤í¤Ê¿ôÃͤòÁȤ߹ç¤ï¤»¤Æ¡¢·Ù¹ð¤¬È¯¤»¤é¤ì¤ë¤«¤É¤¦¤«¤ò»î¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡ld.w %r13, 66 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡ld.w %r13, 65 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡ld.w %r13, 64 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡ld.w %r13, 63 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 62 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 61 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡ld.w %r13, 34 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 33 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 32 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡ld.w %r13, 31 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, 30 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, 29 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡ld.w %r13, 1¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, 0¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, -1 ¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡ld.w %r13, -30¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, -31¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, -32¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, -33¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, -34¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡ld.w %r13, -35¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
32¡Á63¤Þ¤Ç¤Î¿ôÃͤ¬¡¢Àµ¤·¤¤Ì¿Îᥳ¡¼¥É¤¬À¸À®¤µ¤ì¤Ê¤¤¤Ë¤â´Ø¤ï¤é¤ºÌµ·Ù¹ð¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡Öadd¡×Ì¿Îá¤Ë¤Ä¤¤¤Æ¤âƱÍͤ˻¤Æ¤ß¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡add %r13, 66¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡add %r13, 65¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡add %r13, 64¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡add %r13, 63¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡add %r13, 62¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡add %r13, 61¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡add %r13, 1 ¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡add %r13, 0 ¡¡¡¡¡¡¡¡¡¡¡¡; Àµ¤·¤¤¡¡¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·
¡¡¡¡¡¡¡¡add %r13, -1¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡add %r13, -2¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡add %r13, -3¡¡¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡add %r13, -30 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡add %r13, -31 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡add %r13, -32 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤Ê¤·¡ª´í¸±¡ª
¡¡¡¡¡¡¡¡add %r13, -33 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡add %r13, -34 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡add %r13, -35 ¡¡¡¡¡¡¡¡¡¡; ´Ö°ã¤¤¡ª¡¡¡¡¡¡; ·Ù¹ð¤¢¤ê
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
¡¡¡¡¡¡¡¡¡¦
-32¡Á-1¤Þ¤Ç¤Î¿ôÃͤ¬¡¢Àµ¤·¤¤Ì¿Îᥳ¡¼¥É¤¬À¸À®¤µ¤ì¤Ê¤¤¤Ë¤â´Ø¤ï¤é¤ºÌµ·Ù¹ð¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤É¤¦¤ä¤éas33.exe¤Ï¡¢Ì¿Îá¤Ë¤è¤Ã¤ÆÍ¸ú¤Ê¿ôÃͤÎÈϰϤ¬°ã¤¦¤³¤È¤ò˺¤ì¡¢¾ï¤Ë-32¡Á63¤¬Àµ¤·¤¤¿ôÃͤÎÈϰϤÀ¤È»×¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
º£²ó¤Ï¾®¤µ¤Ê¥×¥í¥°¥é¥à¤À¤Ã¤¿¤Î¤Ç´Ö°ã¤¤¤Ëµ¤ÉÕ¤¤¤¿¤â¤Î¤Î¡¢Âç¤¤Ê¥×¥í¥°¥é¥à¤Ç´Ö°ã¤Ã¤¿¥³¡¼¥É¤¬Ìµ·Ù¹ð¤ÇÄ̤äƤ·¤Þ¤Ã¤Æ¤¤¤¿¤éޥޥޥ
¤³¤Î´í¸±¤ò²óÈò¤¹¤ë¤Ë¤Ï¡¢¡Öld¡×¤ä¡Öadd¡×Åù¤ÎÌ¿Îá¤Ç¨Ãͤò»È¤¦¾ì¹ç¤Ï¡¢¤¿¤È¤¨¾®¤µ¤ÊÃͤǤâ¾ï¤Ë¡Öxld¡×¡Öxand¡×Åù¤Èɽµ¤·¤Þ¤·¤ç¤¦¡£
³ÆÌ¿Îá¤Î͸ú¤Ê¿ôÃÍÈϰϤòͤ¨¤ë¤È¡¢¥³¥ó¥Ñ¥¤¥é¤¬¼«Æ°Åª¤Ë¡Öext¡×Ì¿Îá¤òÉղ䷤ơ¢¸í¤Ã¤¿Ì¿Îᥳ¡¼¥É¤ÎÀ¸À®¤òËɤ¤¤Ç¤¯¤ì¤Þ¤¹¡£
* Sun May 4 15:00:00 JST 2003 Naoyuki Sawa
- µ÷Î¥¤òµá¤á¤ë¡Ê¸íº¹¡ÞÌ󣱡ó¡¦30¥Ó¥Ã¥ÈÈÇ¡Ë
P/ware¤µ¤ó¡Êhttp://www.aw.wakwak.com/~hitode/piece/¡Ë¤Î¥Ú¡¼¥¸¤Î¡¢
µ÷Î¥¤òµá¤á¤ë¡Êhttp://www.aw.wakwak.com/~hitode/piece/index.html#dist2¡Ë¹â®¤ÊÊýË¡¤¬¹¹¿·¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤Þ¤º¡¢Á°²ó¤ÈƱ¤¸¸íº¹¡ÞÌó£´¡ó¤ÎÊýË¡¤Ç¡¢¤è¤êÀºÅ٤ι⤤·¸¿ô¤¬¸ø³«¤µ¤ì¤Þ¤·¤¿¡£
Á°²ó¤Î¥×¥í¥°¥é¥à¤ò¡¢¿·¤·¤¤·¸¿ô¤Çºî¤êľ¤·¤¿¤â¤Î¤¬¤³¤Á¤é¡£
¡¡¡¡¡¡¡¡http://www.piece-me.org/archive/hypot2a-20030504.zip
¤µ¤é¤Ë¡¢¡Ö¸íº¹Ì󣱡ó¡×¤È¡Ö¸íº¹Ìó£°¡¥£²¡ó¡×¤Î·×»»ÊýË¡¤¬Äɲäµ¤ì¤Æ¤¤¤Þ¤¹¡£
¸íº¹Ì󣱡ó¤ÎÊýË¡¤¬¡¢Â®ÅÙ¤ÈÀºÅ٤ΥХé¥ó¥¹¤¬¼è¤ì¤Æ¤¤¤Æ¡¢Îɤµ¤½¤¦¤Ç¤¹¡£
¤½¤³¤Çº£²ó¤Ï¡¢¸íº¹Ì󣱡ó¤Î·×»»ÊýË¡¤Î30¥Ó¥Ã¥ÈÈǤòºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¡¡¡¡¡¡¡¡/* ¸¶ÅÀ¤ÈÅÀ (x, y) ¤Îµ÷Î¥¤òµá¤á¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ * [in]
¡¡¡¡¡¡¡¡ *¡¡¡¡¡¡x, y¡¡¡¡¡¡¡¡¡¡¡¡µ÷Î¥¤òµá¤á¤ëºÂɸ
¡¡¡¡¡¡¡¡ * [out]
¡¡¡¡¡¡¡¡ *¡¡¡¡¡¡Ìá¤êÃÍ¡¡¡¡¡¡¡¡¡¡¸¶ÅÀ¤ÈÅÀ (x, y) ¤Îµ÷Î¥
¡¡¡¡¡¡¡¡ * [note]
¡¡¡¡¡¡¡¡ *¡¡¡¡¡¡* µ÷Î¥¤Î¶á»÷¤ò¤â¤È¤á¤ë·×»»¼°¡§
¡¡¡¡¡¡¡¡ *¡¡¡¡¡¡¡¡¡¡¡¡¡¡|x|>|y|¤Î¤È¤¡¢|x|+((|y|*|y|/|x|*55)>>7)
¡¡¡¡¡¡¡¡ *¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê¸íº¹¤Ï¡ÞÌ󣱡ó¡Ë
¡¡¡¡¡¡¡¡ */
¡¡¡¡¡¡¡¡int hypot4(int x, int y);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡asm("
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.code
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.align 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.global hypot4
¡¡¡¡¡¡¡¡hypot4:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r10, %r12¡¡¡¡¡¡¡¡¡¡; if(x == 0 && y == 0) return 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡or %r10, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jreq hypot4_exit
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cmp %r12, 0¡¡¡¡¡¡¡¡¡¡¡¡¡¡; %r12 = |x|
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jrge 3
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ not %r12, %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ add %r12, 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cmp %r13, 0¡¡¡¡¡¡¡¡¡¡¡¡¡¡; %r13 = |y|
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jrge 3
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ not %r13, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ add %r13, 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cmp %r12, %r13 ¡¡¡¡¡¡¡¡¡¡; if(|x| < |y|) %r12 exch %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jrge 4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ xor %r13, %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ xor %r12, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ xor %r13, %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mltu.w %r13, %r13¡¡¡¡¡¡¡¡; %r5:%r4 = |y|^2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r4, %alr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r5, %ahr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r13, 55 ¡¡¡¡¡¡¡¡¡¡; %r6:%r5:%r4 = |y|^2 * 55
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mltu.w %r4, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r4, %alr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r6, %ahr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mltu.w %r5, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r5, %alr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add %r5, %r6
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;{{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jruge.d 3¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; (!C)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ld.w %r6, %ahr ¡¡¡¡¡¡¡¡; (undoc'd delay)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ add %r6, 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;}}¤Þ¤¿¤Ï{{
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;ld.w %r6, %ahr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;adc %r6, %r8¡¡¡¡¡¡¡¡¡¡¡¡; -gp=0x0 ¤òÁÛÄê
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;}}
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r13, %r5 ¡¡¡¡¡¡¡¡¡¡; %r5:%r4 = (|y|^2 * 55) >> 7
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xsll %r13, 25
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xsrl %r4, 7
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡or %r4, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xsll %r6, 25
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xsrl %r5, 7
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡or %r5, %r6
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %alr, %r4 ¡¡¡¡¡¡¡¡¡¡; %alr = ((|y|^2 * 55) >> 7) / |x|
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div0u %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %ahr, %r5
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 2
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 3
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 5
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 6
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 7
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 8
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 9
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 10
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 11
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 14
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 15
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 16
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 17
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 18
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 19
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 20
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 21
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 22
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 23
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 24
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 25
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 26
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 27
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 28
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 29
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 30
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 31
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r12¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡; 32
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r10, %alr¡¡¡¡¡¡¡¡¡¡; %r10 = ((|y|^2 * 55) >> 7) / |x| + |x|
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add %r10, %r12
¡¡¡¡¡¡¡¡hypot4_exit:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡");
¥ª¥ê¥¸¥Ê¥ë¤Î·×»»¼°¤Ï
¡¡¡¡¡¡¡¡|x|+((|y|*|y|/|x|*55)>>7)
¤Ê¤Î¤Ç¤¹¤¬¡¢|y|*|y| ¤È |x| ¤ÎÃͤ¬¶á¤¤¤È¤¤Ë¸íº¹¤¬Â礤¯¤Ê¤ê¡¢Î㤨¤Ð (-13, 8) ¤ÇÌó£·¡ó¤Î¸íº¹¤¬È¯À¸¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤½¤³¤Ç¡¢¤Á¤ç¤Ã¤È·×»»¼°¤ò¥¢¥ì¥ó¥¸¤·¤Æ¡¢
¡¡¡¡¡¡¡¡|x|+((|y|*|y|*55>>7)/|x|)
¤È¤·¤Æ¤ß¤Þ¤·¤¿¡£
¤³¤Î´Ø¿ô¤ò´Þ¤à¡¢Æ°ºî¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡£
¡¡¡¡¡¡¡¡http://www.piece-me.org/archive/hypot4-20030504.zip
Á°²ó¤ÈƱ¤¸¤¯¡¢¥é¥ó¥À¥à¤ÊºÂɸ (x, y) ¤È¸¶ÅÀ (0, 0) ´Ö¤Îµ÷Î¥¤òµá¤á¡¢ËÜÅö¤ÎÃÍ¤È¤Î¸íº¹¤òɽ¼¨¤·¤Þ¤¹¡£
10Ëü²óÄøÅÙ·«¤êÊÖ¤·¤Æ¤ß¤¿¤È¤³¤í¡¢¤Û¤È¤ó¤É¡Þ£±¡ó°ÊÆâ¤Ë¼ý¤Þ¤ê¡¢ºÇ°¤Ç¤â£±¡¥£µ¡ó¤òͤ¨¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
Á°²ó¤Î£´¡ó¡¦30¥Ó¥Ã¥ÈÈǤϡ¢°ì²ó¤¢¤¿¤êÌó30¥µ¥¤¥¯¥ëÁ°¸å¤Ç´°Î»¤·¤Æ¤¤¤Þ¤·¤¿¡£
º£²ó¤Î£±¡ó¡¦30¥Ó¥Ã¥ÈÈǤϡ¢°ì²ó¤¢¤¿¤êÌó90¥µ¥¤¥¯¥ëÁ°¸å¤«¤«¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡Ê¤¤¤º¤ì¤â¥½¡¼¥¹¥³¡¼¥É¾å¤Ç¤Î¹ç·×Ãͤǡ¢¼Â¬ÃͤǤϤ¢¤ê¤Þ¤»¤ó¡£¥á¥â¥ê¥¦¥§¥¤¥ÈÅù¤â¹Íθ¤·¤Æ¤¤¤Þ¤»¤ó¡£¡Ë
¤·¤«¤·¤Ê¤¬¤é¡¢»°ÇÜÄøÅÙ¤ÎÃÙ¤µ¤Ç»ÍÇܤÎÀºÅÙ¤¬ÆÀ¤é¤ì¤ë¤Î¤Ê¤é¡¢£±¡óÈǤÎÊý¤ò»È¤ª¤¦¤«¤Ê¡©¤È»×¤¤¤Þ¤·¤¿¡£
* Sat May 3 08:50:00 JST 2003 Naoyuki Sawa
- µ÷Î¥¤òµá¤á¤ë¡Ê30¥Ó¥Ã¥ÈÈÇ¡Ë
P/ware¤µ¤ó¡Êhttp://www.aw.wakwak.com/~hitode/piece/¡Ë¤Î¥Ú¡¼¥¸¤Ç¡¢
µ÷Î¥¤òµá¤á¤ë¡Êhttp://www.aw.wakwak.com/~hitode/piece/index.html#dist¡Ë¹â®¤ÊÊýË¡¤¬ÀâÌÀ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
ÆÃ¤Ë¡¢¸íº¹£´¡ó¤Î¶á»÷¼°¤ò»È¤Ã¤¿ÊýË¡ hypot2() ¤¬»²¹Í¤Ë¤Ê¤ê¤Þ¤¹¡£
ËͤϤ³¤ì¤Þ¤Ç¥Þ¥È¥â¤ËÊ¿Êýº¬¤ò·×»»¤·¤Æ¤Þ¤·¤¿¡¦¡¦¡¦¤³¤ì¤«¤é¤Ï¤³¤ÎÊýË¡¤ò»È¤ï¤»¤ÆÄº¤¤Þ¤¹¡£
Àè¤Î¥Ú¡¼¥¸¤Ë¤âÀâÌÀ¤µ¤ì¤Æ¤¤¤ëÄ̤ꡢhypot2() ¤Ï (x, y) ¤¬ 16¥Ó¥Ã¥È¤Þ¤Ç¤Î¿ôÃͤǤʤ¤¤ÈÀµ¤·¤¯Æ°¤¤Þ¤»¤ó¡£
¸ÇÄê¾®¿ôÅÀ¿ô¤Ê¤É¤ò»È¤Ã¤Æ¤¤¤ë¤È¡¢16¥Ó¥Ã¥È°Ê¾å¤ÎºÂɸÃͤäµ÷Î¥¤¬É¬ÍפˤʤäƤ¯¤ë¤³¤È¤â·ë¹½¤¢¤ê¤Þ¤¹¡£
¤½¤³¤Ç¡¢¸íº¹¤òÁý¤ä¤µ¤º¤Ë¡¢30¥Ó¥Ã¥È¤Þ¤Ç¤Î (x, y) ¤ËÂбþ¤·¤¿ÈǤòºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¤Ê¤¼30¥Ó¥Ã¥È¤Þ¤Ç¤Ê¤Î¤«¡Ê31¥Ó¥Ã¥È¤ä32¥Ó¥Ã¥È¤ÎºÂɸÃͤˤÏÂбþ¤Ç¤¤Ê¤¤¤Î¤«¡Ë¤È¤¤¤¦¤È¡¢
31¥Ó¥Ã¥È°Ê¾å¤ÎºÂɸÃͤǤϷë²Ì¤Îµ÷Î¥¤½¤Î¤â¤Î¤¬32¥Ó¥Ã¥ÈÉ乿ÉÕ¤À°¿ô¤ò¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Æ¤·¤Þ¤¦¤«¤é¤Ç¤¹¡£
¡¡¡¡¡¡¡¡/* ¸¶ÅÀ¤ÈÅÀ (x, y) ¤Îµ÷Î¥¤òµá¤á¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ * [in]
¡¡¡¡¡¡¡¡ *¡¡¡¡x, y¡¡¡¡¡¡¡¡¡¡¡¡µ÷Î¥¤òµá¤á¤ëºÂɸ
¡¡¡¡¡¡¡¡ * [out]
¡¡¡¡¡¡¡¡ *¡¡¡¡Ìá¤êÃÍ¡¡¡¡¡¡¡¡¡¡¸¶ÅÀ¤ÈÅÀ (x, y) ¤Îµ÷Î¥
¡¡¡¡¡¡¡¡ * [note]
¡¡¡¡¡¡¡¡ *¡¡¡¡* µ÷Î¥¤Î¶á»÷¤ò¤â¤È¤á¤ë·×»»¼°¡§
¡¡¡¡¡¡¡¡ *¡¡¡¡¡¡|x|>|y|¤Î¤È¤¡¢|x|*0.9604+|y|*0.3978
¡¡¡¡¡¡¡¡ *¡¡¡¡¡¡¡Ê¸íº¹¤Ï¡ÞÌó£´¡ó¡Ë
¡¡¡¡¡¡¡¡ */
¡¡¡¡¡¡¡¡int hypot2(int x, int y);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡asm("
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.align 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡.global hypot2
¡¡¡¡¡¡¡¡hypot2:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cmp %r12, 0 ¡¡¡¡¡¡¡¡¡¡¡¡¡¡; %r12 = |x|
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jrge 3
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ not %r12, %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ add %r12, 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cmp %r13, 0 ¡¡¡¡¡¡¡¡¡¡¡¡¡¡; %r13 = |y|
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jrge 3
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ not %r13, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ add %r13, 1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cmp %r12, %r13¡¡¡¡¡¡¡¡¡¡¡¡; if(|x| < |y|) %r12 exch %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jrge 4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ xor %r13, %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ xor %r12, %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ xor %r13, %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r4, 0xf5dcc63f ¡¡¡¡; %r10 = |x| * (0.9604 << 32)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mltu.w %r12, %r4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r10, %ahr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r4, 0x65d63886 ¡¡¡¡; %r10 += |y| * (0.3978 << 32)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mltu.w %r13, %r4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r4, %ahr
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add %r10, %r4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡");
»È¤¤Êý¤Ï¥ª¥ê¥¸¥Ê¥ë¤Î hypot2() ¤ÈƱ¤¸¤Ç¤¹¡£
¤³¤Î´Ø¿ô¤ò´Þ¤à¡¢Æ°ºî¸¡¾ÚÍÑ¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡£
¡¡¡¡¡¡¡¡http://www.piece-me.org/archive/hypot-20030503.zip
¥é¥ó¥À¥à¤ÊºÂɸ (x, y) ¤È¸¶ÅÀ (0, 0) ´Ö¤Îµ÷Î¥¤òµá¤á¡¢ËÜÅö¤ÎÃÍ¤È¤Î¸íº¹¤òɽ¼¨¤·¤Þ¤¹¡£
10000²óÄøÅÙ·«¤êÊÖ¤·¤Æ¤ß¤¿¤È¤³¤í¡¢³Î¤«¤Ë¸íº¹¤¬¡Þ£´¡ó¤òͤ¨¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
;Ã̤ʤ¬¤é¡¢¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é asm("¡Á") ¤ò´Ø¿ôÄêµÁ¤Î³°Â¦¤Ç»È¤Ã¤Æ¤¤¤ëÅÀ¤Ë¤´ÃíÌܤ¯¤À¤µ¤¤¡£
C¥³¥ó¥Ñ¥¤¥é¤¬°ÅÌÛ¤ËÀ¸À®¤¹¤ë¥³¡¼¥É¤Î¿´ÇÛ¤ò¤·¤Ê¤¯¤Æ¤¤¤¤¤Î¤Ç¡¢ËͤϺǶᤳ¤ÎÊýË¡¤ò¹¥¤ó¤Ç»È¤Ã¤Æ¤Þ¤¹¡£
¡ÊñÆÈ¤Î¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤Ëʬ¤±¤ë¤Î¤¬ÌÌÅݤʤΤǡ¦¡¦¡¦(^^;¡Ë
* Fri Apr 12 20:30:00 JST 2003 Naoyuki Sawa
- ¼Â¤Ï¥Ç¥£¥ì¥¤¥ÉÌ¿Îá
P/ECE¤ÎCPU S1C33209¤Ï¡¢RISC CPU¤ÎÆÃħ¤Î¤Ò¤È¤Ä¡¢¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¡×¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤È¤Ï¡¢Ê¬´ôÌ¿Îá¤Î¼Â¹Ô¤è¤êÀè¤Ëʬ´ôÌ¿Îá¤Îľ¸å¤ÎÌ¿Îá¤ò¼Â¹Ô¤·¡¢¼Â¹Ô¸úΨ¤ò²Ô¤°µ¡Ç½¤Ç¤¹¡£
¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¤ò»È¤¦Ê¬´ôÌ¿Îá¤ò¡¢¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¡×¤È¸Æ¤Ó¤Þ¤¹¡£
¤Þ¤¿¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤Îľ¸å¤ËÃÖ¤«¤ì¤ëÌ¿Îá¤ò¡¢¡Ö¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¡×¤È¸Æ¤Ó¤Þ¤¹¡£
¤Û¤È¤ó¤É¤Îʬ´ôÌ¿Îá¤Ï¡¢¥Ç¥£¥ì¥¤¥Éʬ´ôÌ¿Îá¤È¤·¤ÆÍøÍѲÄǽ¤Ç¤¹¡£
¤·¤«¤·¡¢¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤ÆÍøÍѲÄǽ¤ÊÌ¿Îá¤Ï¤¢¤ëÄøÅٸ¤é¤ì¤Æ¤¤¤Þ¤¹¡£
ñ½ã¤Ê¥ì¥¸¥¹¥¿´Ö¥í¡¼¥ÉÌ¿Îá¤ä²Ã¸º»»¡¦ÏÀÍý±é»»Ì¿Îá¤Ï¡¢¤À¤¤¤¿¤¤¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤ÆÍøÍѲÄǽ¤Ê¤Î¤Ç¤¹¤¬¡¢
ľ´¶¤ËÈ¿¤·¤Æ¥Ç¥£¥ì¥¤¥ÉÉԲĤÊÌ¿Îá¤â¤¤¤¯¤Ä¤«¤¢¤ë¤Î¤ÇÃí°Õ¤¬É¬ÍפǤ¹¡£
Î㤨¤Ð¡¢É乿³ÈÄ¥¡¦¥¼¥í³ÈÄ¥¤òȼ¤¦¥ì¥¸¥¹¥¿´Ö¥í¡¼¥ÉÌ¿Î᤬¥Ç¥£¥ì¥¤¥ÉÉԲĤȤ¤¤¦¤Î¤Ï¡¢¤Á¤ç¤Ã¤È¸ÍÏǤ¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ld.b %rd, %rs ¡¡¡¡¡¡¡¡¡ß¥Ç¥£¥ì¥¤¥ÉÉÔ²Ä
¡¡¡¡¡¡¡¡ld.ub %rd, %rs¡¡¡¡¡¡¡¡¡ß¥Ç¥£¥ì¥¤¥ÉÉÔ²Ä
¡¡¡¡¡¡¡¡ld.h %rd, %rs ¡¡¡¡¡¡¡¡¡ß¥Ç¥£¥ì¥¤¥ÉÉÔ²Ä
¡¡¡¡¡¡¡¡ld.uh %rd, %rs¡¡¡¡¡¡¡¡¡ß¥Ç¥£¥ì¥¤¥ÉÉÔ²Ä
¡¡¡¡¡¡¡¡ld.w %rd, %rs ¡¡¡¡¡¡¡¡¡û¥Ç¥£¥ì¥¤¥É²Äǽ
¤½¤Î¾¤Ë¡¢ÈÆÍѥ쥸¥¹¥¿¤ÈÆÃ¼ì¥ì¥¸¥¹¥¿´Ö¤Î¥í¡¼¥ÉÌ¿Îá¤â¥Ç¥£¥ì¥¤¥ÉÉԲĤȤʤäƤ¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡ld.w %rd, %ss ¡¡¡¡¡¡¡¡¡ß¥Ç¥£¥ì¥¤¥ÉÉÔ²Ä
¡¡¡¡¡¡¡¡ld.w %sd, %rs ¡¡¡¡¡¡¡¡¡ß¥Ç¥£¥ì¥¤¥ÉÉÔ²Ä
ÈÆÍѥ쥸¥¹¥¿¤ÈÆÃ¼ì¥ì¥¸¥¹¥¿´Ö¤Î¥í¡¼¥ÉÌ¿Î᤬¥Ç¥£¥ì¥¤¥ÉÉԲĤȤ¤¤¦¤Î¤Ï¡¢´¶³ÐŪ¤ËÍý²ò¤Ç¤¤Ê¤¯¤â¤¢¤ê¤Þ¤»¤ó¡£
¡¦¡¦¡¦¤È»×¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¼Â¤Ï¥Ç¥£¥ì¥¤¥É²Äǽ¤Ç¤·¤¿¡£
º£²ó¤Ï¡¢¤³¤Î·ï¤Ë¤Ä¤¤¤ÆµÏ¿¤·¤Æ¤ª¤³¤¦¤È»×¤¤¤Þ¤¹¡£
S1C33000¥³¥¢CPU¥Þ¥Ë¥å¥¢¥ë¤Ë¤è¤ë¤È¡¢¡Öld.w %rd,%ss¡×¡Öld.w %sd,%rs¡×¤Ï¥Ç¥£¥ì¥¤¥ÉÉԲĤȤʤäƤ¤¤Þ¤¹¡£
¡Ê33000Core-J.pdf p.112¡Öld.w %rd,%ss¡×, p.117¡Öld.w %sd,%rs¡×, Appendix-1¡ÖQuick Reference¡×»²¾È¡Ë
¤·¤«¤·¼ÂºÝ¤Ë¤Ï¡¢¤³¤ì¤é¤ÎÌ¿Îá¤â¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤ÆÍøÍѤǤ¤ë¤è¤¦¤Ç¤¹¡£
¤Ê¤¼¤Ê¤é¡¢EPSON¼Ò½ãÀµ¥é¥¤¥Ö¥é¥ê¤Î½ü»»¥ë¡¼¥Á¥ó¤¬¡¢¤³¤ì¤é¤ò¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤Æ»È¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
Î㤨¤Ð¡¢É乿ÉÕ¤½ü»»¥ë¡¼¥Á¥ó¤Ï¼¡¤Î¤è¤¦¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡__divsi3:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %alr, %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div0s %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r4, 0x4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r5, %psr
¡¡¡¡¡¡¡¡__divsi3_loop_start:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div1 %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sub %r4, 0x1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡jrne.d __divsi3_loop_start¡¡¡¡¡¡<= ¼¡¤ÎÌ¿Î᤬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤Ë¤Ê¤ê¤Þ¤¹
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %psr, %r5¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡<= ld.w %sd(0),%rs(5) ¤ËÁêÅö¤·¤Þ¤¹
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div2s %r13
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡div3
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret.d ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡<= ¼¡¤ÎÌ¿Î᤬¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤Ë¤Ê¤ê¤Þ¤¹
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld.w %r10, %alr ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡<= ld.w %rd(10),%ss(2) ¤ËÁêÅö¤·¤Þ¤¹
S1C33000¥³¥¢CPU¥Þ¥Ë¥å¥¢¥ë¤Ë¤è¤ë¤È¡¢µ¬Äê¤Î¥Ç¥£¥ì¥¤¥É²Äǽ¤ÊÌ¿Îá°Ê³°¤ò¥Ç¥£¥ì¥¤¥ÉÌ¿Îá¤È¤·¤ÆÍѤ¤¤¿¾ì¹ç¡¢
¡Öưºî¤¬ÉÔ°ÂÄê¤È¤Ê¤ë¡×(p.30¡Ö¥Ç¥£¥ì¥¤¥Éʬ´ôµ¡Ç½¡×»²¾È¡Ë¤È¤¢¤ê¤Þ¤¹¡£
Á°½Ò¤Î½ü»»¥ë¡¼¥Á¥ó¤Î¥±¡¼¥¹¤Ï¤¿¤Þ¤¿¤Þư¤¤¤Æ¤¤¤Æ¡¢Ê̤ÎÌ¿ÎáÊÂ¤Ó¤Ç¤Ï¡ÖÆ°ºî¤¬ÉÔ°ÂÄê¤È¤Ê¤ë¡×²ÄǽÀ¤â¤¢¤ë¤Î¤Ç¤¹¤¬¡¢
¤ï¤¶¤ï¤¶¤½¤ó¤Ê´í¸±¤Ê¼ÂÁõ¤ò¤¹¤ë¤È¤Ï¹Í¤¨¤Å¤é¤¤¤Î¤Ç¡¢¤¿¤Ö¤ó¤¤¤Ä¤Ç¤â¥Ç¥£¥ì¥¤¥É²Äǽ¤Ê¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¡¢¤È»×¤¤¤Þ¤¹¡£
* Fri Feb 14 12:30:00 JST 2003 Naoyuki Sawa
- memcpy()¤Ç¥¢¥É¥ì¥¹ÉÔÀ°Îã³°
¡Ø£Ø£Í¥×¥ì¥¤¥ä¡¼¡ÙºîÀ®¤Ë¤ª¤¤¤Æ¡¢¤Ê¤«¤Ê¤«¾Ã¤¨¤Ê¤¤¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ËǺ¤Þ¤µ¤ì¤Þ¤·¤¿¡£
º£²ó¤Ï¡¢¤½¤ÎÅ¿Ëö¤ò¤Þ¤È¤á¤Æ¤ª¤³¤¦¤È»×¤¤¤Þ¤¹¡£
P/ECE¤ÎCPU¡¦S1C33209¤Ï¡¢¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤«¤é¤Î¥Ç¡¼¥¿ÆÉ¤ß½Ð¤·¤ò¹Ô¤ª¤¦¤È¤¹¤ë¤È¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤òȯÀ¸¤·¤Þ¤¹¡£
¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤È¤Ï¡¢ÆÉ¤ß½Ð¤½¤¦¤È¤·¤Æ¤¤¤ë¥Ç¡¼¥¿·¿¤Î¥µ¥¤¥º¤ÎÇÜ¿ô¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¥¢¥É¥ì¥¹¤Î¤³¤È¤Ç¤¹¡£
Î㤨¤Ð¡¢int·¿¥Ç¡¼¥¿¤òÆÉ¤ß½Ð¤¹¾ì¹ç¡¢int¤Ï4¥Ð¥¤¥È¤Ç¤¹¤Î¤Ç¡¢ÆÉ¤ß½Ð¤¹¥¢¥É¥ì¥¹¤â4¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
ƱÍͤˡ¢short·¿¥Ç¡¼¥¿¤òÆÉ¤ß½Ð¤¹¾ì¹ç¤Ï¡¢short¤¬2¥Ð¥¤¥È¤Ç¤¹¤«¤é¡¢ÆÉ¤ß½Ð¤¹¥¢¥É¥ì¥¹¤â2¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤¹¤ë¤È¡¢²èÌ̤ˤϡÖAddress error exception¡×¤Èɽ¼¨¤µ¤ì¡¢¥ê¥»¥Ã¥È¤ò²¡¤¹¤·¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
°Ê²¼¤Ë¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤òȯÀ¸¤¹¤ë¥³¡¼¥ÉÎã¤ò¡¢¤¤¤¯¤Ä¤«¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120000; v = *p;¡¡¡¡/* 0x120000ÈÖÃϤÏ4¤ÎÇÜ¿ô¤Ê¤Î¤Ç¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ÏȯÀ¸¤·¤Þ¤»¤ó */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120001; v = *p;¡¡¡¡/* ¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤¹¡ª */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120002; v = *p;¡¡¡¡/* ¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤¹¡ª */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120003; v = *p;¡¡¡¡/* ¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤¹¡ª */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120004; v = *p;¡¡¡¡/* 0x120004ÈÖÃϤÏ4¤ÎÇÜ¿ô¤Ê¤Î¤Ç¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ÏȯÀ¸¤·¤Þ¤»¤ó */
¡¡¡¡¡¡¡¡shrot *p, v; p = (shrot*)0x120000; v = *p;¡¡¡¡/* 0x120000ÈÖÃϤÏ2¤ÎÇÜ¿ô¤Ê¤Î¤Ç¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ÏȯÀ¸¤·¤Þ¤»¤ó */
¡¡¡¡¡¡¡¡shrot *p, v; p = (shrot*)0x120001; v = *p;¡¡¡¡/* ¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤¹¡ª */
¡¡¡¡¡¡¡¡shrot *p, v; p = (shrot*)0x120002; v = *p;¡¡¡¡/* 0x120002ÈÖÃϤÏ2¤ÎÇÜ¿ô¤Ê¤Î¤Ç¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ÏȯÀ¸¤·¤Þ¤»¤ó */
Ä̾ï¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ËÃí°Õ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£
int¥Ç¡¼¥¿¤Ï4¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤Ë¡¢short¥Ç¡¼¥¿¤Ï2¤ÎÇÜ¿ô¥¢¥É¥ì¥¹¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤¬Å¬ÀÚ¤ËÇÛÃÖ¤·¤Æ¤¯¤ì¤ë¤«¤é¤Ç¤¹¡£
Ãí°Õ¤¬É¬Íפˤʤë¤Î¤Ï¡¢¤¢¤é¤«¤¸¤á·è¤á¤é¤ì¤¿·Á¼°¤ò»ý¤Ä¥Ç¡¼¥¿¹½Â¤¤«¤é¡¢¥Ç¡¼¥¿¤òÆÉ¤ß½Ð¤¹¾ì¹ç¤Ç¤¹¡£
º£²óÌäÂê¤È¤Ê¤Ã¤¿XM·Á¼°¤Î¥Ç¡¼¥¿¹½Â¤¤¬¤Þ¤µ¤Ë¤½¤ì¤Ç¤¹¡£
XM·Á¼°¤Î¥Ç¡¼¥¿¹½Â¤¤Ç¤Ï¡¢´ñ¿ô¸Ä¤Îchar·¿¥Ç¡¼¥¿¤Îľ¸å¤Ë¡¢¶õÇò¤Ê¤·¤Çint·¿¥Ç¡¼¥¿¤¬ÇÛÃÖ¤µ¤ì¤Æ¤¤¤¿¤ê¤·¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢int·¿¤Î¥Ç¡¼¥¿¤¬¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥á¥â¥ê¾å¤ËÆÉ¤ß¹þ¤ó¤ÀXM·Á¼°¤Î¥Ç¡¼¥¿¹½Â¤¤«¤é¡¢¤³¤Î¤è¤¦¤Êint·¿¥Ç¡¼¥¿¤òÆÉ¤ß½Ð¤½¤¦¤È¤¹¤ë¤È¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤¹¡£
===============================================================================================================================
¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤«¤é¤ÎÆÉ¤ß½Ð¤·¤¬¤Ç¤¤Ê¤¤¡¢¤È¤¤¤¦À©Ìó¤ò»ý¤Ä¤Î¤Ï¡¢S1C33209¤À¤±¤¬ÆÃÊ̤ǤϤ¢¤ê¤Þ¤»¤ó¡£
¤¤¤Á¤Ð¤ó¥á¥¸¥ã¡¼¤ÊPentium¥·¥ê¡¼¥ºCPU¤Ë¤Ï¤³¤ÎÀ©Ì󤬤ʤ¤¤â¤Î¤Î¡¢Â¾¤Î¿¤¯¤ÎCPU¤ÏƱÍͤÎÀ©Ìó¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Ç¤¹¤«¤é¡¢¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤Ë¥Ç¡¼¥¿¤¬ÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë²ÄǽÀ¤Î¤¢¤ë¤è¤¦¤Ê¥Ç¡¼¥¿¹½Â¤¤«¤é¥Ç¡¼¥¿ÆÉ¤ß½Ð¤·¤ò¹Ô¤¦¾ì¹ç¤Ï¡¢
¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Ê¤¤¤è¤¦¡¢¥×¥í¥°¥é¥à¦¤ÇÂн褷¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¤¤¤Á¤Ð¤ó¥ª¡¼¥½¥É¥Ã¥¯¥¹¤Ê¤Î¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÊýË¡¤Ç¤¹¡£
¤É¤ó¤Ê¥¢¥É¥ì¥¹¤«¤é¤Ç¤â¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤Ê¤·¤Ëint·¿¥Ç¡¼¥¿¤òÆÉ¤ß½Ð¤»¤ë¤è¤¦¤Ê¡¢Êä½õ´Ø¿ô¤òÍѰդ·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡int read_int(const int* p) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡const char* pp = (const char*)p;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return (pp[0] << 24) | (pp[1] << 16) | (pp[2] << 8) | (pp[3]);
¡¡¡¡¡¡¡¡}
4¥Ð¥¤¥È¤ÎÆÉ¤ß½Ð¤·¤ò1¥Ð¥¤¥È¤Å¤Ä¹Ô¤Ã¤Æ¤«¤é¡¢int·¿¤ËÁȤßΩ¤Æ¤ÆÊÖ¤·¤Þ¤¹¡£
1¥Ð¥¤¥È¤Å¤Ä¤ÎÆÉ¤ß½Ð¤·¤Ê¤é¤Ð¡¢ÀäÂФˡ֥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ÏȯÀ¸¤·¤Þ¤»¤ó¡£¡Ê1¤ÎÇÜ¿ô¤Ç¤Ê¤¤¥¢¥É¥ì¥¹¤Ï¤Ê¤¤¤«¤é¡Ë
¤³¤ÎÊä½õ´Ø¿ô¤ò»È¤¨¤Ð¡¢°ú¿ôp¤Ë¤É¤ó¤Ê¥¢¥É¥ì¥¹¤¬»ØÄꤵ¤ì¤¿¤È¤·¤Æ¤â¡¢¤½¤³¤«¤éint·¿¤Î¥Ç¡¼¥¿¤¬ÆÉ¤ß½Ð¤»¤ë¤ï¤±¤Ç¤¹¡£
¤½¤ì¤Ç¤Ï¡¢¤³¤ÎÊä½õ´Ø¿ô¤ò»È¤Ã¤Æ¡¢Àè¤Û¤Éµó¤²¤¿Îã¤ò½ñ¤Ä¾¤·¤Æ¤ß¤Þ¤¹¡£
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120000; v = read_int(p);¡¡¡¡/* £Ï£Ë¡ª */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120001; v = read_int(p);¡¡¡¡/* £Ï£Ë¡ª */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120002; v = read_int(p);¡¡¡¡/* £Ï£Ë¡ª */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120003; v = read_int(p);¡¡¡¡/* £Ï£Ë¡ª */
¡¡¡¡¡¡¡¡int *p, v; p = (int*)0x120004; v = read_int(p);¡¡¡¡/* £Ï£Ë¡ª */
===============================================================================================================================
°Ê¾å¤ÎÊýË¡¤¬¡¢¥ª¡¼¥½¥É¥Ã¥¯¥¹¤«¤ÄÀµ¤·¤¤ÊýË¡¤Ç¤¹¡£
¡¦¡¦¡¦¤¬¡¢¤·¤«¤·¡£Ëͤϥº¥Ü¥é¤Ê¤Î¤Ç¡¢read_int()¤ò¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡int read_int(const int* p) { int v; memcpy(&v, p, sizeof v); return v; }
¤É¤³¤é¤Ø¤ó¤¬¥º¥Ü¥é¤«¤È¤¤¤¤¤Þ¤¹¤È¡¢¤¤¤í¤¤¤í¤Ê·¿¤Î¤¿¤á¤ÎÊä½õ´Ø¿ô¤òÄɲ乤ë¾ì¹ç¡¢µ¡³£Åª¤Ê½ñ¤´¹¤¨¤ÇÂбþ¤Ç¤¤ëÅÀ¤Ç¤¹¡£
¡¡¡¡¡¡¡¡ int read_int (const int * p) { int v; memcpy(&v, p, sizeof v); return v; }
¡¡¡¡¡¡¡¡ short read_short (const short * p) { short v; memcpy(&v, p, sizeof v); return v; }
¡¡¡¡¡¡¡¡unsigned int read_unsigned_int (const unsigned int * p) { unsigned int v; memcpy(&v, p, sizeof v); return v; }
¡¡¡¡¡¡¡¡unsigned short read_unsigned_short(const unsigned short * p) { unsigned short v; memcpy(&v, p, sizeof v); return v; }
¡¡¡¡¡¡¡¡ float read_float (const float * p) { float v; memcpy(&v, p, sizeof v); return v; }
¡¡¡¡¡¡¡¡ double read_double (const double* p) { double v; memcpy(&v, p, sizeof v); return v; }
¤Á¤Ê¤ß¤Ë¡¢¥ª¡¼¥½¥É¥Ã¥¯¥¹¤ÊÊýË¡¤Çread_short()¤äread_double()¤ò¼ÂÁõ¤¹¤ë¤È¡¢¤³¤¦¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡short read_short(const short* p) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡const char* pp = (const char*)p;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return (pp[0] << 8) | (pp[3]);
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡float read_double(const double* p) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡const char* pp = (const char*)p;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡char v[8];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[0] = pp[0];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[1] = pp[1];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[2] = pp[2];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[3] = pp[3];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[4] = pp[4];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[5] = pp[5];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[6] = pp[6];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v[7] = pp[7];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return *(double*)v;
¡¡¡¡¡¡¡¡}
¤Þ¤¢¤³¤ÎÄøÅ٤Ǥ¹¤Î¤ÇÂ礷¤¿¼ê´Ö¤Ç¤Ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤³¤ÎÄøÅ٤μê´Ö¤âÀˤ·¤à¤Û¤É¥º¥Ü¥é¤À¤È¤¤¤¦¡Ä(^^;
¤³¤ì¤Þ¤ÇP/ECE°Ê³°¤Î´Ä¶¤Ç¤â¡¢memcpy()¤ò»È¤Ã¤¿¥º¥Ü¥éÈÇÊä½õ´Ø¿ô¤ò»È¤Ã¤Æ¤¤¤Þ¤·¤¿¤·¡¢¤½¤ì¤Ç¾å¼ê¤¯¤¤¤Ã¤Æ¤¤¤ë¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¡¦¡¦¡¦¤¬¡¢¤½¤ì¤Ï´Ö°ã¤¤¤Ç¤·¤¿¡£
===============================================================================================================================
¥º¥Ü¥éÈÇÊä½õ´Ø¿ô¤Ï¡¢memcpy()¤¬ÆâÉô¤Ç¥Ç¡¼¥¿¤ò1¥Ð¥¤¥È¤Å¤Ä¥³¥Ô¡¼¤·¤Æ¤¯¤ì¤ë¤³¤È¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£
¤¤¤ä¡¢Îɤ¯½ÐÍ褿memcpy()¤Î¼ÂÁõ¤Î¾ì¹ç¡¢»ØÄꤵ¤ì¤¿Å¾Á÷¸µ¡¦Å¾Á÷À襢¥É¥ì¥¹¤ÈžÁ÷¥µ¥¤¥º¤Ë¤è¤Ã¤Æ¤Ï¡¢
¿ô¥Ð¥¤¥È¤Å¤Ä¤Î¥³¥Ô¡¼¤ò¹Ô¤Ã¤Æ½èÍý¤ò¹â®²½¤¹¤ë¤È¤Ïʹ¤¤¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
¾¯¤Ê¤¯¤È¤â¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤¹¤ë¤è¤¦¤ÊÊýË¡¤ÏºÎ¤é¤ì¤Ê¤¤¤â¤Î¤È»×¤¤¹þ¤ó¤Ç¤¤¤Þ¤·¤¿¡£
¤È¤³¤í¤¬¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤ëºÇŬ²½¤¬Íí¤ó¤Ç¤¯¤ë¤È¡¢É¬¤º¤·¤â¤½¤¦¤È¤Ï¸À¤¨¤Ê¤¤¤è¤¦¤Ê¤Î¤Ç¤¹¡£
¤½¤ì¤Ç¤Ï¤Þ¤º¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤òȯÀ¸¤¹¤ëmemcpy()¤Î»ÈÍÑÎã¤ò¼¨¤·¤Þ¤¹¡£
-------------------------------------------------------------------------------------------------------------------------------
¡¡¡¡¡¡¡¡#include
¡¡¡¡¡¡¡¡#include
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡volatile int* ptr;
¡¡¡¡¡¡¡¡volatile int val;
¡¡¡¡¡¡¡¡volatile char data[] = { 0,1,2,3,4,5 };
¡¡¡¡¡¡¡¡/* ¤³¤³¤òÆÉ¤ß¤Þ¤¹ ~~~~~~~ */
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡int read_int(const int* p) { int v; memcpy(&v, p, sizeof v); return v; }
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡void pceAppInit() { }
¡¡¡¡¡¡¡¡void pceAppExit() { }
¡¡¡¡¡¡¡¡void pceAppProc(int count) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ptr = (int*)&data[1];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡val = read_int(ptr);
¡¡¡¡¡¡¡¡}
-------------------------------------------------------------------------------------------------------------------------------
ÊÑ¿ô¤Ëvolatile»ØÄê¤òÄɲ䷤Ƥ¤¤ë¤Î¤Ï¡¢ºÇŬ²½¤Ë¤è¤Ã¤ÆÆÉ¤ß½Ð¤·½èÍý¤½¤Î¤â¤Î¤¬ºï¤é¤ì¤Æ¤·¤Þ¤ï¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¹¡£
ÆÃ¤Ë½ÅÍפʰÕÌ£¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¤µ¤Æ¡¢¤³¤Î¥×¥í¥°¥é¥à¤òºÇŬ²½¥ª¥×¥·¥ç¥ó¡Ö-O2¡×¤ò»ØÄꤷ¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹¡£
¤½¤·¤Æ¼Â¹Ô¤¹¤ë¤È¡¦¡¦¡¦¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤¹¡ª
¡Ö-ls¡×¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¥·¥ó¥Ü¥ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤ß¤ë¤È¡¢data[]ÇÛÎó¤Ï0x100264ÈÖÃϤ˳ÎÊݤµ¤ì¤Æ¤¤¤Þ¤·¤¿¡£
¥×¥í¥°¥é¥à¤Ç¤Ï&data[1]¤«¤éÆÉ¤ß½Ð¤½¤¦¤È¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤Ä¤Þ¤ê0x100265ÈÖÃϤ«¤éint·¿¥Ç¡¼¥¿¤òÆÉ¤ß½Ð¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¤½¤Î¤Þ¤ÞÆÉ¤ß½Ð¤·¤¿¤Î¤Ç¤Ï¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤¹¤ë¤Î¤ÏɬÁ³¤Ç¤¹¤¬¡¢º£²ó¤Ï¤Á¤ã¤ó¤ÈÊä½õ´Ø¿ô¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£
¤Ë¤â¤«¤«¤ï¤é¤º¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×ȯÀ¸¡£¤Ê¤¼¡©
===============================================================================================================================
memcpy()¤Î¤È¤³¤í¤Ç¡¢¥³¥ó¥Ñ¥¤¥é¤Ï¤É¤Î¤è¤¦¤Ê¥³¡¼¥É¤òÀ¸À®¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¡Ö-b¡×¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤·¤¿¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤ò³Îǧ¤·¤Æ¤ß¤Þ¤¹¡£
¢¨ÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë¡¢¾¯¤·ÊÔ½¸¤·¤Æ¤¢¤ê¤Þ¤¹¡£
----------------------------------------[S1C33ÍÑgcc¤ÎÀ¸À®¥³¡¼¥É]---------------------------------------------------------------
¡¡¡¡¡¡¡¡read_int:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xsub %sp, %sp, 4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r10, [%r12]
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w [%sp], %r10
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xadd %sp, %sp, 4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡pceAppProc:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r12, data+1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w [ptr], %r12
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xcall read_int
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w [val], %r10
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
-------------------------------------------------------------------------------------------------------------------------------
¤Ê¤ó¤È¡¢Ã±¤Ê¤ëint·¿¥Ç¡¼¥¿¤ÎÆÉ¤ß½Ð¤·¡¦³ÊǼ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡ª
¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤¹¤ë¤ï¤±¤Ç¤¹¡£
¤³¤ì¤ÏÌÀ¤é¤«¤Ë¡¢¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¤Ë¤è¤ëÉûºîÍѤǤ¹¡£
¤Ç¤Ï¡¢¤³¤Î¤è¤¦¤ÊºÇŬ²½¤¬¹Ô¤ï¤ì¤ë¤Î¤Ï
¡¦P/ECE¤Î¥³¥ó¥Ñ¥¤¥é¡ÊS1C33ÍÑgcc¡Ë¤¬ÆÃÊ̤ʤΤǤ·¤ç¤¦¤«¡©
¡¦¤½¤ì¤È¤â¡¢gcc¤Ê¤é¤É¤ì¤Ç¤â¤½¤¦¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡©
¡¦¤¢¤ë¤¤¤Ï¡¢¤É¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤â¤¿¤¤¤Æ¤¤¤³¤¦¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¤Þ¤º¤Ï¡¢Â¾¤ÎCPUÍѤÎgcc¤Ç³Îǧ¤·¤Æ¤ß¤Þ¤¹¡£
SPARCÍÑgcc¤ÇƱÍÍ¤Î¥×¥í¥°¥é¥à¤ò»î¤·¤Æ¤ß¤ë¤È¡¢¤ä¤Ï¤ê¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¡ÊLinux¾å¤Ç»î¤·¤¿¤Î¤Ç¡¢²èÌÌɽ¼¨¤Ï¡ÖBus Error¡×¤È¤Ê¤ê¤Þ¤¹¡£¡Ë
¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤·¤¿¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¢¨ÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë¡¢¾¯¤·ÊÔ½¸¤·¤Æ¤¢¤ê¤Þ¤¹¡£
----------------------------------------[SPARCÍÑgcc¤ÎÀ¸À®¥³¡¼¥É]---------------------------------------------------------------
¡¡¡¡¡¡¡¡read_int:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡retl
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ld [%o0], %o0
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡main:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡save %sp, -104, %sp
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sethi %hi(data+1), %o0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡call read_int,0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡or %o0, %lo(data+1), %o0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡restore %g0, %o0, %o0
-------------------------------------------------------------------------------------------------------------------------------
Ëͤϡ¢SPARC¥×¥í¥»¥Ã¥µ¤Î¥¢¥»¥ó¥Ö¥é¤Ï¤¼¤ó¤¼¤óÆÉ¤á¤Þ¤»¤ó¤¬¡¢read_int()¤¬1¥Ð¥¤¥È¤Å¤Ä¥³¥Ô¡¼¤·¤Æ¤¤¤Ê¤¤¤Î¤Ï¤ï¤«¤ê¤Þ¤¹¡£
¡Ê¤¢¤È;Ã̤Ǥ¹¤¬¡¢¥Ç¥£¥ì¥¤¥¹¥í¥Ã¥È¤Ë¤è¤ëºÇŬ²½¤ÇÌ¿Îá¤Î½çÈÖ¤¬Æþ¤ìÂØ¤ï¤Ã¤¿¤ê¤·¤Æ¤¤¤ë¤Î¤¬¸«¤¨¤Þ¤¹¡£
¡¡¤Þ¤¿¡¢P/ECE¤ÎS1C33ÍÑgcc¤Ï¡¢SPARCÍÑgcc¤Ë³Ó¤Ù¤Æ¡¢ÉÔÍ×¤Ê¥í¡¼¥«¥ëÊÑ¿ô¤Îºï½ü¤Ë¤è¤ëºÇŬ²½¤¬¤Þ¤À¤Þ¤À¼å¤¤¤³¤È¤â¤ï¤«¤ê¤Þ¤¹¡£¡Ë
¤É¤¦¤ä¤égcc¤ò»È¤Ã¤ÆºÇŬ²½¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤¦¤È¡¢¤À¤¤¤¿¤¤Æ±¤¸¤è¤¦¤Ê·ë²Ì¤Ë¤Ê¤ë¤è¤¦¤Ç¤¹¡£
¤½¤ì¤Ç¤Ï¡¢Ê̤Υ³¥ó¥Ñ¥¤¥é¤Ç¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡©
VisualC++6.0¤ò»È¤Ã¤Æ¡¢Æ±ÍÍ¤Î¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤ß¤Þ¤¹¡£
ºÇŬ²½¥ª¥×¥·¥ç¥ó¤Ï¡¢Release¥Ó¥ë¥É¤Î½é´üÀßÄê¤Î¤Þ¤Þ¤È¤·¤Þ¤·¤¿¡£
¢¨ÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë¡¢¾¯¤·ÊÔ½¸¤·¤Æ¤¢¤ê¤Þ¤¹¡£
----------------------------------------[PentiumÍÑVisualC++6.0¤ÎÀ¸À®¥³¡¼¥É]----------------------------------------------------
¡¡¡¡¡¡¡¡read_int:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov eax, dword ptr [esp+4]
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov eax, dword ptr [eax]
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡main:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡push offset data+1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡call read_int
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡add esp, 4
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
-------------------------------------------------------------------------------------------------------------------------------
Ʊ¤¸¤Ç¤¹¡£¤ä¤Ï¤ê¡¢read_int()¤Ï1¥Ð¥¤¥È¤Å¤Ä¥³¥Ô¡¼¤·¤Æ¤¤¤Þ¤»¤ó¡£
¡Ê¤¿¤À¤·Pentium¤Î¾ì¹ç¤Ï¤½¤â¤½¤â¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ÎÀ©Ì󤬤¢¤ê¤Þ¤»¤ó¤Î¤Ç¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¤âÌäÂê¤Ï½Ð¤Þ¤»¤ó¡£¡Ë
¤É¤¦¤ä¤é¤É¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤â¡¢memcpy()¤¬ºÇŬ²½¤µ¤ì¤ÆÉÔÀ°¥¢¥É¥ì¥¹¤«¤é¤ÎÆÉ¤ß½Ð¤·¤¬È¯À¸¤¹¤ë²ÄǽÀ¤Ï¤¢¤ë¤è¤¦¤Ç¤¹¡£
¤·¤«¤·¡¢¤³¤ó¤Ê½ÅÂç¤ÊÌäÂê¤Ë¤³¤ì¤Þ¤Çµ¤¤¬ÉÕ¤«¤Ê¤«¤Ã¤¿¤È¤Ï¡¦¡¦¡¦
Î㤨¤Ð¡¢P/ECE¤Ç²¾ÁÛVRAM¤Î(0,1)¡Á(0,4)¤Î¥Ô¥¯¥»¥ë¤ò(1,1)¡Á(1,4)¤Ø¥³¥Ô¡¼¤·¤è¤¦¤È¤·¤¿¤é¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
-------------------------------------------------------------------------------------------------------------------------------
¡¡¡¡¡¡¡¡#include
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡unsigned char vbuff[128 * 88];
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡void pceAppInit() {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pceLCDDispStart();
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡void pceAppExit() { }
¡¡¡¡¡¡¡¡void pceAppProc(int count) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡unsigned char *src, *dst;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡src = &vbuff[ 1];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dst = &vbuff[129];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡memcpy(dst, src, 4);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pceLCDTrans();
¡¡¡¡¡¡¡¡}
-------------------------------------------------------------------------------------------------------------------------------
»î¤·¤Æ¤ß¤ë¤È¡¦¡¦¡¦¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤ÏȯÀ¸¤·¤Þ¤»¤ó¡£
¤½¤ê¤ã¤¢¡¡¡¢¤³¤ì¤Ç¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤¹¤ë¤Î¤Ê¤é¡¢¤È¤Ã¤¯¤Ëµ¤ÉÕ¤¤¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¤è¤Í¡£
À¸À®¤µ¤ì¤ë¥³¡¼¥É¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¢¨ÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë¡¢¾¯¤·ÊÔ½¸¤·¤Æ¤¢¤ê¤Þ¤¹¡£
-------------------------------------------------------------------------------------------------------------------------------
¡¡¡¡¡¡¡¡pceAppProc:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r13, vbuff+1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xadd %r12, %r13, 128
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r14, 0x00000004
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xcall memcpy
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xcall pceLCDTrans
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
-------------------------------------------------------------------------------------------------------------------------------
Ʊ¤¸4¥Ð¥¤¥È¤Î¥³¥Ô¡¼¤Ê¤Î¤Ë¡¢¤³¤Á¤é¤Ï¤Á¤ã¤ó¤Èmemcpy()´Ø¿ô¤¬¸Æ¤Ó½Ð¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤Ë¤Ê¤ëÎã¤È¤Î°ã¤¤¤Ï¡¦¡¦¡¦memcpy()¤ËÅϤ·¤Æ¤¤¤ë¥Ý¥¤¥ó¥¿¤Î·¿¤Ç¤·¤ç¤¦¤«¡©
¤½¤ì¤Ç¤Ï¡¢¥×¥í¥°¥é¥à¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Æ¡¢¤â¤¦¤¤¤Á¤É»î¤·¤Æ¤ß¤Þ¤¹¡£
-------------------------------------------------------------------------------------------------------------------------------
¡¡¡¡¡¡¡¡#include
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡unsigned char vbuff[128 * 88];
¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡void pceAppInit() {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pceLCDDispStart();
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡void pceAppExit() { }
¡¡¡¡¡¡¡¡void pceAppProc(int count) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int *src, *dst;
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡src = (int*)&vbuff[ 1];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡dst = (int*)&vbuff[129];
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡memcpy(dst, src, 4);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pceLCDTrans();
¡¡¡¡¡¡¡¡}
-------------------------------------------------------------------------------------------------------------------------------
¤Ç¡¢¼Â¹Ô¤·¤Æ¤ß¤ë¤È¡¦¡¦¡¦¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤·¤¿¡ª
À¸À®¤µ¤ì¤ë¥³¡¼¥É¤Ï¼¡¤ÎÄ̤ꡣ
¢¨ÆÉ¤ß¤ä¤¹¤¤¤è¤¦¤Ë¡¢¾¯¤·ÊÔ½¸¤·¤Æ¤¢¤ê¤Þ¤¹¡£
-------------------------------------------------------------------------------------------------------------------------------
¡¡¡¡¡¡¡¡pceAppProc:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r11, vbuff+1
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w %r10, [%r11]
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xld.w [%r11+128], %r10
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡xcall pceLCDTrans
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ret
-------------------------------------------------------------------------------------------------------------------------------
vbuff[1]¤Î°ÌÃÖ¤«¤éint·¿¤ÇÆÉ¤ß½Ð¤·¤ò¹Ô¤¤¡¢vbuff[1+128]¤Î°ÌÃ֤˳ÊǼ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
¤Ê¤ó¤È¤Ê¤¯¸«¤¨¤Æ¤¤Þ¤·¤¿¡£
¡¡¡¡¡¡¡¡memcpy()¤Ëint*·¿¤Î¥Ý¥¤¥ó¥¿¤òÅϤ¹¤È¡¢Ã±¤Ê¤ëint·¿¥Ç¡¼¥¿¤ÎÆÉ¤ß½Ð¤·¤È¤·¤ÆºÇŬ²½¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¡£
¡¡¡¡¡¡¡¡¤½¤ÎºÝ¡¢¥Ý¥¤¥ó¥¿¤¬¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤ò»Ø¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤ÏÄ´¤Ù¤é¤ì¤Ê¤¤¡£
¡¡¡¡¡¡¡¡·ë²Ì¡¢¥Ý¥¤¥ó¥¿¤¬¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤ò»Ø¤·¤Æ¤¤¤¿¤Ê¤é¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤¹¤ë¡£
P/ECE¤Î²¾ÁÛVRAM¤ò°·¤¦¾ì¹ç¤Ï¡¢¤¿¤¤¤Æ¤¤unsigned char*·¿¤Î¥Ý¥¤¥ó¥¿¤òÅϤ¹¤Î¤Ç¡¢ÌäÂê¤Ë¤Ê¤é¤Ê¤«¤Ã¤¿¤Î¤Ç¤¹¤Í¡£
===============================================================================================================================
²óÈòÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
£±¡¥¥ª¡¼¥½¥É¥Ã¥¯¥¹¤Êread_int()¤ò»È¤¦¡£
¡¡¡¡¤Ä¤Þ¤ê¡¢memcpy()¤ò»È¤ï¤º¡¢ÌÀ¼¨Åª¤Ë1¥Ð¥¤¥È¤Å¤ÄÆÉ¤ß½Ð¤·¤Æ¡¢ÁȤßΩ¤Æ¤ë¡£
£²¡¥¥º¥Ü¥éÈÇread_int()¤Î°ú¿ô·¿¤òÊѹ¹¤¹¤ë¡£
¡¡¡¡½¤Àµ¸å¤Îread_int()¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡int read_int(const void* p) { int v; memcpy(&v, p, sizeof v); return v; }
¡¡¡¡¡Ø£Ø£Í¥×¥ì¥¤¥ä¡¼¡Ù¤Ç¤Ï¡¢¤³¤ÎÊýË¡¤Ç²ò·è¤·¤Þ¤·¤¿¡£
£³¡¥ºÇŬ²½¤·¤Ê¤¤¡£
¡¡¡¡¡Ö-O2¡×¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤»¤ó¡£¤·¤«¤·¤³¤ì¤Ï¡¢¸½¼ÂŪ¤ÊÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¡¡¡¡S1C33ÍÑgcc¤Ë¤Ï¡Ö-mno-memcpy¡×¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¡¡gcc33¥³¥Þ¥ó¥É¤Î»È¤¤Êýɽ¼¨¤Ë¤Ï¡Öinline functions 'strcpy' and 'memcpy'¡×¤È½ñ¤«¤ì¤Æ¤ª¤ê¡¢
¡¡¡¡¤³¤Î¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æmemcpy()¤ÎºÇŬ²½¤À¤±¤òÀ©¸æ¤Ç¤¤½¤¦¤Ë¸«¤¨¤Þ¤¹¡£
¡¡¡¡¤¬¡¢¼ÂºÝ¤Ë¤Ï¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢memcpy()¤ÎºÇŬ²½¤Ë¤Ï´Ø·¸¤Ê¤¤¤è¤¦¤Ç¤¹¡£
¡¡¡¡¡¡¡¡gcc33 -S -O sample.c
¡¡¡¡¡¡¡¡gcc33 -S -O -mmemcpy sample.c
¡¡¡¡¡¡¡¡gcc33 -S -O -mno-memcpy sample.c
¡¡¡¡¤¤¤º¤ì¤ÎÊýË¡¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤âmemcpy()¤ÏºÇŬ²½¤µ¤ì¤Æ¤·¤Þ¤¤¡¢¡Ö¥¢¥É¥ì¥¹ÉÔÀ°Îã³°¡×¤¬È¯À¸¤·¤Þ¤¹¡£
¡¡¡¡¤½¤â¤½¤âpcc33·Ðͳ¤Ç¤Ï¡¢gcc33¤Ë¤³¤Î¥ª¥×¥·¥ç¥ó¤òÅϤ»¤Þ¤»¤ó¡£
¡¡¡¡¤½¤ì¤Ë¡¢°ìÉô¤Îmemcpy()ºÇŬ²½¤Ë¤è¤ëÌäÂê¤ò²óÈò¤¹¤ë¤¿¤á¤À¤±¤Ë¡¢Á´Éô¤ÎºÇŬ²½¤òÍÞÀ©¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤Î¤Ï¤ä¤ê¤¹¤®¤Ç¤¹¡£
===============================================================================================================================
¤µ¤Æ¡¢¥³¥ó¥Ñ¥¤¥é¤Ë¥±¥Á¤òÉÕ¤±¤ë¤Î¤â¿È¤ÎÄøÃΤ餺¤Ç¤¹¤¬¡¢¤·¤«¤·¤³¤ì¤Ï¤Á¤ç¤Ã¤ÈǼÆÀ¤¤¤«¤Ê¤¤¤è¤¦¤Êµ¤¤â¤·¤Þ¤¹¡£
memcpy()¤òºÇŬ²½¤·¤Æ¤¯¤ì¤ë¤Î¤Ï¤¢¤ê¤¬¤¿¤¤¤Î¤Ç¤¹¤±¤ì¤É¡¢memcpy()¤Î¥×¥í¥È¥¿¥¤¥×¤Ï¤â¤È¤â¤È¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£
¡¡¡¡¡¡¡¡void* memcpy(void* dst, const void* src, size_t len);
memcpy()¼«¿È¤Ï¡¢¼õ¤±¼è¤Ã¤¿¥Ý¥¤¥ó¥¿¤ÎÀµ³Î¤Ê·¿¤òÃΤäƤ¤¤Æ¤Ï¤¤¤±¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
int*·¿¥Ý¥¤¥ó¥¿¤À¤«¤éºÇŬ²½¤¹¤ë¤È¤«¡¢char*·¿¥Ý¥¤¥ó¥¿¤À¤«¤éºÇŬ²½¤·¤Ê¤¤¡¢¤È¤¤¤¦¤ä¤êÊý¤ÏÉԲĤÀ¤È»×¤¦¤Î¤Ç¤¹¤¬¡Ä
£Ã¸À¸ì»ÅÍÍŪ¤Ë¤Ï¤É¤¦¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡©
¤â¤·¤«¤·¤¿¤é¡¢int*·¿¥Ý¥¤¥ó¥¿¤Ë¡ÖÉÔÀ°¥¢¥É¥ì¥¹¡×¤òÂåÆþ¤·¤¿»þÅÀ¤Ç´û¤Ë£Ã¸À¸ì»ÅÍͰãÈ¿¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡©
Í×Ä´ºº¤Ç¤¹¡£
* Wed Dec 25 00:00:00 JST 2002 Naoyuki Sawa
- ISD¥Þ¥Ë¥å¥¢¥ë#3
¡ÊÁ°²ó¤«¤é¤Î³¤¡Ä¡Ë
º£²ó¤Ï¡¢»Ä¤ê»°¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=r¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½Ð¤·¤Þ¤¹¡£¡ÊP/ECE¢ªPC¡Ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=d¡¡¡¡¡¡¡¡P/ECE¾å¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=i¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò½é´ü²½¤·¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¤³¤ì¤é»°¤Ä¤Î¥³¥Þ¥ó¥É¤Ï¡¢Á°²ó¤ÎÆó¤Ä¤Ë³Ó¤Ù¤Æ¤«¤Ê¤ê»ÈÍÑÉÑÅÙ¤¬Ä㤤¤Ç¤¹¡£
Î㤨¤ÐËͤξì¹ç¡¢¼Â¸³°Ê³°¤Ç¡Ö=r¡×¡Ö=d¡×¤Ï»È¤Ã¤¿¤³¤È¤¬¤Ê¤¯¡¢¡Ö=i¡×¤Ï°ì²ó»È¤Ã¤¿¤À¤±¤Ç¤¹¡£
¤Ç¤¹¤Î¤Ç¡¢¤³¤ì¤é»°¤Ä¤Î¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ï¤¶¤Ã¤Èή¤·¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤·¤Þ¤·¤ç¤¦¡£
¥³¥Þ¥ó¥É¡Ö=r¡×¤È¡Ö=d¡×¤Ç¤Î¥Õ¥¡¥¤¥ë»ØÄê¤Ë´Ø¤¹¤ë¥ë¡¼¥ë¤Ï¡¢¥³¥Þ¥ó¥É¡Ö=w¡×¤Î¾ì¹ç¤ÈƱ¤¸¤Ê¤Î¤Ç¡¢
¥³¥Þ¥ó¥É¡Ö=r¡×¤È¡Ö=d¡×¤Ë´Ø¤¹¤ëº£²ó¤ÎÀâÌÀ¤Ï¡¢Á°²ó¤Î¥³¥Þ¥ó¥É¡Ö=w¡×¤ÎÀâÌÀ¤È¤Û¤È¤ó¤ÉƱ¤¸¤Ç¤¹¡£
¼ÂºÝ¡¢º£²ó¤ÎÀâÌÀ¤ÎÂçÉôʬ¤ÏÁ°²ó¤Î¥³¥Ô¡¼¤Ê¤Î¤Ç¤¹¤¬(^^;¡¢Ç°¤Î¤¿¤á¡¢³ÆÆþÎÏÎã¤Îưºî³Îǧ¤Ï¹Ô¤¤¤Þ¤·¤¿¡£
-------------------------------------------------------------------------------------------------------------------------------
--------------------
=r¡§¥Õ¥¡¥¤¥ëÆÉ¤ß½Ð¤·
--------------------
½ñ¼°¡§¡¡¡¡¡¡¡¡¡¡=r <¥Õ¥¡¥¤¥ë̾>
P/ECE¾å¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤ò¡¢PC¤ËÆÉ¤ß½Ð¤·¤Þ¤¹¡£
PC¾å¤Ë´û¤ËƱ̾¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤¿¾ì¹ç¤Ï¡¢´û¸¤Î¥Õ¥¡¥¤¥ë¤Ë¾å½ñ¤¤·¤Þ¤¹¡£
Î㣱¡§¡¡¡¡¡¡¡¡¡¡=r date.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡P/ECE¾å¤Ë¤¢¤ë¡Ödate.pex¡×¤ò¡¢PC¤Î¸½ºß¤Îºî¶È¥Õ¥©¥ë¥À¤Ë¡Ödate.pex¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤ÇÆÉ¤ß½Ð¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÆÉ¤ß½Ð¤·¤ËÀ®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê½ÐÎϤ¬²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡reading 'date.pex' done
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡date.pex¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ÆÉ¤ß½Ð¤·¤Ë¼ºÇÔ¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡²èÌ̤ˤϲ¿¤âɽ¼¨¤µ¤ì¤º¡¢¤¹¤°¤Ë¼¡¤Î¥³¥Þ¥ó¥ÉÂÔ¤Á¥×¥í¥ó¥×¥È¡Ö>¡×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
Î㣲¡§¡¡¡¡¡¡¡¡¡¡=r date
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡P/ECE¾å¤Ë¡Ödate.pex¡×¤¬¤¢¤ì¤Ð¡¢PC¤Î¸½ºß¤Îºî¶È¥Õ¥©¥ë¥À¤Ë¡Ödate.pex¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤ÇÆÉ¤ß½Ð¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤ò¾Êά¤¹¤ë¤È¡¢³ÈÄ¥»Ò¡Ö.pex¡×¤¬¼«Æ°Åª¤ËÊä¤ï¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤â¤·P/ECE¾å¤Ë³ÈÄ¥»Ò¤Ê¤·¤Î¡Ödate¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢¤³¤ì¤òÆÉ¤ß¹þ¤ß¤¿¤«¤Ã¤¿¤Î¤À¤È¤·¤Æ¤â¡¢ISD¤¬¡Ö.pex¡×¤òÊä¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½¾¤Ã¤ÆISD¤Î¡Ö=r¡×¥³¥Þ¥ó¥É¤Ç¤Ï¡¢³ÈÄ¥»Ò¤Î¤Ê¤¤¥Õ¥¡¥¤¥ë̾¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½Ð¤¹¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³ÈÄ¥»Ò¤Ê¤·¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½Ð¤½¤¦¤È¤·¤Æ¼ºÇÔ¤·¤¿ÍͻҤò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C:\>isd ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PIECE Monitor version 1.07 (C)2001-2002 by MIO.H¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡>=¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄP/ECE¾å¤Î¥Õ¥¡¥¤¥ë¥ê¥¹¥È¤ò¼èÆÀ¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 0: 2703 startup.pex ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 1: 1221 date¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ä³ÈÄ¥»Ò¤Ê¤·¤Î¡Ödate¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 85 sectors (348160 bytes) free¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡>=r date¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ä¡Ödate¡×¤òÆÉ¤ß½Ð¤·¤Æ¤ß¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡> ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄISD¤Ï¡Ödate.pex¡×¤òÆÉ¤ß½Ð¤½¤¦¤È¤·¤Æ¼ºÇÔ¤·¡¢²¿¤âɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
Î㣳¡§¡¡¡¡¡¡¡¡¡¡=r readme.txt
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ö.pex¡×°Ê³°¤Î³ÈÄ¥»Ò¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½Ð¤¹¾ì¹ç¤Ï¡¢³ÈÄ¥»Ò¤ò¾Êά¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡É¬¤º¡¢³ÈÄ¥»Ò¤Þ¤Ç´Þ¤á¤Æ»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
Î㣴¡§¡¡¡¡¡¡¡¡¡¡=rdate.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥³¥Þ¥ó¥É¡Ö=w¡×¤Î¾ì¹ç¤ÈƱ¤¸¤¯¡¢¡Ö=r¡×¤È¥Õ¥¡¥¤¥ë̾¤Î´Ö¤Î¶õÇòʸ»ú¤Ï¡¢¤¢¤Ã¤Æ¤â¤Ê¤¯¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³¤ÎÎã¤Î¤è¤¦¤Ë¡¢¡Ö=r¡×¤È¥Õ¥¡¥¤¥ë̾¤ò³¤±¤Æ½ñ¤¤¤Æ¤âÂç¾æÉפǤ¹¡£
°Ê²¼¤Ï°¤¤Îã¤Ç¤¹¡£
Î㣵¡§¡¡¡¡¡¡¡¡¡¡=r hello.pex world.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò°ìÅÙ¤ËÆÉ¤ß½Ð¤¹¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³¤ÎÎã¤Î¾ì¹ç¡¢¡Öhello.pex¡×¤ÏÆÉ¤ß½Ð¤µ¤ì¤Þ¤¹¤¬¡¢¡Öworld.pex¡×¤Î»ØÄê¤Ï´°Á´¤Ë̵»ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤¹¤Ê¤ï¤Á¡¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=r hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤È»ØÄꤷ¤¿¤Î¤ÈÁ´¤¯Æ±¤¸·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Öworld.pex¡×¤ò»ØÄꤷ¤¿¤³¤È¤ËÂФ¹¤ë¥¨¥é¡¼¤ä·Ù¹ðÅù¤âɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
Î㣶¡§¡¡¡¡¡¡¡¡¡¡=w *.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥Õ¥¡¥¤¥ë»ØÄê¤Ï¤Ç¤¤Þ¤»¤ó¡£
----------------
=d¡§¥Õ¥¡¥¤¥ëºï½ü
----------------
½ñ¼°¡§¡¡¡¡¡¡¡¡¡¡=d <¥Õ¥¡¥¤¥ë̾>
P/ECE¾å¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
Î㣱¡§¡¡¡¡¡¡¡¡¡¡=d date.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡P/ECE¾å¤Ë¤¢¤ë¡Ödate.pex¡×¤òºï½ü¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ºï½ü¤ËÀ®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê½ÐÎϤ¬²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashErase c28000 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashWrite c28000 130000 1000 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡date.pex¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢ºï½ü¤Ë¼ºÇÔ¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡²èÌ̤ˤϲ¿¤âɽ¼¨¤µ¤ì¤º¡¢¤¹¤°¤Ë¼¡¤Î¥³¥Þ¥ó¥ÉÂÔ¤Á¥×¥í¥ó¥×¥È¡Ö>¡×¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
Î㣲¡§¡¡¡¡¡¡¡¡¡¡=d date
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡P/ECE¾å¤Ë¡Ödate.pex¡×¤¬¤¢¤ì¤Ð¡¢¡Ödate.pex¡×¤òºï½ü¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤ò¾Êά¤¹¤ë¤È¡¢³ÈÄ¥»Ò¡Ö.pex¡×¤¬¼«Æ°Åª¤ËÊä¤ï¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤â¤·P/ECE¾å¤Ë³ÈÄ¥»Ò¤Ê¤·¤Î¡Ödate¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢¤³¤ì¤òºï½ü¤·¤¿¤«¤Ã¤¿¤Î¤À¤È¤·¤Æ¤â¡¢ISD¤¬¡Ö.pex¡×¤òÊä¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½¾¤Ã¤ÆISD¤Î¡Ö=d¡×¥³¥Þ¥ó¥É¤Ç¤Ï¡¢³ÈÄ¥»Ò¤Î¤Ê¤¤¥Õ¥¡¥¤¥ë̾¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³ÈÄ¥»Ò¤Ê¤·¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¼ºÇÔ¤·¤¿ÍͻҤò¡¢¼¡¤Ë¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C:\>isd ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PIECE Monitor version 1.07 (C)2001-2002 by MIO.H¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡>=¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄP/ECE¾å¤Î¥Õ¥¡¥¤¥ë¥ê¥¹¥È¤ò¼èÆÀ¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 0: 2703 startup.pex ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 1: 1221 date¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ä³ÈÄ¥»Ò¤Ê¤·¤Î¡Ödate¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 85 sectors (348160 bytes) free¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡>=d date¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ä¡Ödate¡×¤òºï½ü¤·¤Æ¤ß¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡> ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄISD¤Ï¡Ödate.pex¡×¤òºï½ü¤·¤è¤¦¤È¤·¤Æ¼ºÇÔ¤·¡¢²¿¤âɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
Î㣳¡§¡¡¡¡¡¡¡¡¡¡=d readme.txt
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ö.pex¡×°Ê³°¤Î³ÈÄ¥»Ò¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¾ì¹ç¤Ï¡¢³ÈÄ¥»Ò¤ò¾Êά¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡É¬¤º¡¢³ÈÄ¥»Ò¤Þ¤Ç´Þ¤á¤Æ»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
Î㣴¡§¡¡¡¡¡¡¡¡¡¡=ddate.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥³¥Þ¥ó¥É¡Ö=w¡×¤ä¡Ö=r¡×¤Î¾ì¹ç¤ÈƱ¤¸¤¯¡¢¡Ö=d¡×¤È¥Õ¥¡¥¤¥ë̾¤Î´Ö¤Î¶õÇòʸ»ú¤Ï¡¢¤¢¤Ã¤Æ¤â¤Ê¤¯¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³¤ÎÎã¤Î¤è¤¦¤Ë¡¢¡Ö=d¡×¤È¥Õ¥¡¥¤¥ë̾¤ò³¤±¤Æ½ñ¤¤¤Æ¤âÂç¾æÉפǤ¹¡£
°Ê²¼¤Ï°¤¤Îã¤Ç¤¹¡£
Î㣵¡§¡¡¡¡¡¡¡¡¡¡=d hello.pex world.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò°ìÅ٤˺ï½ü¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³¤ÎÎã¤Î¾ì¹ç¡¢¡Öhello.pex¡×¤Ïºï½ü¤µ¤ì¤Þ¤¹¤¬¡¢¡Öworld.pex¡×¤Î»ØÄê¤Ï´°Á´¤Ë̵»ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤¹¤Ê¤ï¤Á¡¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=d hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤È»ØÄꤷ¤¿¤Î¤ÈÁ´¤¯Æ±¤¸·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Öworld.pex¡×¤ò»ØÄꤷ¤¿¤³¤È¤ËÂФ¹¤ë¥¨¥é¡¼¤ä·Ù¹ðÅù¤âɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
Î㣶¡§¡¡¡¡¡¡¡¡¡¡=w *.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥Õ¥¡¥¤¥ë»ØÄê¤Ï¤Ç¤¤Þ¤»¤ó¡£
--------------------------
=i¡§¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à½é´ü²½
--------------------------
½ñ¼°¡§¡¡¡¡¡¡¡¡¡¡=i
P/ECE¤Î¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò½é´ü²½¤·¤Þ¤¹¡£
Îã¡§¡¡¡¡¡¡¡¡¡¡¡¡=i
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡P/ECE¤Î¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò½é´ü²½¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³Îǧ¤Î¤¿¤á¡¢ISD¤«¤é¼¡¤Î¤è¤¦¤ÊÌ䤤¹ç¤ï¤»¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Init file system. Sure?(Y/N)
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ËÜÅö¤Ë½é´ü²½¤·¤Æ¤è¤±¤ì¤Ð¡Öy¡×¡¢¤ä¤Ã¤Ñ¤ê¤ä¤á¤ë¤Ê¤é¡Öy¡×°Ê³°¤Î¥¡¼¤ò²¡¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Öy¡×¥¡¼¤ò²¡¤¹¤È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬½é´ü²½¤µ¤ì¡¢¼¡¤Î¤è¤¦¤Ê½ÐÎϤ¬²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashErase c28000 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashWrite c28000 130000 1000 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Öy¡×°Ê³°¤Î¥¡¼¤ò²¡¤·¤Æ½é´ü²½¤ò¼è¤ê¤ä¤á¤¿¾ì¹ç¤Ï¡¢¤Ê¤¼¤«¥Õ¥¡¥¤¥ë°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È½é´ü²½¤·¤Ê¤«¤Ã¤¿¤Î¤Ç¤´°Â¿´¤ò¡É¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤Ç¤·¤ç¤¦¤«¡©(^^;
¤Ê¤Ë¤«¤ÎÇï»Ò¤ËP/ECE¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬²õ¤ì¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥É¡Ö=i¡×¤Ç²óÉü¤Ç¤¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤¿¤À¤·¡¢P/ECE¾å¤Î¥Õ¥¡¥¤¥ë¤ÏÁ´¤Æ¾Ã¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¤Î¤Ç¡¢¤´Ãí°Õ¤¯¤À¤µ¤¤¡£
¤Þ¤¿¡¢¡ÖP/ECE¥«¡¼¥Í¥ë¡¦¥¢¥Ã¥×¥Ç¡¼¥È¡×(WinPku.exe)¤ä¡ÖP/ECE¥³¥ß¥å¥Ë¥±¡¼¥¿¡×(WinIsd.exe)¤ò»È¤Ã¤Æ¡¢
¤¦¤Ã¤«¤ê2MBÈÇP/ECE¤Ë¥«¡¼¥Í¥ë¥¢¥Ã¥×¥Ç¡¼¥È¤ò¤«¤±¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤â¡¢¥³¥Þ¥ó¥É¡Ö=i¡×¤Î¤ªÀ¤Ïäˤʤ뤳¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ÖP/ECE¥«¡¼¥Í¥ë¡¦¥¢¥Ã¥×¥Ç¡¼¥È¡×¤ä¡ÖP/ECE¥³¥ß¥å¥Ë¥±¡¼¥¿¡×¤Ç¥«¡¼¥Í¥ë¥¢¥Ã¥×¥Ç¡¼¥È¤ò¹Ô¤¦¤È¡¢
512KB°Ê¹ß¤Î¥»¥¯¥¿¤¬¡È̵¸ú¤Ê¥»¥¯¥¿¡É¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤·¤Þ¤¤¡¢¤»¤Ã¤«¤¯¤Î2MBÈÇP/ECE¤¬Ä̾ï¤Î512KBÈÇP/ECE¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
2MBÈÇP/ECE¤ËÌ᤹¤Ë¤Ï¡¢¡ÖFLASH2MB¸þ¤±²þ¤¥«¡¼¥Í¥ëµÚ¤Ó¥·¥¹¥Æ¥à¡×¤Îreadme.txt¥Õ¥¡¥¤¥ë¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¡¢
2MBÈÇ¥«¡¼¥Í¥ë¤òžÁ÷¤·¤¿¸å¡¢2MBÍÑISD¤Î¥³¥Þ¥ó¥É¡Ö=i¡×¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò½é´ü²½¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
2MBÈÇ¥«¡¼¥Í¥ë¤òžÁ÷¤·¤¿¤À¤±¤Ç¤Ï¡¢512KB°Ê¹ß¤Î¥»¥¯¥¿¤Ï͸ú¤Ë¤Ê¤ê¤Þ¤»¤ó¡ª
ËͤâÀèÆü¤³¤ì¤ò¤ä¤Ã¤Æ¤·¤Þ¤Ã¤Æ¡¢¤Á¤ç¤Ã¤È¥Ï¥Þ¥ê¤Þ¤·¤¿¡£
»²¾È¡§¡¡¡¡¡¡¡¡¡¡¡ÖÏ»ÇÈÍ夵¤ó¤Î¥¹¥Ú¡¼¥¹¡×¡Êhttp://rokuhara.jp.org¡Ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢ª¡Ö¤á¤Ã¤Á¤ã¹¬¤»FRASH¥á¥â¥ê4Çܲ½·×²è¡×¡Êhttp://www2s.biglobe.ne.jp/~rokuhara/piece/flash2mb.htm¡Ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢ª¡ÖFLASH2MB¸þ¤±²þ¤¥«¡¼¥Í¥ëµÚ¤Ó¥·¥¹¥Æ¥à¡×¡Êhttp://www2s.biglobe.ne.jp/~rokuhara/piece/flash2mb.lzh¡Ë
-------------------------------------------------------------------------------------------------------------------------------
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤Ï°Ê¾å¤Ç¤¹¡£
¼¡²ó¤Ï¡¢¥á¥â¥ê¥À¥ó¥×Åù¤ÎÄã¿å½à¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¸«¤Æ¤¤¤³¤¦¤È»×¤¤¤Þ¤¹¡£
¡Ê³¤¤Þ¤¹¡Ä¡Ë
* Sun Dec 22 08:26:00 JST 2002 Naoyuki Sawa
- ISD¥Þ¥Ë¥å¥¢¥ë#2
¡ÊÁ°²ó¤«¤é¤Î³¤¡Ä¡Ë
º£²ó¤Ï¡¢ISD¥³¥Þ¥ó¥É¤ÎÃæ¤Ç¤âÆÃ¤Ë»ÈÍÑÉÑÅÙ¤¬¹â¤¤¤È»×¤ï¤ì¤ë¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¸«¤Æ¤¤¤¤Þ¤¹¡£
¤½¤ÎÁ°¤Ë¡¢¥³¥Þ¥ó¥ÉÀâÌÀÁ´È̤˴ؤ¹¤ëÃí°ÕÅÀ¤Ç¤¹¡£
ISD¤Ï´û¤Ë¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤Ç¥³¥Þ¥ó¥ÉÂÔ¤Á¾õÂ֤ˤʤäƤ¤¤ë¤â¤Î¤È²¾Äꤷ¤Æ¡¢ÀâÌÀ¤ò¹Ô¤¦¤³¤È¤Ë¤·¤Þ¤¹¡£
ISD¤Îµ¯Æ°¡¦½ªÎ»¼ê½ç¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥³¥Þ¥ó¥ÉÆþÎÏÎã¤Ë´Þ¤á¤Þ¤»¤ó¡£
Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥ÉÆþÎÏÎ㤬¤¢¤Ã¤¿¾ì¹ç¡¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=d hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=w world.pex
ISD¤Îµ¯Æ°¡¦½ªÎ»¼ê½ç¤â´Þ¤á¤ë¤È¡¢¼ÂºÝ¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¥¿¥¤¥×¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ä¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤ÇISD¤òµ¯Æ°¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=d hello.pex¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=w world.pex¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡q ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄISD¤ò½ªÎ»¤·¤Þ¤¹¡£
¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤Ë¤Ä¤¤¤Æ¤Ï¡¢Á°²ó¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
-------------------------------------------------------------------------------------------------------------------------------
========================
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É
========================
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤Ï¡¢¥Õ¥¡¥¤¥ë°ìÍ÷ɽ¼¨¤ä¥Õ¥¡¥¤¥ëžÁ÷¤Ê¤É¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ëÁàºî¤ò¹Ô¤¦¥³¥Þ¥ó¥É¤Ç¤¹¡£
Á´Éô¤Ç£µ¤Ä¤Î¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡= ¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=w¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤ß¤Þ¤¹¡£¡ÊPC¢ªP/ECE¡Ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=r¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¤òÆÉ¤ß½Ð¤·¤Þ¤¹¡£¡ÊP/ECE¢ªPC¡Ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=d¡¡¡¡¡¡¡¡P/ECE¾å¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=i¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò½é´ü²½¤·¤Þ¤¹¡£
¤´Í÷¤Î¤è¤¦¤Ë¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤ÏÁ´¤Æ¡Ö=¡×¤Ç»Ï¤Þ¤ê¤Þ¤¹¡£
¤È¤³¤í¤Ç¡¢ISD¤Î¥Ø¥ë¥×¡Ê¥³¥Þ¥ó¥É¡Ö?¡×¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡Ë¤ò¸«¤ë¤È¡¢¤â¤¦°ì¤Ä¡Ö=¡×¤Ç»Ï¤Þ¤ë¥³¥Þ¥ó¥É¤¬ºÜ¤Ã¤Æ¤¤¤Þ¤¹¡£
»þ¹ïÀßÄꥳ¥Þ¥ó¥É¡Ö=t¡×¤Ç¤¹¡£
¤¬¡¢¤³¤ì¤ÏISD¥Ø¥ë¥×¤Î¥ß¥¹¥×¥ê¥ó¥È¤Ç¡¢Àµ¤·¤¤»þ¹ïÀßÄꥳ¥Þ¥ó¥É¤Ï¡Öt¡×¤Ç¤¹¡£
»þ¹ïÀßÄꥳ¥Þ¥ó¥É¡Öt¡×¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡²ó°Ê¹ß¤ËÀâÌÀ¤·¤Þ¤¹¡£
---------------
=¡§¥Õ¥¡¥¤¥ë°ìÍ÷
---------------
½ñ¼°¡§¡¡¡¡¡¡¡¡¡¡=
P/ECE¾å¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë°ìÍ÷¤È¡¢³«¤¥»¥¯¥¿¿ô¡¦¥Ð¥¤¥È¿ô¤òɽ¼¨¤·¤Þ¤¹¡£
Î㣱¡§¡¡¡¡¡¡¡¡¡¡=
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½ÐÎÏ·ë²Ì¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 0: 2703 startup.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 1: 92352 rt.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 2: 11408 rt.fpk
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 3: 57400 padv.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡+ 4:137719 padv.fpk
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 11 sectors (45056 bytes) free
¥Õ¥¡¥¤¥ë°ìÍ÷¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÆÃ¤ËÃí°ÕÅÀ¤â¤¢¤ê¤Þ¤»¤ó¡£
¥Õ¥¡¥¤¥ë°ìÍ÷¤ÏP/ECE¥³¥ß¥å¥Ë¥±¡¼¥¿Åù¤ò»È¤Ã¤Æ¤â¸«¤é¤ì¤ë¤Î¤Ç¤¹¤¬¡¢ISD¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¥³¥Þ¥ó¥É¤â°Õ³°¤ÈÊØÍø¤Ç¤¹¡£
ɸ½à¤Î³«È¯´Ä¶¤ò»È¤Ã¤ÆP/ECE¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎºîÀ®¤ò¹Ô¤¦¾ì¹ç¡¢¤Û¤È¤ó¤É¤Îºî¶È¤ÏDOSÁë¤Ç¤Îºî¶È¤È¤Ê¤ê¤Þ¤¹¡£
¤½¤ÎºÝ¡¢¥Õ¥¡¥¤¥ë°ìÍ÷¤ò¸«¤ë¤¿¤á¤À¤±¤ËP/ECE¥³¥ß¥å¥Ë¥±¡¼¥¿¤òµ¯Æ°¤·¤Ê¤¯¤Æ¤â¡¢¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤«¤é
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd =
¤È¥¿¥¤¥×¤¹¤ë¤À¤±¤Ç¡¢P/ECE¾å¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤¬Ä´¤Ù¤é¤ì¤Þ¤¹¡£
DOS¤Î¡ÖDIR¡×¥³¥Þ¥ó¥É¤ÈƱ¤¸´¶³Ð¤Ç¤¹¤Í¡£
--------------------
=w¡§¥Õ¥¡¥¤¥ë½ñ¤¹þ¤ß
--------------------
½ñ¼°¡§¡¡¡¡¡¡¡¡¡¡=w <¥Õ¥¡¥¤¥ë̾>
PC¾å¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤ò¡¢P/ECE¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
P/ECE¾å¤Ë´û¤ËƱ̾¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤¿¾ì¹ç¤Ï¡¢´û¸¤Î¥Õ¥¡¥¤¥ë¤Ë¾å½ñ¤¤·¤Þ¤¹¡£
Î㣱¡§¡¡¡¡¡¡¡¡¡¡=w date.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸½ºß¤Îºî¶È¥Õ¥©¥ë¥À¤Ë¤¢¤ë¡Ödate.pex¡×¤ò¡¢P/ECE¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½ñ¤¹þ¤ß¤ËÀ®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê½ÐÎϤ¬²èÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡date.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashErase c77000 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashWrite c77000 130000 4c5 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashErase c28000 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FlashWrite c28000 130000 1000 0
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡date.pex¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢½ñ¤¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë̾¤À¤±¤¬²èÌ̤Ëɽ¼¨¤µ¤ì¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸Åù¤ÏÆÃ¤Ëɽ¼¨¤µ¤ì¤Ê¤¤¤Î¤ÇÍ×Ãí°Õ¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡date.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶õ¤ÍÆÎ̤¬Â¤ê¤Ê¤¯¤Æ½ñ¤¹þ¤ß¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢¤Á¤ã¤ó¤È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤âɽ¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡date.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶õ¤¤¬Â¤ê¤Þ¤»¤ó¡£
Î㣲¡§¡¡¡¡¡¡¡¡¡¡=w C:\usr\PIECE\app\date.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖC:\usr\PIECE\app\date.pex¡×¤ò¡¢P/ECE¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸½ºß¤Îºî¶È¥Õ¥©¥ë¥À°Ê³°¤Î¾ì½ê¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤à¤È¤¤Ï¡¢¤³¤ÎÎã¤Î¤è¤¦¤Ë¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
Î㣳¡§¡¡¡¡¡¡¡¡¡¡=w date
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¸½ºß¤Îºî¶È¥Õ¥©¥ë¥À¤Ë¡Ödate.pex¡×¤¬¤¢¤ì¤Ð¡¢¡Ödate.pex¡×¤òP/ECE¤Ë½ñ¤¹þ¤ß¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥Õ¥¡¥¤¥ë̾¤Î³ÈÄ¥»Ò¤ò¾Êά¤¹¤ë¤È¡¢³ÈÄ¥»Ò¡Ö.pex¡×¤¬¼«Æ°Åª¤ËÊä¤ï¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤â¤·ËÜÅö¤Ë¡Ödate¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤ß¤«¤Ã¤¿¤Î¤À¤È¤·¤Æ¤â¡¢ISD¤¬¡Ö.pex¡×¤òÊä¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½¾¤Ã¤ÆISD¤Î¡Ö=w¡×¥³¥Þ¥ó¥É¤Ç¤Ï¡¢³ÈÄ¥»Ò¤Î¤Ê¤¤¥Õ¥¡¥¤¥ë̾¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤à¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡ª
Î㣴¡§¡¡¡¡¡¡¡¡¡¡=w readme.txt
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ö.pex¡×°Ê³°¤Î³ÈÄ¥»Ò¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤ò½ñ¤¹þ¤à¾ì¹ç¤Ï¡¢³ÈÄ¥»Ò¤ò¾Êά¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡É¬¤º¡¢³ÈÄ¥»Ò¤Þ¤Ç´Þ¤á¤Æ»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
Î㣵¡§¡¡¡¡¡¡¡¡¡¡=wdate.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¼Â¤Ï¡¢¡Ö=w¡×¤È¥Õ¥¡¥¤¥ë̾¤Î´Ö¤Î¶õÇòʸ»ú¤Ï¡¢¤¢¤Ã¤Æ¤â¤Ê¤¯¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³¤ÎÎã¤Î¤è¤¦¤Ë¡¢¡Ö=w¡×¤È¥Õ¥¡¥¤¥ë̾¤ò³¤±¤Æ½ñ¤¤¤Æ¤âÂç¾æÉפǤ¹¡£
°Ê²¼¤Ï°¤¤Îã¤Ç¤¹¡£
Î㣶¡§¡¡¡¡¡¡¡¡¡¡=w hello.pex world.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò°ìÅ٤˽ñ¤¹þ¤à¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤³¤ÎÎã¤Î¾ì¹ç¡¢¡Öhello.pex¡×¤Ï½ñ¤¹þ¤Þ¤ì¤Þ¤¹¤¬¡¢¡Öworld.pex¡×¤Î»ØÄê¤Ï´°Á´¤Ë̵»ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤¹¤Ê¤ï¤Á¡¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=w hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤È»ØÄꤷ¤¿¤Î¤ÈÁ´¤¯Æ±¤¸·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Öworld.pex¡×¤ò»ØÄꤷ¤¿¤³¤È¤ËÂФ¹¤ë¥¨¥é¡¼¤ä·Ù¹ðÅù¤âɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
Î㣷¡§¡¡¡¡¡¡¡¡¡¡=w *.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥ï¥¤¥ë¥É¥«¡¼¥É¤Ë¤è¤ë¥Õ¥¡¥¤¥ë»ØÄê¤Ï¤Ç¤¤Þ¤»¤ó¡£
¥Õ¥¡¥¤¥ë½ñ¤¹þ¤ß¥³¥Þ¥ó¥É¤¬Ìò¤ËΩ¤Ä¤Î¤Ï¡¢Makefile¤Çpex¤òP/ECE¤ËžÁ÷¤¹¤ë¾ì¹ç¤Ç¤¹¡£
Î㤨¤Ð¼¡¤Î¤è¤¦¤ÊÆâÍÆ¤ÎMakefile¤¬¤¢¤Ã¤¿¾ì¹ç
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡all: hello.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pex: hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hello.srf: hello.c
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pcc33 hello.c
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hello.pex: hello.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ppack -e hello.srf -ohello.pex
¡Ömake¡×¤Ç¡Öhello.srf¡×¤¬ºîÀ®¤µ¤ì¡¢¡Ömake pex¡×¤Ç¡Öhello.pex¡×¤¬À¸À®¤µ¤ì¤Þ¤¹¡£
P/ECE¤Ø¤Îpex¥Õ¥¡¥¤¥ëžÁ÷¤â¼«Æ°²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¼¡¤ÎÆó¹Ô¤òÄɲä·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡all: hello.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pex: hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hello.srf: hello.c
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pcc33 hello.c
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hello.pex: hello.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ppack -e hello.srf -ohello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡install: hello.pex¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢«¤³¤ì¤òÄɲÃ
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd =w hello.pex¡¡¡¡¡¡¡¡¡¡¡¡¢«¤³¤ì¤òÄɲÃ
¡Ömake install¡×¤È¥¿¥¤¥×¤¹¤ì¤Ð¡¢¡Öhello.pex¡×¤ÎºîÀ®¡¦Å¾Á÷¤Þ¤Ç¤¬¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£
hello.pex¤«¤éÍøÍѤ¹¤ë¥Ç¡¼¥¿¥Õ¥¡¥¤¥ëÅù¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ÎžÁ÷¤âÄɲ䷤Ƥª¤¤Þ¤·¤ç¤¦¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡all: hello.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pex: hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hello.srf: hello.c
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pcc33 hello.c
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡hello.pex: hello.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ppack -e hello.srf -ohello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡install: hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd =w hello.pex
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd =w hell_dat.fpk¡¡¡¡¡¡¡¡¢«¤³¤ì¤òÄɲÃ
-------------------------------------------------------------------------------------------------------------------------------
¤Á¤ç¤Ã¤ÈŤ¯¤Ê¤Ã¤¿¤Î¤Ç¡¢º£²ó¤Ï¤³¤³¤Þ¤Ç¤Ç¤¹¡£
»Ä¤ê£³¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥³¥Þ¥ó¥É¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡²ó¤Ø¡£
¡Ê¡Ä³¤¤Þ¤¹¡Ë
* Fri Dec 20 12:30:00 JST 2002 Naoyuki Sawa
- ISD¥Þ¥Ë¥å¥¢¥ë#1
P/ECE³«È¯¥Ä¡¼¥ë¤ÎÃæ¤Ç¤âÆÃ¤Ë½ÅÍפʤΤ¬¡¢USBžÁ÷¥Ä¡¼¥ë/´Ê°×¥â¥Ë¥¿¡¼¡ØISD¡Ù¤Ç¤¹¡£
ÃÏÌ£¤Ê¤¬¤éÈó¾ï¤Ë¿µ¡Ç½¤Ç¡¢PC¦¤Î¥Ä¡¼¥ë¤È¤·¤ÆÉ¬Íפʵ¡Ç½¤ò¤Û¤È¤ó¤ÉÁ´ÉôÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
¥Ð¡¼¥¸¥ç¥ó¥Á¥§¥Ã¥¯¡¢¥Õ¥¡¥¤¥ëžÁ÷¡¢²èÌÌ¥¥ã¥×¥Á¥ã¡¢¥×¥í¥°¥é¥à¤Î°ì»þÄä»ß¡¢¥«¡¼¥Í¥ë¹¹¿·¤Ê¤É¤¬¡¢¤³¤ì°ì¤Ä¤Ç¤Þ¤«¤Ê¤¨¤Þ¤¹¡£
¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ä¡¼¥ë¤ò¹¥¤à³«È¯¼Ô¤µ¤ó¤Ï¡¢´û¤Ë»È¤¤¤³¤Ê¤·¤Æ¤ª¤é¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
ISD¤ò»È¤¦ºÝ¤ÎÌäÂêÅÀ¤È¤·¤Æ¡¢P/ECE³«È¯´Ä¶¤Ë¤ÏISD¤Î¾Ü¤·¤¤ÀâÌÀ¤¬Æþ¤Ã¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦ÅÀ¤¬µó¤²¤é¤ì¤Þ¤¹¡£
ISD¤Î¥½¡¼¥¹¡ÊC:\usr\PIECE\tools\isd¡Ë¤ä¡¢¡Öisd ?¡×¤Çɽ¼¨¤µ¤ì¤ë¥Ø¥ë¥×¤Ç½¼Ê¬¤È¤â¸À¤¨¤Þ¤¹¤¬¡¢¤ä¤Ï¤ê¤Þ¤È¤Þ¤Ã¤¿ÀâÌÀ¤¬Íߤ·¤¤¤È¤³¤í¤Ç¤¹¡£
¡ÊËͤϤ¿¤Þ¤Ë¤·¤«ISD¤ò»È¤ï¤Ê¤¤¤Î¤Ç¡¢¤½¤Î¤¿¤Ó¤Ë»È¤¤Êý¤ò˺¤ì¤Æ¡¢ISD¤Î¥½¡¼¥¹¤òÆÉ¤ß¤«¤¨¤·¤¿¤ê¤·¤Æ¤Þ¤¹¡Ä(^^;¡Ë
¤½¤³¤Ç¡¢º£²ó¤è¤ê¿ô²ó¤Ëʬ¤±¤Æ¡¢ISD¤Î»È¤¤Êý¤ò¤Þ¤È¤á¤Æ¤ß¤è¤¦¤È»×¤¤¤Þ¤¹¡£
º£²ó¤Ï¤Þ¤º¡¢ISD¤Îµ¯Æ°ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ç¤¹¡£
-------------------------------------------------------------------------------------------------------------------------------
========
µ¯Æ°ÊýË¡
========
ISD¤Ï¡¢»°¤Ä¤Îµ¯Æ°¥â¡¼¥É¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¦¡Ö¥×¥í¥°¥é¥à¼Â¹Ô¥â¡¼¥É¡×
¡¦¡Ö°ú¿ô¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×
¡¦¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×
¤Ç¤¹¡£
¢¨¡Ö°ú¿ô¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤È¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤Î¥Í¡¼¥ß¥ó¥°¤Ï¡¢ISD¤Î¥½¡¼¥¹¤Î¥³¥á¥ó¥È¤ËͳÍ褷¤Þ¤¹¡£
¡¡¡Ö¥×¥í¥°¥é¥à¼Â¹Ô¥â¡¼¥É¡×¤ÏÊØµ¹¾å¡¢Ëͤ¬¾¡¼ê¤Ë̾ÉÕ¤±¤Þ¤·¤¿¡£
--------------------
¥×¥í¥°¥é¥à¼Â¹Ô¥â¡¼¥É
--------------------
µ¯Æ°ÊýË¡£±¡§¡¡¡¡isd [#<¥Ç¥Ð¥¤¥¹ÈÖ¹æ>] -run
µ¯Æ°ÊýË¡£²¡§¡¡¡¡isd [#<¥Ç¥Ð¥¤¥¹ÈÖ¹æ>] -run
µ¯Æ°ÊýË¡£³¡§¡¡¡¡isd [#<¥Ç¥Ð¥¤¥¹ÈÖ¹æ>] -run
srf¥Õ¥¡¥¤¥ë¤òľÀܼ¹Ԥ¹¤ë¥â¡¼¥É¤Ç¤¹¡£
srf¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô³«»Ï¸å¡¢ISD¤Ï¤¹¤°¤Ë½ªÎ»¤·¤Þ¤¹¡£
µ¯Æ°ÊýË¡£±¤Î¤è¤¦¤Ë¡¢srf¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Îsrf¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£
Î㣱¡§¡¡¡¡¡¡¡¡¡¡isd -run C:\usr\PIECE\app\hello\hello.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖC:\usr\PIECE\app\hello\hello.srf¡×¤ò¼Â¹Ô¤·¤Þ¤¹¡£
µ¯Æ°ÊýË¡£²¤Î¤è¤¦¤Ë¡¢srf¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¡Ö.srf¡×¤ò¾Êά¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£
Î㣲¡§¡¡¡¡¡¡¡¡¡¡isd -run C:\usr\PIECE\app\hello\hello
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖC:\usr\PIECE\app\hello\hello.srf¡×¤ò¼Â¹Ô¤·¤Þ¤¹¡£
µ¯Æ°ÊýË¡£³¤Î¤è¤¦¤Ë¡¢¥Õ¥¡¥¤¥ë̾¤Î»ØÄê¤ò´°Á´¤Ë¾Êά¤¹¤ë¤È¡¢¸½ºß¤Îºî¶È¥Õ¥©¥ë¥À¤«¤ésrf¥Õ¥¡¥¤¥ë¤òõ¤·¤Æ¡¢ºÇ½é¤Ë¸«¤Ä¤«¤Ã¤¿srf¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¸½ºß¤Îºî¶È¥Õ¥©¥ë¥À¤ËÊ£¿ô¤Îsrf¥Õ¥¡¥¤¥ë¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï¡¢¤É¤Îsrf¥Õ¥¡¥¤¥ë¤¬¼Â¹Ô¤µ¤ì¤ë¤«¤Ïͽ¬¤Ç¤¤Þ¤»¤ó¡£
Î㣳¡§¡¡¡¡¡¡¡¡¡¡C:
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡cd \usr\PIECE\app\hello\
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd -run
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÖC:\usr\PIECE\app\hello\¡×¥Õ¥©¥ë¥À¤ÎÃæ¤Ë¤¢¤ë¡Öhello.srf¡×¤ò¼Â¹Ô¤·¤Þ¤¹¡£
P/ECE¤¬Ê£¿ôÂæÀܳ¤µ¤ì¤Æ¤¤¤ë¤È¤¤Ï¡¢¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò»ØÄꤷ¤Æ¡¢ÆóÂæÌܰʹߤÎP/ECE¤Çsrf¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ï¡¢0¤¬°ìÂæÌܤÎP/ECE¡¢1¤¬ÆóÂæÌܤÎP/ECE¡¢2¤¬»°ÂæÌܤÎP/ECE¡¢...¤òɽ¤·¤Þ¤¹¡£
¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¡¢°ìÂæÌܤÎP/ECE¤Çsrf¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤·¤Þ¤¹¡£
¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤ò»ØÄꤹ¤ë¤³¤È¤ÏÌÇ¿¤Ë¤¢¤ê¤Þ¤»¤ó¤¬¡¢ÀÖ³°ÀþÄÌ¿®¥×¥í¥°¥é¥à¤Ê¤É¤ò³«È¯¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¤³¤Îµ¡Ç½¤¬ÊØÍø¤Ë»È¤¨¤Þ¤¹¡£
Makefile¤ä¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ê¤É¤Ë¡¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd #0 -run ir.srf
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd #1 -run ir.srf
¤È½ñ¤¤¤Æ¤ª¤¯¤È¡¢¡Öir.srf¡×¤òÆóÂæ¤ÎP/ECE¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¡Ö¥×¥í¥°¥é¥à¼Â¹Ô¥â¡¼¥É¡×¤Ë¤Ä¤¤¤Æ¤Ï¡¢°Ê¾å¤Ç¤¹¡£
¡Ö¥×¥í¥°¥é¥àµ¯Æ°¥â¡¼¥É¡×¤ò´Êñ¤Ë»È¤¦¤¿¤á¤Ë¡¢¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¡ÖC:\usr\PIECE\bin\run.bat¡×¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£
¡ÖC:\usr\PIECE\bin\run.bat¡×¤ÎÆâÍÆ¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡@isd -run %1
srf¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¤è¤¯¡Örun¡×¥³¥Þ¥ó¥É¤ò»È¤¤¤Þ¤¹¤¬¡¢¡Örun¡×¥³¥Þ¥ó¥É¤ÏISD¤Î¡Ö¥×¥í¥°¥é¥à¼Â¹Ô¥â¡¼¥É¡×¤ÎÊÌ̾¤Ê¤Î¤Ç¤¹¡£
¤Á¤Ê¤ß¤ËÀèÆ¬¤Î¡Ö@¡×¤Ï¡¢¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤ÎÃæ¤«¤é¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É̾¤ò¡¢²èÌ̤Ëɽ¼¨¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Îµ¹æ¤Ç¤¹¡£
¤À¤«¤é¡¢¡Örun¡×¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤â¡¢¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤ÎÃæ¤«¤éISD¤ò¸Æ¤ó¤Ç¤¤¤ëÍͻҤϲèÌ̤Ëɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
------------------------
°ú¿ô¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É
------------------------
µ¯Æ°ÊýË¡£±¡§¡¡¡¡isd [#¥Ç¥Ð¥¤¥¹ÈÖ¹æ] <¥³¥Þ¥ó¥É>
µ¯Æ°ÊýË¡£²¡§¡¡¡¡isd [#¥Ç¥Ð¥¤¥¹ÈÖ¹æ] <¥³¥Þ¥ó¥É>;<¥³¥Þ¥ó¥É>;...
ISD¤Ø¤Î¥³¥Þ¥ó¥É¤ò¡¢ISDµ¯Æ°»þ¤Ë¤¤¤Ã¤·¤ç¤Ë»ØÄꤹ¤ë¥â¡¼¥É¤Ç¤¹¡£
³Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¸å¡¢ISD¤Ï¤¹¤°¤Ë½ªÎ»¤·¤Þ¤¹¡£
¤Ê¤ª¡¢¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ë¤Ä¤¤¤Æ¤Ï¡Ö¥×¥í¥°¥é¥à¼Â¹Ô¥â¡¼¥É¡×¤ÈƱ¤¸¤Ç¤¹¤Î¤Ç¡¢ÀâÌÀ¤ò¾Êά¤·¤Þ¤¹¡£
µ¯Æ°ÊýË¡£±¤Ï¡¢¥³¥Þ¥ó¥É¤ò°ì¤Ä¤À¤±»ØÄꤹ¤ë¡¢¤¤¤Á¤Ð¤ó´ðËÜŪ¤ÊÊýË¡¤Ç¤¹¡£
Î㣱¡Ý£±¡§¡¡¡¡¡¡isd v
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡P/ECE¥«¡¼¥Í¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥³¥Þ¥ó¥É¡Öv¡×¤Ï¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ç¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê¢¨¸Ä¡¹¤Î¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤·¤Þ¤¹¡£°Ê²¼Æ±ÍÍ¡Ë
¥³¥Þ¥ó¥É¤¬¶õÇò¤ò´Þ¤à¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥ÉÁ´ÂΤò¡Ö"¡×¤Ç°Ï¤à¤Î¤¬°ìÈÌŪ¤Ç¤¹¤¬¡¢É¬¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Î㣱¡Ý£²¡§¡¡¡¡¡¡isd "d 100000"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd d 100000
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤É¤Á¤é¤âƱ¤¸¤¯¡¢0x100000ÈÖÃϤ«¤é128¥Ð¥¤¥Èʬ¤Î¥á¥â¥êÆâÍÆ¤ò¥Ð¥¤¥Ê¥ê¥À¥ó¥×¤·¤Þ¤¹¡£
¥³¥Þ¥ó¥É¡Öd¡×¤Ï¡¢¥á¥â¥êÆâÍÆ¤ò¥Ð¥¤¥Ê¥ê¥À¥ó¥×¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ç¤¹¡£
͸ú¤Ê¥³¥Þ¥ó¥É¤Î¸å¤í¤ËÉÔÍפÊʸ»úÎ󤬤¯¤Ã¤Ä¤¤¤Æ¤¤¤Æ¤â¡¢·Ù¹ð¤â¤Ê¤¯Ã±¤Ë̵»ë¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤Î¤Õ¤ë¤Þ¤¤¤Ë°Í¸¤¹¤ë¤Î¤Ï˾¤Þ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£
¼¡¤ÎÎã¤Ï¡¢´Ö°ã¤Ã¤¿¥³¥Þ¥ó¥É»ØÄê¤ÎÎã¤Ç¤¹¡£
Î㣱¡Ý£³¡§¡¡¡¡¡¡isd vHOGE
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥³¥Þ¥ó¥É¡Öv¡×¤Î¸å¤Î¡ÖHOGE¡×¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Öisd v¡×¤È»ØÄꤷ¤¿¤Î¤ÈƱ¤¸·ë²Ì¤È¤Ê¤ê¡¢¡ÖHOGE¡×¤ËÂФ¹¤ë·Ù¹ð¤Ê¤É¤âɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
°ìÅÙ¤ËÊ£¿ô¤Î¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
Ê£¿ô¤Î¥³¥Þ¥ó¥É¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢µ¯Æ°ÊýË¡£²¤Î¤è¤¦¤Ë¡¢³Æ¥³¥Þ¥ó¥É¤ò¡Ö;¡×¤Ç¶èÀڤäÆÊ¤٤ޤ¹¡£
Î㣲¡Ý£±¡§¡¡¡¡¡¡isd v;=
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤È¡¢¥Õ¥¡¥¤¥ë°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥³¥Þ¥ó¥É¡Ö=¡×¤Ï¡¢¥Õ¥¡¥¤¥ë°ìÍ÷¤òɽ¼¨¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ç¤¹¡£
¥³¥Þ¥ó¥ÉʤӤ¬¶õÇò¤ò´Þ¤à¾ì¹ç¤Ï¡¢¥³¥Þ¥ó¥ÉʤÓÁ´ÂΤò¡Ö"¡×¤Ç°Ï¤à¤Î¤¬°ìÈÌŪ¤Ç¤¹¤¬¡¢É¬¿Ü¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Î㣲¡Ý£²¡§¡¡¡¡¡¡isd "d 100000;d 200000"
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡isd d 100000;d 200000
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤É¤Á¤é¤âƱ¤¸¤¯¡¢0x100000ÈÖÃϤ«¤é¤Î128¥Ð¥¤¥Èʬ¤Î¥á¥â¥êÆâÍÆ¤ò¥Ð¥¤¥Ê¥ê¥À¥ó¥×¤·¡¢
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Â³¤±¤Æ¡¢0x200000ÈÖÃϤ«¤é¤Î128¥Ð¥¤¥Èʬ¤Î¥á¥â¥êÆâÍÆ¤ò¥Ð¥¤¥Ê¥ê¥À¥ó¥×¤·¤Þ¤¹¡£
¥³¥Þ¥ó¥É¤ò¶èÀÚ¤ë¡Ö;¡×¤Îº¸±¦¤Ë¤Ï¡¢¶õÇòʸ»ú¤òÃÖ¤«¤Ê¤¤¤Û¤¦¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£
¼ÂºÝ¤Ë¤Ï¡¢¡Ö;¡×º¸Â¦¤Ë¤Ï¶õÇò¤ò´Þ¤á¤Æ¤É¤ó¤Êʸ»ú¤¬¤¢¤Ã¤Æ¤â̵»ë¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡¢¤³¤Î¤Õ¤ë¤Þ¤¤¤Ë°Í¸¤¹¤ë¤Î¤Ï˾¤Þ¤·¤¯¤¢¤ê¤Þ¤»¤ó¡£
¡Ö;¡×¤Î±¦Â¦¤Ë¶õÇòʸ»ú¤òÃÖ¤¤¤¿¾ì¹ç¤Ï¡¢·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¼¡¤ÎÎã¤Ï¡¢´Ö°ã¤Ã¤¿¥³¥Þ¥ó¥É»ØÄê¤ÎÎã¤Ç¤¹¡£
Î㣲¡Ý£³¡§¡¡¡¡¡¡isd vHOGE;=
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Î㣱¡Ý£³¤ÈƱ¤¸¤¯¡¢¥³¥Þ¥ó¥É¡Öv¡×¤Î¸å¤Î¡ÖHOGE¡×¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Öisd v;=¡×¤È»ØÄꤷ¤¿¤Î¤ÈƱ¤¸·ë²Ì¤È¤Ê¤ê¡¢¡ÖHOGE¡×¤ËÂФ¹¤ë·Ù¹ð¤Ê¤É¤âɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
Î㣲¡Ý£´¡§¡¡¡¡¡¡isd "v ; ="
isd v ; =
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤É¤Á¤é¤âƱ¤¸¤¯¡¢¡Ö;¡×¤Î¸å¤í¤Ë¤¢¤ë¶õÇòʸ»ú¤ËÂФ·¤Æ¡¢¼¡¤Î¤è¤¦¤Ê·Ù¹ð¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡skip ' '
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·Ù¹ð¤Ï½Ð¤ë¤â¤Î¤Î¥³¥Þ¥ó¥É¼«ÂΤÏÀµ¤·¤¯¼Â¹Ô¤µ¤ì¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤È¥Õ¥¡¥¤¥ë°ìÍ÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ö;¡×¤Îº¸Â¦¤Ë¤¢¤ë¶õÇòʸ»ú¤ËÂФ·¤Æ¤Ï¡¢·Ù¹ð¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¶õÇòʸ»ú¤À¤«¤é̵»ë¤µ¤ì¤¿¤Î¤Ç¤Ï¤Ê¤¯¡¢¡Ö;¡×¤Îº¸Â¦¤Ë¤Ï¤É¤ó¤Êʸ»ú¤¬¤¢¤Ã¤Æ¤â̵»ë¤µ¤ì¤ë¤Î¤Ç¤¹¡£¡Ê¶õÇò¤âHOGE¤âƱ¤¸¤Ç¤¹¡Ë
------------------------
ÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É
------------------------
µ¯Æ°ÊýË¡¡§¡¡¡¡¡¡isd [#<¥Ç¥Ð¥¤¥¹ÈÖ¹æ>]
ISD¤Ø¤Î¥³¥Þ¥ó¥É¤ò¡¢ÂÐÏ÷Á¼°¤Ç°ì¹Ô¤Å¤Ä»ØÄꤹ¤ë¥â¡¼¥É¤Ç¤¹¡£
¤³¤Î¥â¡¼¥É¤ÇISD¤òµ¯Æ°¤¹¤ë¤È¡¢P/ECE¤ËÀܳ¸å¡¢¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Æ¥³¥Þ¥ó¥ÉÂÔ¤Á¼õ¤±¾õÂ֤Ȥʤê¤Þ¤¹¡£
¥³¥Þ¥ó¥É¡Öq¡×¡Ê½ªÎ»¡Ë¤ò»ØÄꤹ¤ë¤Þ¤Ç¡¢ISD¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£
¤Ê¤ª¡¢¥Ç¥Ð¥¤¥¹ÈÖ¹æ¤Ë¤Ä¤¤¤Æ¤Ï¡Ö¥×¥í¥°¥é¥à¼Â¹Ô¥â¡¼¥É¡×¤ÈƱ¤¸¤Ç¤¹¤Î¤Ç¡¢ÀâÌÀ¤ò¾Êά¤·¤Þ¤¹¡£
Î㣱¡§¡¡¡¡¡¡¡¡¡¡isd
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡=
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡q
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡°ì¹ÔÌÜ¡§¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤ÇISD¤òµ¯Æ°¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Æó¹ÔÌÜ¡§¥³¥Þ¥ó¥É¡Öv¡×¤ò»ØÄꤷ¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»°¹ÔÌÜ¡§¥³¥Þ¥ó¥É¡Ö=¡×¤ò»ØÄꤷ¡¢¥Õ¥¡¥¤¥ë°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»Í¹ÔÌÜ¡§¥³¥Þ¥ó¥É¡Öq¡×¤ò»ØÄꤷ¡¢ISD¤ò½ªÎ»¤·¤Þ¤¹¡£
¡Ö°ú¿ô¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤ÈƱ¤¸¤¯¡¢¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤Ç¤â°ìÅÙ¤ËÊ£¿ô¤Î¥³¥Þ¥ó¥É¤ò»ØÄê¤Ç¤¤Þ¤¹¡£
Î㣲¡§¡¡¡¡¡¡¡¡¡¡isd
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v;=
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡d 100000;d 200000
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡q
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡°ì¹ÔÌÜ¡§¡ÖÆþÎÏ¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤ÇISD¤òµ¯Æ°¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Æó¹ÔÌÜ¡§¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤òɽ¼¨¤·¡¢Â³¤±¤Æ¤Ç¥Õ¥¡¥¤¥ë°ìÍ÷¤òɽ¼¨¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»°¹ÔÌÜ¡§0x100000ÈÖÃϤ«¤é¤Î128¥Ð¥¤¥Èʬ¤ò¥Ð¥¤¥Ê¥ê¥À¥ó¥×¤·¡¢Â³¤±¤Æ0x200000ÈÖÃϤ«¤é¤Î128¥Ð¥¤¥Èʬ¤ò¥Ð¥¤¥Ê¥ê¥À¥ó¥×¤·¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»Í¹ÔÌÜ¡§¥³¥Þ¥ó¥É¡Öq¡×¤ò»ØÄꤷ¡¢ISD¤ò½ªÎ»¤·¤Þ¤¹¡£
¡Ö°ú¿ô¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥â¡¼¥É¡×¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¤ò¡Ö"¡×¤Ç°Ï¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
¼¡¤ÎÎã¤Ï¡¢´Ö°ã¤Ã¤¿¥³¥Þ¥ó¥É»ØÄê¤ÎÎã¤Ç¤¹¡£
Î㣳¡§¡¡¡¡¡¡¡¡¡¡isd
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡"v;="
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡q
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Æó¹ÔÌÜÀèÆ¬¤Î¡Ö"¡×¤ËÂФ¹¤ë·Ù¹ð¤¬É½¼¨¤µ¤ì¡¢¼¡¤Ë¡Ö;¡×¤¬¸«¤Ä¤«¤ë¤Þ¤Ç¤ÎÁ´¤Æ¤Îʸ»ú¤¬Ìµ»ë¤µ¤ì¤Þ¤¹¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡½¾¤Ã¤Æ¡¢¥³¥Þ¥ó¥É¡Öv¡×¤Ï¼Â¹Ô¤µ¤ì¤º¡¢¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤Ïɽ¼¨¤µ¤ì¤Þ¤»¤ó¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ö;¡×¤Î¸å¤í¤Ë¤¢¤ë¥³¥Þ¥ó¥É¡Ö=¡×¤Ï¼Â¹Ô¤µ¤ì¤Þ¤¹¡£
-------------------------------------------------------------------------------------------------------------------------------
¼¡²ó¤Ï¡¢³Æ¥³¥Þ¥ó¥É¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¸«¤Æ¤¤¤³¤¦¤È»×¤¤¤Þ¤¹¡£
¡Ê³¤¤Þ¤¹¡Ä¡Ë
* Thu Dec 12 06:30:00 JST 2002 Naoyuki Sawa
- strtok()¤ËÂçÌäÂê
S1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸¡ÊP/ECE¤Îɸ½à£Ã¥é¥¤¥Ö¥é¥ê¡Ë¤Îstrtok()´Ø¿ô¤Ë¤Ï¡¢½ÅÂç¤ÊÌäÂ꤬¤¢¤ê¤Þ¤¹¡£
»ØÄꤷ¤¿Ê¸»úÎó¤Î½ªÃ¼¤òÆÍ¤È´¤±¤Æ¥È¡¼¥¯¥óʬ³ä¤ò³¤±¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
---------------------------------------------------------------------------------------------------
¤Þ¤º¡¢PC¾å¤ÎC¥³¥ó¥Ñ¥¤¥é¤ò»È¤Ã¤Æ¡¢¼¡¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
#include
#include
#include
char s1[] = "a/b/c\0d/e/f";
int
main()
{
¡¡¡¡¡¡¡¡char* p;
¡¡¡¡¡¡¡¡p = strtok(s1, "/");
¡¡¡¡¡¡¡¡while(p != NULL) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡fprintf(stderr, "(%s)", p);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡p = strtok(NULL, "/");
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡fprintf(stderr, "\n");
¡¡¡¡¡¡¡¡return 0;
}
ʸ»úÎós1¤ÎÃæ¤Î¡Ö/¡×¤Ç¶èÀÚ¤é¤ì¤¿³ÆÉôʬ¤ò¡¢½ç¤Ë¡Ö(¡×¡Á¡Ö)¡×¤Ç°Ï¤Ã¤ÆÉ½¼¨¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¹¡£
ʸ»úÎós1¤Ï¡Öa/b/c\0d/e/f¡×¤Ç¤¹¤¬¡¢¡Öc¡×¤Î¸å¤í¤Î¥Ì¥ëʸ»ú¤Ç½ªÃ¼¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¡Öa/b/c¡×¤ÈÅù²Á¤Ç¤¹¡£
½¾¤Ã¤Æ¡¢·ë²Ì¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¡Ö(a)(b)(c)¡×
---------------------------------------------------------------------------------------------------
¤Ç¤Ï¼¡¤Ë¡¢P/ECE¤Ç¼¡¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥½¡¼¥¹¤Î¥À¥¦¥ó¥í¡¼¥É¤Ï¤³¤Á¤é¡§¡¡http://www.piece-me.org/archive/strtok1-20021212-src.zip
#include
#include
#include
#include
unsigned char vbuff[DISP_X * DISP_Y]; /* ²¾ÁÛVRAM */
char s1[] = "a/b/c\0d/e/f";
void
pceAppInit()
{
¡¡¡¡¡¡¡¡char* p;
¡¡¡¡¡¡¡¡/* °ìÈÌŪ¤Ê½é´ü²½ */
¡¡¡¡¡¡¡¡pceLCDDispStop();
¡¡¡¡¡¡¡¡pceLCDSetBuffer(vbuff);
¡¡¡¡¡¡¡¡pceLCDDispStart();
/* ²èÌÌ¥¯¥ê¥¢ */
¡¡¡¡¡¡¡¡memset(vbuff, 0, sizeof vbuff);
¡¡¡¡¡¡¡¡pceFontSetPos(0, 0);
¡¡¡¡¡¡¡¡/*{{¤³¤ÎÉôʬ¤¬¼Â¸³¥³¡¼¥É¤ÎËÜÂΤǤ¹*/
¡¡¡¡¡¡¡¡p = strtok(s1, "/");
¡¡¡¡¡¡¡¡while(p != NULL) {
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡pceFontPrintf("(%s)", p);
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡p = strtok(NULL, "/");
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡/*}}¤³¤ÎÉôʬ¤¬¼Â¸³¥³¡¼¥É¤ÎËÜÂΤǤ¹*/
¡¡¡¡¡¡¡¡/* ²èÌÌžÁ÷ */
¡¡¡¡¡¡¡¡pceLCDTrans();
}
void
pceAppProc(int count)
{
/* SELECT¥Ü¥¿¥ó¤¬²¡¤µ¤ì¤¿¤é½ªÎ»¤·¤Þ¤¹ */
if(pcePadGet() & TRG_SELECT) pceAppReqExit(0);
}
void
pceAppExit()
{
}
¼Â¸³ÆâÍÆ¤ÏPCÍÑ¤Î¥×¥í¥°¥é¥à¤ÈƱ¤¸¤Ç¤¹¤Î¤Ç¡¢¡Ö(a)(b)(c)¡×¤Èɽ¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï¡¢
¡Ö(a)(b)(c)(d)(e)(f)¡×
¤Èɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡ª
---------------------------------------------------------------------------------------------------
S1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸¤Îstrtok()´Ø¿ô¤Ï¡¢Ê¸»úÎó½ªÃ¼¤Î¥Ì¥ëʸ»ú¤Î¸¡½Ð¤ËÌäÂ꤬¤¢¤ê¤Þ¤¹¡£
¤É¤¦¤ä¤é¡¢¥Ì¥ëʸ»ú¤¬Æó¤Ä°Ê¾åϢ³¤·¤Æ¤¤¤¿¾ì¹ç¤Ë¤Î¤ß¡¢Ê¸»úÎó½ªÃ¼¤òǧ¼±¤¹¤ë¤è¤¦¤Ç¤¹¡£
Î㤨¤Ð¡¢Àè¤Û¤É¤Î¥×¥í¥°¥é¥à¤Ç¡¢
char s1[] = "a/b/c\0d/e/f";
¤ò¡¢
char s1[] = "a/b/c\0\0d/e/f";
¤ËÊѹ¹¤¹¤ë¤È¡¢
¡Ö(a)(b)(c)¡×
¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£
Àè¤Û¤É¤Î¥×¥í¥°¥é¥à¤Ç¡¢É½¼¨¤¬¡Ö(f)¡×¤Þ¤Ç¤Ç½ª¤ï¤Ã¤Æ¤¤¤¿¤Î¤â¡¢¤¿¤Þ¤¿¤Þ¡Öf¡×¤Î¸å¤í¤Ë¥Ì¥ëʸ»ú¤¬¤¤¤¯¤Ä¤«
ʤó¤Ç¤¤¤¿¤¿¤á¤Ç¡¢¤â¤·¤½¤¦¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð±Ê±ó¤Ë½ª¤ï¤é¤º¡¢
¡Ö(a)(b)(c)(d)(e)(f)(¥´¥ß)(¥´¥ß)(¥´¥ß)...¡×
¤Èɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¤Ç¤·¤ç¤¦¡£
---------------------------------------------------------------------------------------------------
·ëÏÀ¡§
S1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸¤Îstrtok()´Ø¿ô¤Ï¡¢»È¤Ã¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
²óÈòÊýË¡¡§
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ÎÃæ¤Çstrtok()¤ò¼ÂÁõ¤·¤Æ¡¢¥é¥¤¥Ö¥é¥êÆâ¤Îstrtok()¤òÃÖ¤´¹¤¨¤Æ¤·¤Þ¤¤¤Þ¤·¤ç¤¦¡£
char*
strtok(char* s1, const char* s2)
{ /* find next token in s1[] delimited by s2[] */
¡¡¡¡¡¡¡¡static char* ssave = ""; /* for safety */
¡¡¡¡¡¡¡¡char *sbegin, *send;
¡¡¡¡¡¡¡¡sbegin = s1 ? s1 : ssave;
¡¡¡¡¡¡¡¡sbegin += strspn(sbegin, s2);
¡¡¡¡¡¡¡¡if(*sbegin == '\0') { /* end of scan */
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ssave = ""; /* for safety */
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡return NULL;
¡¡¡¡¡¡¡¡}
¡¡¡¡¡¡¡¡send = sbegin + strcspn(sbegin, s2);
¡¡¡¡¡¡¡¡if(*send != '\0') *send++ = '\0';
¡¡¡¡¡¡¡¡ssave = send;
¡¡¡¡¡¡¡¡return sbegin;
}
// P.J.¥×¥é¥¦¥¬¡¼Ãø¡Öɸ½à£Ã¥é¥¤¥Ö¥é¥ê ANSI/ISO/JIS Cµ¬³Ê¡×¡Ê¥È¥Ã¥Ñ¥ó¡Ë
// ½éÈÇ 467¥Ú¡¼¥¸ ¿Þ14.20 strtok.c ¤ò¤½¤Ã¤¯¤ê¤½¤Î¤Þ¤Þ»È¤ï¤»¤ÆÄº¤¤Þ¤·¤¿¡£
¤½¤¦¤¤¤¨¤Ð¡¢¤ª¤Ç¥Þ¥ë¤Î¥½¡¼¥¹¤âɸ½à¤Îstrtok()¤ò»È¤ï¤º¡¢¼«Á°¤Îstrtok()´Ø¿ô¤òÍѰդ·¤Æ¤½¤ì¤ò»È¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¡Ê\usr\PIECE\app\odemaru\piece_ex.c 56¹ÔÌÜ¡Á PIECE_StrTok()´Ø¿ô¡Ë
ɸ½àstrtok()´Ø¿ô¤ÎÌäÂê¤ò²óÈò¤¹¤ë¤¿¤á¤À¤Ã¤¿¤Î¤Ç¤¹¤Í¡£
* Sun Oct 13 10:03:00 JST 2002 Naoyuki Sawa
- 64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê
C¸À¸ì¤Ç64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤ò¹Ô¤¦¤Ë¤Ï¡Ölong long¡×¤ò»È¤¤¤Þ¤¹¡£Éä¹æÌµ¤·¤Î¾ì¹ç¤Ï¡Öunsigned long long¡×¤Ç¤¹¡£
¡Ölong long¡×·¿¤Ï¡¢1999ǯ¤Ë¼è¤ê·è¤á¤é¤ì¤¿¿·¤·¤¤C¸À¸ìµ¬³Ê¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë»ÅÍͤǤ¹¡£
P/ECE¤ÎC¥³¥ó¥Ñ¥¤¥é¤Ï¸Å¤¤C¸À¸ìµ¬³Ê¤Ë±è¤Ã¤Æºî¤é¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¡Ölong long¡×·¿¤Ï´û¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤½¤ì¤Ç¤Ï¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤ò»î¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£¼¡¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¡§
void smain() {
long long a, b, c;
a = 15372468987LL;
b = 12345678901LL;
c = a + b;
}
¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È...
test1.o: Warning: Unresolved external symbol '__adddi3'.
¤¢¤ì¡©¥ê¥ó¥¯¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£__adddi3¤È¤¤¤¦´Ø¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¤È¸À¤Ã¤Æ¤¤¤Þ¤¹¡£
¤½¤ó¤Ê´Ø¿ô¤Ï¸Æ¤ó¤À³Ð¤¨¤¬¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤Ï¤¤¤Ã¤¿¤¤¤É¤¦¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦¤«¡©
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
P/ECE¤ÎCPU S1C33209¤Ï¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤ò¹Ô¤¦¤¿¤á¤Î¥Ï¡¼¥É¥¦¥§¥¢¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤ÏľÀÜ¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤ËÊÑ´¹¤µ¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤ò¹Ô¤¦´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¤ËÃÖ¤´¹¤¨¤é¤ì¤Þ¤¹¡£
Î㤨¤Ð¡¢Àè¤Û¤É¤Î¥×¥í¥°¥é¥à¤Î¡Öc = a + b¡×¤ÎÉôʬ¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤¹¡£
xld.w %r12,[%sp+12] /* (%r13,%r12) ¤Ë¤µ¤ì¤ë¿ô(a)¤òÆþ¤ì¤Þ¤¹¡£ */
xld.w %r13,[%sp+16]
xld.w %r14,[%sp+20] /* (%r15,%r14) ¤Ë¤¹¿ô(b)¤òÆþ¤ì¤Þ¤¹¡£ */
xld.w %r15,[%sp+24]
xcall __adddi3 /* (%r11,%r10) = (%r13,%r12) + (%r15,%r14) ¤ò¹Ô¤¦¥µ¥Ö¥ë¡¼¥Á¥ó */
xld.w [%sp+28],%r10 /* ·ë²Ì¤ò¥á¥â¥ê¤Ë½ñ¤Ìᤷ¤Þ¤¹¡£ */
xld.w [%sp+32],%r11
¤Á¤Ê¤ß¤Ë¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤ËÃÖ¤´¹¤¨¤é¤ì¤ë¤Î¤Ï64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤Ë¸Â¤Ã¤¿¤³¤È¤Ç¤Ï¤Ê¤¯¡¢
ÉâÆ°¾®¿ôÅÀ±é»»¤ä32¥Ó¥Ã¥È½ü»»¤Ê¤É¤â¡¢¼Â¤Ï´Ø¿ô¸Æ¤Ó½Ð¤·¤ËÃÖ¤´¹¤¨¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¡£
32¥Ó¥Ã¥È½ü»»¤Ë´Ø¤·¤Æ¤Ï¡¢CPU¤¬½ü»»Ì¿Îá¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¤¬¡¢35Ì¿Îá¤âɬÍפȤ·¤Þ¤¹¡£
¤¢¤Á¤³¤Á¤Ç32¥Ó¥Ã¥È½ü»»¤ò¹Ô¤¦¾ì¹ç¡¢¤½¤Î¾ì¤½¤Î¾ì¤ËŸ³«¤·¤Æ¤¤¤Æ¤Ï¥×¥í¥°¥é¥à¥µ¥¤¥º¤¬Èó¾ï¤ËÂ礤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
¥×¥í¥°¥é¥à¥µ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë¤¿¤á¤Ë¡¢¤Þ¤È¤á¤Æ´Ø¿ô¸Æ¤Ó½Ð¤·¤Ë¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤Í¡£
ÉâÆ°¾®¿ôÅÀ±é»»¤ò¹Ô¤¦´Ø¿ô¡Ê__addsf3¤ä__divsf3¤Ê¤É¡Ë¤Ï¡¢ÉâÆ°¾®¿ôÅÀ±é»»¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¡¢\usr\PIECE\lib\fp.lib ¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£
32¥Ó¥Ã¥È½ü»»¤ò¹Ô¤¦´Ø¿ô¡Ê__divsi3¤ä__modsi3¤Ê¤É¡Ë¤Ï¡¢À°¿ô¾ê;±é»»¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¡¢\usr\PIECE\lib\idiv.lib ¤ËÆþ¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¤¢¤¿¤ê¤ÎÀâÌÀ¤Ï¡¢
¡ØS1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Ë¥å¥¢¥ë¡Ù¡Ê\usr\PIECE\docs\datasheet\EPSON\S5U1C33000C_J.pdf¡Ë
£·¡¥¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥é¥¤¥Ö¥é¥ê¡Ê93¡Á95¥Ú¡¼¥¸¡Ë
¤ËºÜ¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤´»²¾È¤¯¤À¤µ¤¤¡£
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
¤½¤ì¤Ç¤Ï¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤ò¹Ô¤¦´Ø¿ô¤Ï¡¢¤É¤Î¥é¥¤¥Ö¥é¥ê¤ËÆþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¡¦¡¦¡¦Æþ¤Ã¤Æ¤¤¤Þ¤»¤ó¡ª
Æþ¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¡£
C¥³¥ó¥Ñ¥¤¥é¤Ï³Î¤«¤Ë¡Ölong long¡×¤òǧ¼±¤·¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤òÀ¸À®¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢
´Î¿´¤Î64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
P/ECE¤ÎCD-ROM¤ËÆþ¤ì˺¤ì¤¿¡¢¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤µ¤½¤¦¤Ç¤¹¡£
Àè¤Û¤É¤Î»ñÎÁ¤Ç¤â¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê¤Ë¤Ä¤¤¤Æ¤ÏÁ´¤¯¿¨¤ì¤é¤ì¤Æ¤¤¤Þ¤»¤ó¤«¤é¡¢
¤É¤¦¤ä¤é¡¢EPSON¤µ¤ó¤ÎC¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸ÇÛÉÛ¥»¥Ã¥È¤Ë¤â¤È¤â¤È´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹¡£
C¥³¥ó¥Ñ¥¤¥é¤ÏÂбþ¤·¤Æ¤¤¤ë¤Î¤Ë¡¢¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤µ¤ì¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦¤Î¤Ï¤É¤¦¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦¤«¡©
¹Í¤¨¤é¤ì¤ë¤Î¤Ï¡¢C¥³¥ó¥Ñ¥¤¥é¤Î¡Ölong long¡×Âбþ¤¬ÉÔ½¼Ê¬¤Ç¡¢¥é¥¤¥Ö¥é¥ê¤òÍѰդ·¤¿¤À¤±¤Ç¤ÏÀµ¤·¤¯»È¤¨¤Ê¤¤¤¿¤á¡¢
64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê¤âºî¤Ã¤¿¤±¤ÉÇÛÉÛ¤·¤Ê¤«¤Ã¤¿¡¢¤È¤¤¤¦¥±¡¼¥¹¤Ç¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢¤¤¤¯¤Ä¤«¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ»î¤·¤Æ¤ß¤¿¸Â¤ê¤Ç¤Ï¡¢À¸À®¤µ¤ì¤ë¥³¡¼¥É¤ËÆÃ¤ËÌäÂ꤬¤¢¤ë¤è¤¦¤Ë¤Ï¸«¤¨¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤½¤³¤Ç¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê¤ò¼«Á°¤ÇÍѰդ·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤Î´Ø¿ô̾¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡§
__negdi2 (%r11,%r10) ¢« -(%r13,%r12)
__adddi3 (%r11,%r10) ¢« (%r13,%r12) + (%r15,%r14)
__subdi3 (%r11,%r10) ¢« (%r13,%r12) - (%r15,%r14)
__muldi3 (%r11,%r10) ¢« (%r13,%r12) * (%r15,%r14)
__divdi3 (%r11,%r10) ¢« (%r13,%r12) / (%r15,%r14) ¢¨É乿ÉÕ¤
__udivdi3 (%r11,%r10) ¢« (%r13,%r12) / (%r15,%r14) ¢¨Éä¹æÌµ¤·
__moddi3 (%r11,%r10) ¢« (%r13,%r12) % (%r15,%r14) ¢¨É乿ÉÕ¤
__umoddi3 (%r11,%r10) ¢« (%r13,%r12) % (%r15,%r14) ¢¨Éä¹æÌµ¤·
¤³¤ì¤é¤Î´Ø¿ô¤ò¼ÂÁõ¤·¤¿¥½¡¼¥¹¤Ï¤³¤Á¤é¡£¥Æ¥¹¥ÈÍÑ¥×¥í¥°¥é¥à¤â´Þ¤ó¤Ç¤¤¤Þ¤¹¡§
http://www.piece-me.org/archive/int64-20021013-src.zip
¥Æ¥¹¥È¥×¥í¥°¥é¥à¤Î·ë²Ì¤Î²èÌ̤Ϥ³¤¦¤Ê¤ê¤Þ¤¹¡§
http://www.piece-me.org/int64-20021013.png
¤È¤ê¤¢¤¨¤º¡¢¤Á¤ã¤ó¤Èư¤¤¤Æ¤¤¤ë¤ß¤¿¤¤¤Ç¤¹¤Í¡£
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
º£²ó¼ÂÁõ¤·¤¿64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê¤Ë¤Ï¡¢¤Þ¤À¼¡¤Î¤è¤¦¤ÊÌäÂêÅÀ¡¦ÉÔ°ÂÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
°ìÉô̤¼ÂÁõ¤Î´Ø¿ô¤¬¤¢¤ê¤Þ¤¹
--------------------------
ÉâÆ°¾®¿ôÅÀ¢Î64¥Ó¥Ã¥ÈÀ°¿ô¤ÎÊÑ´¹¤ò¹Ô¤¦¤¿¤á¤Î´Ø¿ô¤ò¤Þ¤À¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó¡£
ÉâÆ°¾®¿ôÅÀ¢Î64¥Ó¥Ã¥ÈÀ°¿ô¤ÎÊÑ´¹¤ËɬÍפʴؿô¤Ï¡¢__fixsfdi,__fixunssfdi,__floatdisf¤Ç¤¹¡£
ÉâÆ°¾®¿ôÅÀ¤¬Íí¤ó¤Ç¤¯¤ë¤È¤Á¤ç¤Ã¤ÈÌÌÅݤʤΤȡ¢¤³¤Î¤è¤¦¤Ê·¿ÊÑ´¹¤ÏÅöÌÌɬÍפʤ¤¤È¹Í¤¨¤¿¤Î¤Ç¡¢º£²ó¤Ï¼ÂÁõ¤·¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤Þ¤¿¡¢¤Ê¤¼¤«ÉâÆ°¾®¿ôÅÀ¢Î64¥Ó¥Ã¥ÈÀ°¿ô¤ÎÊÑ´¹»þ¤Ë__cmpdi2¤È¤¤¤¦´Ø¿ô¤¬¸Æ¤Ð¤ì¤ë¤³¤È¤â¤¢¤ê¤Þ¤¹¡£
´Ø¿ô̾¤«¤é¿ä¬¤¹¤ë¤È¡Ölong long¡×Ʊ»Î¤ÎÈæ³Ó¤Î¤è¤¦¤Ç¤¹¤¬¡¢
Ä̾ï¤Î¡Ölong long¡×Ʊ»Î¤ÎÈæ³Ó¤Ï´Ø¿ô¸Æ¤Ó½Ð¤·¤ËÃÖ¤´¹¤¨¤é¤ì¤º¡¢Ä¾ÀÜ¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤ËŸ³«¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¡£
Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ï¡§
void test(long long a, long long b) {
if(a > b) return;
...
}
ľÀÜ¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤ËŸ³«¤µ¤ì¤Þ¤¹¡£__cmpdi2¤Ï¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤»¤ó¡£
cmp %r13,%r15 /* ¾å°Ì32¥Ó¥Ã¥È¤ÎÈæ³Ó */
xjrgt __L1
xjrne __L2
cmp %r12,%r14 /* ²¼°Ì32¥Ó¥Ã¥È¤ÎÈæ³Ó */
xjrugt __L1
__L2:
...
__L1:
ret
ͽÁۤǤ¹¤¬¡¢¤¿¤Ö¤óÀΤÏÄ̾ï¤Î¡Ölong long¡×Ʊ»Î¤ÎÈæ³Ó¤â__cmpdi2¤Î¸Æ¤Ó½Ð¤·¤ËÊÑ´¹¤µ¤ì¤Æ¤¤¤¿¤Î¤À¤È»×¤¤¤Þ¤¹¡£
¤½¤Î¸å¡¢C¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¤Ë¤è¤ê¡¢¸úΨ¤ÎÎɤ¤¥³¡¼¥É¤¬À¸À®¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¡¢
Ä̾ï¤ÎÈæ³Ó¤Ï´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¤Ï¤Ê¤¯¡¢Ä¾ÀÜ¥¢¥»¥ó¥Ö¥é¥³¡¼¥É¤ËŸ³«¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
ÉâÆ°¾®¿ôÅÀ¢Î64¥Ó¥Ã¥ÈÀ°¿ô¤ÎÃæ¤ÎÈæ³Ó½èÍý¡Ê¤Ê¤¼·¿ÊÑ´¹¤ËÈæ³Ó¤¬É¬ÍפʤΤ«¤è¤¯¤ï¤«¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤¹¤¬(^^;¡Ë¤Ï¡¢
²¿¤é¤«¤ÎÍýͳ¤Ë¤è¤ê¡Ê¤â¤·¤«¤·¤¿¤éºÇŬ²½Ëº¤ì¡©¡ËÀΤÎ̾»Ä¤Ç__cmpdi2¤Î¸Æ¤Ó½Ð¤·¤Î¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡£
%r4¤È%r12¡Á%r15¤¬Ç˲õ¤µ¤ì¤Þ¤¹
-----------------------------
S1C33 Family C¥³¥ó¥Ñ¥¤¥é¤Î´Ø¿ô¸Æ¤Ó½Ð¤·µ¬Ìó¤Ë¤è¤ê¡¢´Ø¿ô¤Ï%r4¡Á%7¡¦%r12¡Á%r15¤òÇ˲õ¤·¤Æ¤â¤¤¤¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
º£²ó¼ÂÁõ¤·¤¿64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê¤â¡¢¤³¤ì¤é¤Î¥ì¥¸¥¹¥¿¤òºî¶ÈÍѤ˻Ȥ¦¤Î¤Ç¡¢¸Æ¤Ó½Ð¤µ¤ì¤¿¤È¤¤ÎÃͤòÊÝ»ý¤·¤Þ¤»¤ó¡£
¤¿¤Ö¤ó¤³¤ì¤ÇÌäÂê¤Ê¤¤¤È¤Ï»×¤¦¤Î¤Ç¤¹¤¬¡¢ÉâÆ°¾®¿ôÅÀ±é»»¥é¥¤¥Ö¥é¥ê¤äÀ°¿ô¾ê;±é»»¥é¥¤¥Ö¥é¥ê¡¢64¥Ó¥Ã¥ÈÀ°¿ô±é»»¥é¥¤¥Ö¥é¥ê¤Ï
C¥³¥ó¥Ñ¥¤¥é¤½¤Î¤â¤Î¤Ë¿¼¤¯´Ø¤ï¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤â¤·¤«¤·¤¿¤éC¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ËÂФ·¤Æ¡¢
Ä̾ï¤Î´Ø¿ô¤È¤Ï°Û¤Ê¤ë¡¢ÆÃÊ̤ʴؿô¸Æ¤Ó½Ð¤·µ¬Ìó¤ò´üÂÔ¤·¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¤â¤·¤âC¥³¥ó¥Ñ¥¤¥é¤¬¤³¤ì¤é¤Î´Ø¿ô¤ËÂФ·¤Æ¡ÈÁ´¥ì¥¸¥¹¥¿¤¬Êݸ¤µ¤ì¤ë¤³¤È¡É¤ò´üÂÔ¤·¤Æ¤¤¤¿¾ì¹ç¡¢
ͽ´ü¤·¤Ê¤¤¥ì¥¸¥¹¥¿¤¬Ç˲õ¤µ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢´Ö°ã¤Ã¤¿Æ°ºî¤ò°ú¤µ¯¤³¤¹²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ì¤Þ¤Ç¼Â¸³¤·¤¿¤È¤³¤íÌäÂê¤Ê¤¤¤Î¤Ç¡¢¤¿¤Ö¤óÂç¾æÉפÀ¤È¤Ï»×¤¦¤Î¤Ç¤¹¤¬¡¢¡ØS1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸ ¥Þ¥Ë¥å¥¢¥ë¡Ù¤Ë
¤³¤ÎÅÀ¤Ë´Ø¤¹¤ëÀâÌÀ¤¬¤Ê¤¤¤¿¤á¡¢¤Þ¤À¾¯¤·É԰¤Ǥ¹¡£
¾è»»¡¦½ü»»¤ÏÃÙ¤¤¤Ç¤¹
--------------------
¾è»»¥ë¡¼¥Á¥ó¡Ê__muldi3¡Ë¤Ï¡¢¸ÅŵŪ¤Ê£±¥Ó¥Ã¥È¤Å¤Ä¤ÎÉ®»»Êý¼°¤òºÎ¤Ã¤Æ¤¤¤Þ¤¹¡£
S1C33 CPU¤Î¾è»»Ì¿Îá¤òÍøÍѤ·¤Æ¡¢32¥Ó¥Ã¥È¤Å¤Ä¤Þ¤È¤á¤Æ·×»»¤¹¤ì¤Ð¡¢¤â¤Ã¤È¹â®²½¤Ç¤¤ë¤È»×¤¤¤Þ¤¹¡£
½ü»»¡¦¾ê;¥ë¡¼¥Á¥ó¡Ê__divdi3¡¤__moddi3¤Ê¤É¡Ë¤Ï¡¢S1C33 CPU¤Îdiv0s¡¤div1¡¤div2s¡¤div3sÌ¿Îá¤Îưºî¤ò¤½¤Ã¤¯¤ê¤½¤Î¤Þ¤Þ¿¿»÷¤Æºî¤ê¤Þ¤·¤¿¡£
¤³¤ì¤é¤ÎÌ¿Î᤬32¥Ó¥Ã¥È¤Ç½èÍý¤·¤Æ¤¤¤ë¤È¤³¤í¤ò¡¢Ã±¤Ë64¥Ó¥Ã¥Èʬ¹Ô¤¦¤è¤¦¤Ë³ÈÄ¥¤·¤¿¤À¤±¤Ç¤¹¡£
div1Ì¿Îá¤Ê¤É¤¬¥Ï¡¼¥É¥¦¥§¥¢¤Ç¹Ô¤Ã¤Æ¤¤¤ë½èÍý¤ò¥½¥Õ¥È¥¦¥§¥¢¤ËÃÖ¤´¹¤¨¤Þ¤·¤¿¤Î¤Ç¡¢1¥Ó¥Ã¥ÈÅö¤¿¤ê10ÇܰʾåÃÙ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤µ¤é¤Ë¥Ó¥Ã¥È¿ô¤¬2ÇܤǤ¹¤Î¤Ç¡¢20Çܰʾ塣¾¤Î½èÍý¤â¹Í¤¨¤ë¤È¡¢30Çܰʾå¤ÏÃÙ¤¯¤Ê¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡£
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
¥Ð¥°¡¦¹â®²½ÊýË¡¤Ê¤É¡¢¤ªµ¤ÉÕ¤¤ÎÅÀ¤¬¤¢¤ê¤Þ¤·¤¿¤é¡¢¤´°ìÊ󤯤À¤µ¤ì¤Ð¹¬¤¤¤Ç¤¹¡£
64¥Ó¥Ã¥ÈÀ°¿ô±é»»¤¬¼ÂºÝ¤Ë¤É¤ÎÄøÅÙɬÍפʤΤ«¡©¤È¹Í¤¨¤ë¤È¡¢¤¢¤Þ¤êÎϤòÆþ¤ì¤ëÉôʬ¤Ç¤Ï¤Ê¤¤¤è¤¦¤Êµ¤¤â¤·¤Þ¤¹¤¬¡¢
¼ÂÍÑÀ¤Ï¤È¤â¤«¤¯¡¢¾®¤µ¤Ê¥µ¥Ö¥ë¡¼¥Á¥ó¤Î¥¢¥»¥ó¥Ö¥é¥³¡¼¥Ç¥£¥ó¥°¤Ï³Ú¤·¤¤¤Ç¤¹¤è¤Í¡£
* Thu Sep 19 12:30:00 JST 2002 Naoyuki Sawa
- calloc()¤¬¼ºÇÔ¤¹¤ë
----
¾õ¶·
----
ɸ½à£Ã¥é¥¤¥Ö¥é¥ê¤Ë¤Ï¡¢¼ç¤ËÆó¼ïÎà¤Î¥á¥â¥ê³ä¤êÅö¤Æ´Ø¿ô¤¬¤¢¤ê¤Þ¤¹¡£
malloc()¤Ècalloc()¤Ç¤¹¡£
malloc()¤¬Ã±¤Ë¥á¥â¥ê¤ò³ä¤êÅö¤Æ¤ë¤À¤±¤Ê¤Î¤ËÂФ·¡¢calloc()¤Ï³ä¤êÅö¤Æ¤¿¥á¥â¥ê¤Î¥¼¥í¥¯¥ê¥¢¤â¹Ô¤Ã¤Æ¤¯¤ì¤Þ¤¹¡£
¥×¥í¥°¥é¥à¦¤Ç¥¼¥í¥¯¥ê¥¢¤ò¹Ô¤ï¤Ê¤¯¤ÆºÑ¤àʬcalloc()¤ÎÊý¤¬ÊØÍø¤Ê¤Î¤Ç¡¢malloc()¤è¤ê¤âcalloc()¤ÎÊý¤ò¹¥¤ó¤Ç»È¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢
P/ECE³«È¯´Ä¶¤Îcalloc()¡Ê°Ê²¼¡¢P/ECEÈÇcalloc()¤È¸Æ¤Ö¤³¤È¤Ë¤·¤Þ¤¹¡Ë¤Ë¤Ï¤Á¤ç¤Ã¤ÈÍî¤È¤··ê¤¬¤¢¤ë¤³¤È¤Ëµ¤ÉÕ¤¤Þ¤·¤¿¡£
Ʊ¤¸¥µ¥¤¥º¤Î¥á¥â¥ê³ä¤êÅö¤Æ¤Ç¡¢malloc()¤ò»È¤¨¤ÐÀ®¸ù¤¹¤ë¤Î¤Ëcalloc()¤ò»È¤¦¤È¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ë¡¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤òÍѰդ·¤Þ¤·¤¿¡£
http://www.piece-me.org/archive/calloc-20020919-src.zip
¤³¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¡¢16¥¥í¥Ð¥¤¥È¤Î¥Ò¡¼¥×Îΰ褫¤é¡¢¸Þ¼ïÎà¤ÎÊýË¡¤Ç8¥¥í¥Ð¥¤¥È¤Î¥á¥â¥ê³ä¤êÅö¤Æ¤ò»î¹Ô¤·¤Þ¤¹¡£
¸Þ¼ïÎà¤ÎÊýË¡¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£
£±¡¥¡¡calloc(2048, 4) 4¥Ð¥¤¥È¡ß2048¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ
£²¡¥¡¡calloc(4, 2048) 2048¥Ð¥¤¥È¡ß4¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ
£³¡¥¡¡calloc(8192, 1) 1¥Ð¥¤¥È¡ß8192¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ
£´¡¥¡¡calloc(1, 8192) 8192¥Ð¥¤¥È¡ß1¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ
£µ¡¥¡¡malloc(8192) 8192¥Ð¥¤¥È¤Î¥á¥â¥ê³ä¤êÅö¤Æ
¤¤¤º¤ì¤â·ë²ÌŪ¤Ë¤Ï8¥¥í¥Ð¥¤¥È¤Î¥á¥â¥ê³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢¤¹¤Ù¤ÆÀ®¸ù¤¹¤ë¤Ï¤º¤Ç¤¹¡£
¤È¤³¤í¤¬¡¢¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤ë¤È¡¢
£³¡¥¡¡calloc(8192, 1) 1¥Ð¥¤¥È¡ß8192¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ
¤¬¼ºÇÔ¤¹¤ë¤Î¤Ç¤¹¡£
¤½¤ì°Ê³°¤Î£±¡¤£²¡¤£´¡¤£µ¤ÏÀ®¸ù¤·¤Þ¤¹¡£¤Ê¤¼¤Ç¤·¤ç¤¦¤«¡©
----
¸¶°ø
----
calloc()¤Î°ú¿ô»ÅÍͤϡ¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
void* calloc(size_t num, size_t size);
num Í×ÁÇ¿ô
size ³ÆÍ×ÁǤΥХ¤¥Èñ°Ì¤Ç¤ÎŤµ
°ìÈÌŪ¤Ê½èÍý·Ï¤Îcalloc()¤Î¼ÂÁõ¤Ï¡¢¤À¤¤¤¿¤¤¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
void* calloc(size_t num, size_t size) {
int n;
void* p;
n = num * size; /* ³ä¤êÅö¤Æ¥Ð¥¤¥È¿ô¤ò·×»» */
p = malloc(n); /* ³ä¤êÅö¤Æ¤ò¹Ô¤Ã¤Æ¤ß¤ë */
if(p != NULL) memset(p, 0, n); /* À®¸ù¤Ê¤é¥¼¥í¥¯¥ê¥¢ */
return p;
}
¤È¤³¤í¤¬¡¢P/ECEÈÇcalloc()¤Î¼ÂÁõ¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤ß¤¿¤¤¤Ç¤¹¡£
void* calloc(size_t num, size_t size) {
int n;
void* p;
size = size + 3 & ~3; /* Í×ÁÇ¥µ¥¤¥º¤ò4¥Ð¥¤¥Èñ°Ì¤ËÀÚ¤ê¾å¤² */
n = num * size; /* ³ä¤êÅö¤Æ¥Ð¥¤¥È¿ô¤ò·×»» */
p = malloc(n); /* ³ä¤êÅö¤Æ¤ò¹Ô¤Ã¤Æ¤ß¤ë */
if(p != NULL) memset(p, 0, n); /* À®¸ù¤Ê¤é¥¼¥í¥¯¥ê¥¢ */
return p;
}
³ä¤êÅö¤Æ¥Ð¥¤¥È¿ô¤ò·×»»¤¹¤ëÁ°¤Ë¡¢Í×ÁÇ¥µ¥¤¥º¤ò4¥Ð¥¤¥Èñ°Ì¤ËÀÚ¤ê¾å¤²¤Æ¤¤¤Þ¤¹¡£
¤³¤ì¤òƧ¤Þ¤¨¤Æ¡¢Àè¤Û¤É¤Î¸Þ¼ïÎà¤Î³ä¤êÅö¤ÆÊýË¡¤Ç¤½¤ì¤¾¤ì²¿¥Ð¥¤¥È¤Î³ä¤êÅö¤Æ¤¬¹Ô¤ï¤ì¤è¤¦¤È¤·¤Æ¤¤¤¿¤Î¤«¤ò¹Í¤¨¤Æ¤ß¤ë¤È¡¢
£±¡¥¡¡calloc(2048, 4) 4¥Ð¥¤¥È¡ß2048¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ ¢ª (4+3&~3) * 2048 = 4 * 2048 = 8192[¥Ð¥¤¥È]
£²¡¥¡¡calloc(4, 2048) 2048¥Ð¥¤¥È¡ß4¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ ¢ª (2048+3&~3) * 4 = 2048 * 4 = 8192[¥Ð¥¤¥È]
£³¡¥¡¡calloc(8192, 1) 1¥Ð¥¤¥È¡ß8192¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ ¢ª (1+3&~3) * 8192 = 4 * 8192 = 32768[¥Ð¥¤¥È]
£´¡¥¡¡calloc(1, 8192) 8192¥Ð¥¤¥È¡ß1¸Ä¤Î¥á¥â¥ê³ä¤êÅö¤Æ ¢ª (8192+3&~1) * 1 = 8192 * 1 = 8192[¥Ð¥¤¥È]
£µ¡¥¡¡malloc(8192) 8192¥Ð¥¤¥È¤Î¥á¥â¥ê³ä¤êÅö¤Æ ¢ª 8192[¥Ð¥¤¥È]
£³¤À¤±¤¬32KB¤â¤Î³ä¤êÅö¤Æ¤ò¹Ô¤ª¤¦¤È¤·¤Æ¤¤¤Þ¤¹¡£
¥Ò¡¼¥×Îΰè¤Ï16KB¤·¤«½àÈ÷¤·¤Æ¤¤¤Þ¤»¤ó¤«¤é¡¢¤Ê¤ë¤Û¤É¼ºÇÔ¤¹¤ë¤Ï¤º¤Ç¤¹¡£
¥Ò¡¼¥×Îΰ褬32KB°Ê¾å¤¢¤ì¤ÐÀ®¸ù¤·¤Þ¤¹¤¬¡¢24KBʬ¤â¤ÎÎΰ褬̵Â̤ˤʤäƤ·¤Þ¤¤¤Þ¤¹¡£
¤Ç¤Ï¤Ê¤¼P/ECEÈÇcalloc()¤Ï¡¢¤ï¤¶¤ï¤¶Í×ÁÇ¥µ¥¤¥º¤ò4¥Ð¥¤¥Èñ°Ì¤ËÀÚ¤ê¾å¤²¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
³Î¤«¤Ëcalloc()¤Î»ÅÍͤǤϡ¢³ä¤êÅö¤Æ¤é¤ì¤¿³ÆÍ×ÁǤ¬Å¬ÀڤʥХ¤¥È¶³¦¤ËÇÛÃÖ¤µ¤ì¤ë¤è¤¦¡¢°ú¿ôsize¤Ë¤è¤Ã¤Æ³ä¤êÅö¤Æ¥µ¥¤¥º¤òÄ´À°¤·¤Æ¤â¹½¤ï¤Ê¤¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤¿¤Ö¤ó¡¢int¡¤short¡¤char·¿¤Î¥á¥ó¥ÐÊÑ¿ô¤¬º®ºß¤·¤Æ¤¤¤ë¹½Â¤ÂΤΤ¿¤á¤ÎÇÛθ¤À¤È»×¤¤¤Þ¤¹¡£
struct TEST {
int a; /* +0¡Á3 */
char b; /* +4 */
}; /* =5¥Ð¥¤¥È */
¹½Â¤ÂÎTEST¤Î¥µ¥¤¥º¤Ï5¥Ð¥¤¥È¤Ê¤Î¤Ç¡Ê¢¨¼Â¤Ï¤½¤¦¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¸å½Ò¤·¤Þ¤¹¡Ë¡¢¤¹¤´Ö¤Ê¤¯Ê¤٤ë¤È¡¢¥á¥ó¥ÐÊÑ¿ôa¤Ï5¥Ð¥¤¥È¤´¤È¤ËÇÛÃÖ¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
S1C33 CPU¤Ç¤Ï¡¢intÊÑ¿ô¤Ï4¥Ð¥¤¥È¶³¦¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
Æó¤ÄÌܰʹߤÎÍ×ÁǤΥá¥ó¥ÐÊÑ¿ôa¤Ï4¥Ð¥¤¥È¶³¦¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢ÆÉ¤ß½ñ¤¤·¤è¤¦¤È¤¹¤ë¤È¥¢¥É¥ì¥¹¥¨¥é¡¼¤¬È¯À¸¤·¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
struct TEST
+=========+ +0
| |
| int a |
| |
| |
+---------+ +4
| char b |
+=========+ +5 <- Æó¤ÄÌܤÎÍ×ÁǤΥá¥ó¥ÐÊÑ¿ôa¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¥¢¥É¥ì¥¹¥¨¥é¡¼¡ª
| |
| int a |
| |
| |
+---------+ +9
| char b |
+=========+ +10
: :
¥¢¥É¥ì¥¹¥¨¥é¡¼¤òËɤ°¤Ë¤Ï¡¢¥á¥ó¥ÐÊÑ¿ôb¤Î¸å¤í¤Ë3¥Ð¥¤¥Èʬ¤Î¥Ñ¥Ç¥£¥ó¥°¡ÊµÍ¤áʪ¡Ë¤òÄɲ䷤ơ¢¹½Â¤ÂÎTEST¤Î¥µ¥¤¥º¤ò4¤ÎÇÜ¿ô¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
struct TEST
+=========+ +0
| |
| int a |
| |
| |
+---------+ +4
| char b |
+---------+ +5
| |
| µÍ¤áʪ |
| |
+=========+ +8 <- £Ï£Ë¡ª
| |
| int a |
| |
| |
+---------+ +12
| char b |
+---------+ +13
| |
| µÍ¤áʪ |
| |
+=========+ +16
: :
P/ECEÈÇcalloc()¤Ï¡¢¤³¤Î¥Ñ¥Ç¥£¥ó¥°¤Îʬ¤Î¥µ¥¤¥º¤ò¹Íθ¤·¤Æ¡¢Í×ÁÇ¥µ¥¤¥º¤ò4¥Ð¥¤¥Èñ°Ì¤ËÀÚ¤ê¾å¤²¤Æ¤¤¤ë¤Î¤À¤È»×¤¤¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¼ÂºÝ¤Ë¤Ï¡¢¤³¤Î¤è¤¦¤ÊÇÛθ¤ÏÉÔÍפǤ¹¡£
¹½Â¤ÂΤγƥá¥ó¥Ð¤¬Å¬ÀڤʥХ¤¥È¶³¦¤ËÇÛÃÖ¤µ¤ì¤ë¤è¤¦¤Ë¥Ñ¥Ç¥£¥ó¥°¤òÄɲ乤ë¤Î¤Ï¡¢¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ÎÌò³ä¤Ç¤Ï¤Ê¤¯£Ã¥³¥ó¥Ñ¥¤¥é¤ÎÌò³ä¤À¤«¤é¤Ç¤¹¡£
Àè¤Û¤É¤Î¹½Â¤ÂÎTEST¤Î¥µ¥¤¥º¤òÄ´¤Ù¤Æ¤ß¤ë¤È¡¢
sizeof(struct TEST) ¢ª 8
8¥Ð¥¤¥È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¹½Â¤ÂÎTEST¤ÎÇÛÎó¤òºîÀ®¤·¤¿¾ì¹ç¤Ë¡¢Æó¤ÄÌܰʹߤÎÍ×ÁǤΥá¥ó¥ÐÊÑ¿ôa¤¬4¥Ð¥¤¥È¶³¦¤ËÇÛÃÖ¤µ¤ì¤ë¤è¤¦¡¢ºÇ¸å¤Ë3¥Ð¥¤¥È¤Î¥Ñ¥Ç¥¤¥ó¥°¤¬Äɲ䵤줿¤«¤é¤Ç¤¹¡£
ñ¤Ë¼¡¤Î¤è¤¦¤Ë½ñ¤¯¤À¤±¤ÇÂç¾æÉפǤ¹¡£
calloc(num, sizeof(struct TEST));¡¡¢«Æ±¤¸¢ª¡¡calloc(num, 8);
¤È¤¤¤¦¤ï¤±¤Ç¡¢P/ECEÈÇcalloc()¤Î¼ÂÁõ¤ÏÌÀ¤é¤«¤Ë´Ö°ã¤¤¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
ŬÀڤʥХ¤¥È¶³¦¤Ø¤ÎÇÛÃÖ¤ò¿´ÇÛ¤·¤¹¤®¤¿¤¢¤Þ¤ê¡¢³ä¤êÅö¤Æ¥µ¥¤¥º¤¬Â礤¯¤Ê¤ê¤¹¤®¤Æ¤·¤Þ¤Ã¤¿¤À¤±¤Ç¤¹¡£
¤·¤«¤·¡¢1¥Ð¥¤¥Èñ°Ì¤Î¥á¥â¥ê³ä¤êÅö¤Æ¡Ê¤¤¤Á¤Ð¤ó¤è¤¯»È¤¦¥Ñ¥¿¡¼¥ó¤Ç¤¹¡Ë¤¬¾ï¤Ë3Çܤâ¤Î̵Â̤ÊÎΰè¤òȼ¤¦¤È¤¤¤¦¤Î¤Ï¡¢¤Á¤ç¤Ã¤È¥¥Ó¥·¥¤¤È¤³¤í¤Ç¤¹¡£
calloc(1000, sizeof(char)) /* 1000ʸ»úʬ¤Î¥á¥â¥ê³ä¤êÅö¤Æ¡£¤·¤«¤·¼ÂºÝ¤Ë¤Ï4000ʸ»úʬ¡ª3000ʸ»úʬ¤Ï̵ÂÌ */
----
Âкö
----
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ÎÃæ¤Çcalloc()¤ò¼ÂÁõ¤·¤Æ¡¢¥é¥¤¥Ö¥é¥êÆâ¤Îcalloc()¤òÃÖ¤´¹¤¨¤Æ¤·¤Þ¤¤¤Þ¤·¤ç¤¦¡£
void* calloc(size_t num, size_t size) {
int n;
void* p;
n = num * size; /* ³ä¤êÅö¤Æ¥Ð¥¤¥È¿ô¤ò·×»» */
p = malloc(n); /* ³ä¤êÅö¤Æ¤ò¹Ô¤Ã¤Æ¤ß¤ë */
if(p != NULL) memset(p, 0, n); /* À®¸ù¤Ê¤é¥¼¥í¥¯¥ê¥¢ */
return p;
}
* Fri Aug 15 12:30:00 JST 2002 Naoyuki Sawa
- C¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¥ß¥¹¡¦¥ì¥Ý¡¼¥È
P/ECE³«È¯´Ä¶¤ÎC¥³¥ó¥Ñ¥¤¥é¤Î¡¢ºÇŬ²½¥ß¥¹¤Ë¤è¤ëÉÔ¶ñ¹ç¥ì¥Ý¡¼¥È¤Ç¤¹¡£
¤Þ¤º¡¢Ëͤ¬ºî¤í¤¦¤È¤·¤¿´Ø¿ô¡Öhit_test()¡×¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¤³¤Î´Ø¿ô¤ÎÌÜŪ¤Ï¡¢È×Ì̾å¤Ë4¡ß4¤Î¥³¥Þ¤¬ÃÖ¤±¤ë¤«¤É¤¦¤«¡©¤òÄ´¤Ù¤ë¤³¤È¤Ç¤¹¡£
¥³¥Þ¤òÃÖ¤¤¿¤¤°ÌÃ֤κ¸¾åºÂɸ¤ò»ØÄꤷ¤Æ¡¢ÃÖ¤±¤ë¤Ê¤é0¡¢ÃÖ¤±¤Ê¤±¤ì¤Ð1¤òÊÖ¤·¤Þ¤¹¡£
ÃÖ¤±¤Ê¤¤Íýͳ¤È¤·¤Æ¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
¡¦»ØÄꤵ¤ì¤¿ºÂɸ¤òº¸¾å¸¶ÅÀ¤È¤¹¤ë4¡ß4¤ÎÈϰϤ¬¡¢È×Ì̤ò¤Ï¤ß½Ð¤·¤Æ¤¤¤ë¾ì¹ç¡£
¡¦»ØÄꤵ¤ì¤¿ºÂɸ¤òº¸¾å¸¶ÅÀ¤È¤¹¤ë4¡ß4¤ÎÈϰϤˡ¢´û¤Ë¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¾ì¹ç¡£
¤³¤Î´Ø¿ô¤ò»È¤Ã¤ÆÉÔ¶ñ¹ç¤òºÆ¸½¤¹¤ë¡¢¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤ò¼¨¤·¤Þ¤¹¡£
(¥×¥í¥¸¥§¥¯¥È°ì¼°¤Ï¤³¤Á¤é: http://www.piece-me.org/archive/forbug-20020815-src.zip)
---------------------------------------------------------------------------------------------------
C01| /*
C02| * forbug.c
C03| *
C04| * for()ʸ¤ÎºÇŬ²½¥Ð¥°ºÆ¸½¥×¥í¥°¥é¥à
C05| * Copyright (C) 2002 Naoyuki Sawa
C06| *
C07| * * Thu Aug 15 04:30:00 JST 2002 Naoyuki Sawa
C08| * - ºîÀ®³«»Ï¡£
C09| */
C10| #include
C11|
C12| /* ºÇŬ²½¥³¥ó¥Ñ¥¤¥ë¡ÊÌäÂêȯÀ¸¤¹¤ë¡Ë¡§
C13| * pcc33 -b -gp=0x0 -near -O2 -Wall forbug.c pat.c
C14| * ºÇŬ²½¤·¤Ê¤¤¥³¥ó¥Ñ¥¤¥ë¡ÊÌäÂêȯÀ¸¤·¤Ê¤¤¡Ë¡§
C15| * pcc33 -b -gp=0x0 -near -Wall forbug.c pat.c
C16| */
C17|
C18| /* 16x16¥Þ¥¹¤ÎÈ×ÌÌÄêµÁ
C19| * ³Æ°ÌÃÖ¤ÎÍ×ÁǤ¬¡¢0¤Ê¤é¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤¤¤Þ¤»¤ó¡£
C20| * 1¤Ê¤é¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£
C21| */
C22| #define COLS 16
C23| #define ROWS 16
C24| unsigned char field[COLS][ROWS];
C25|
C26| /* (x,y)¡Á(x+3,y+3)¤Î4x4¥Þ¥¹¤ÎÈϰϤˡ¢´û¤Ë¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤Þ¤¹¡£
C27| * * (x,y)¡Á(x+3,y+3)¤Î°ìÉô¤Ç¤âÈ×Ì̤ò¤Ï¤ß½Ð¤·¤Æ¤¤¤¿¤é¡¢1¤òÊÖ¤·¤Þ¤¹¡£
C28| * (x,y)¡Á(x+3,y+3)¤ÎÈϰϤˤҤȤĤǤ⥳¥Þ¤¬ÃÖ¤«¤ì¤Æ¤¤¤¿¤é¡¢1¤òÊÖ¤·¤Þ¤¹¡£
C29| * * (x,y)¡Á(x+3,y+3)¤¬È×ÌÌÆâ¤Ç¡¢¤½¤ÎÈϰϤˤҤȤĤ⥳¥Þ¤¬¤Ê¤¤¾ì¹ç¤Î¤ß¡¢0¤òÊÖ¤·¤Þ¤¹¡£
C30| */
C31| int
C32| hit_test(int x, int y)
C33| {
C34| int x0, y0; /* ½Ä²£¤Î¥ë¡¼¥×¥«¥¦¥ó¥¿ */
C35| int x1, y1; /* È×Ì̤òÁöºº¤¹¤ëºÂɸÊÑ¿ô */
C36|
C37| for(y0 = 0, y1 = y; y0 < 4; y0++, y1++) {
C38| if(y1 < 0 || ROWS - 1 < y1) { /* ½Ä¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
C39| return 1; /* ¤Ï¤ß½Ð¤·¤Æ¤¿¤é1¤òÊÖ¤¹ */
C40| }
C41| for(x0 = 0, x1 = x; x0 < 4; x0++, x1++) {
C42| if(x1 < 0 || COLS - 1 < x1) { /* ²£¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
C43| return 1; /* ¤Ï¤ß½Ð¤·¤Æ¤¿¤é1¤òÊÖ¤¹ */
C44| }
C45| if(field[y1][x1]) { /* ´û¤Ë¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤ë¤«¥Á¥§¥Ã¥¯ */
C46| return 1; /* ÃÖ¤«¤ì¤Æ¤¿¤é1¤òÊÖ¤¹ */
C47| }
C48| }
C49| }
C50|
C51| return 0;
C52| }
C53|
C54| void
C55| smain()
C56| {
C57| int retval;
C58|
C59| /* (-1,8)¡Á(2,11)¤Î4x4¤ÎÈϰϤ¬È×ÌÌÆâ¤Ç¡¢¤Ò¤È¤Ä¤â¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤¤¤Ê¤¤¤«¡©
C60| * ÌÀ¤é¤«¤ËÈ×Ì̳°¡Êº¸¤Ë¤Ï¤ß½Ð¤·¤Æ¤¤¤ë¡Ë¤Ê¤Î¤Ç¡¢1¤¬µ¢¤ë¤Ï¤º¤Ê¤Î¤Ç¤¹¤¬¡¢
C61| * ºÇŬ²½¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È0¤¬µ¢¤Ã¤Æ¤¤Þ¤¹!
C62| */
C63| retval = hit_test(-1, 8);
C64| cls();
C65| printnum(retval);
C66| while(!pad()) { }
C67| }
---------------------------------------------------------------------------------------------------
hit_test()´Ø¿ô¤Ï¡¢ÆÃ¤ËÊ£»¨¤Ê½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
¥²¡¼¥à¤Ë¸Â¤é¤Ê¤¤¡¢¤´¤¯°ìÈÌŪ¤Ê½Å¤Ê¤êȽÄê¤Î¥í¥¸¥Ã¥¯¤À¤È»×¤¤¤Þ¤¹¡£
¤È¤³¤í¤¬¡¢¤³¤Î¥½¡¼¥¹¤ò¡Ö-O2¡×¥ª¥×¥·¥ç¥óÉÕ¤¤ÇºÇŬ²½¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢Àµ¤·¤¤·ë²Ì¤¬µ¢¤Ã¤Æ¤¤Þ¤»¤ó¡£
¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢(-1,8)¤ò´ð½à¤È¤¹¤ë4¡ß4¤ÎÈϰϤ˥֥í¥Ã¥¯¤¬ÃÖ¤±¤ë¤«¤É¤¦¤«¤òȽÄꤷ¤Æ¤¤¤Þ¤¹¡£
ÌÀ¤é¤«¤Ëº¸Â¦¤Ë¤Ï¤ß½Ð¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢C42¹ÔÌܤÎȽÄê¤Ë°ú¤Ã¤«¤«¤ê¡¢¡Ö¥³¥Þ¤¬ÃÖ¤±¤Ê¤¤¡á1¡×¤¬µ¢¤Ã¤Æ¤¯¤ë¤Ï¤º¤Ç¤¹¡£
¤·¤«¤·¼ÂºÝ¤Ë»î¤·¤Æ¤ß¤ë¤È¡¢¡Ö¥³¥Þ¤¬ÃÖ¤±¤ë¡á0¡×¤¬µ¢¤Ã¤Æ¤¯¤ë¤Î¤Ç¤¹¡£
»î¤·¤Ë¡Ö-O2¡×¥ª¥×¥·¥ç¥ó̵¤·¤ÇºÇŬ²½¤·¤Ê¤¤¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤Ã¤Æ¤ß¤ë¤È¡¢Àµ¤·¤¯1¤¬µ¢¤Ã¤Æ¤¤Þ¤¹¡£
¤È¤¤¤¦¤³¤È¤Ï¡¢¤É¤¦¤ä¤éC¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¥ß¥¹¤Î¤è¤¦¤Ç¤¹¡£
¤½¤³¤Ç¡¢¾åµhit_test()´Ø¿ô¤òºÇŬ²½¥³¥ó¥Ñ¥¤¥ë¤·¤¿¾ì¹ç¤Î¡¢¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤òÄ´¤Ù¤Æ¤ß¤Þ¤·¤¿¡£
---------------------------------------------------------------------------------------------------
A01| /* int hit_test(int x, int y)
A02| * [in]
A03| * r12 x
A04| * r13 y
A05| * [out]
A06| * r10 result
A07| */
A08| .align 1
A09| .global hit_test
A10| hit_test:
A11| ; .frame %sp,4,$31 # vars= 0, regs= 1/0, args= 0, extra= 0
A12| ; .mask 0x80000000,-4
A13| ; .fmask 0x00000000,0
A14| ld.w %r5,0x0 /* r5 <- 0 (r5¤¬ÊÑ¿ôy0¤ËÂбþ) */
A15| xld.w %r11,field /* r11 <- &field[0][0] */
A16| ld.w %r10,%r13 /* r10 <- y */
A17| xsll %r10,4 /* r10 <- y * 16 */
A18| add %r10,%r11 /* r10 <- &field[y][0] */
A19| __L5:
A20| xcmp %r13,15 /* IF y > 15 THEN L16 */
A21| xjrugt __L16 /* (Éä¹æÌµ¤·Èæ³Ó¤Ê¤Î¤Ç¡¢y<0¤Î¾ì¹ç¤â¤³¤ì¤ÇȽÄê¤Ç¤¤Þ¤¹) */
A22| ld.w %r14,0x0 /* r14 <- 0 (r14¤¬ÊÑ¿ôx0¤ËÂбþ) */
A23| ld.w %r11,%r12 /* r11 <- x */
A24| add %r11,%r10 /* r11 <- &field[y][ x] */
A25| xadd %r4,%r10,15 /* r4 <- &field[y][15] */
A26| __L10:
A27| cmp %r11,%r4 /* IF &field[y][x] > &field[y][15] THEN L16 */
A28| xjrugt __L16 /* (¢¨¤³¤³¤¬ÌäÂꡪ¤³¤ì¤Ç¤Ïx<0¤Î¾ì¹ç¤òȽÄê¤Ç¤¤Þ¤»¤ó) */
A29| xld.ub %r15,[%r11] /* r15 <- field[y][x] */
A30| cmp %r15,0x0 /* IF field[y][x] = 0 THEN L9 */
A31| xjreq __L9
A32| __L16:
A33| xld.w %r10,0x00000001 /* return 1 */
A34| xjp __L15
A35| __L9:
A36| xadd %r14,%r14,1 /* r14 <- r14 + 1 (r14¤¬ÊÑ¿ôx0¤ËÂбþ) */
A37| xadd %r11,%r11,1 /* r11 <- &field[y][x+1,2,3] (¥Ý¥¤¥ó¥¿¤ò±¦ÎÙ¤Ø) */
A38| xcmp %r14,3 /* IF x0 <= 3 THEN L10 */
A39| xjrle __L10
A40| xadd %r5,%r5,1 /* r5 <- r5 + 1 (r5¤¬ÊÑ¿ôy0¤ËÂбþ) */
A41| xadd %r10,%r10,16 /* r10 <- &field[y+1,2,3][0] (¥Ý¥¤¥ó¥¿¤ò²¼ÎÙ¤Ø) */
A42| xadd %r13,%r13,1 /* y <- y + 1 */
A43| xcmp %r5,3 /* IF y0 <= 3 THEN L5 */
A44| xjrle __L5
A45| ld.w %r10,%r15 /* return 0 (r15¤Ïɬ¤º0¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£A30¡ÁA31¹Ô»²¾È) */
A46| __L15:
A47| ret
---------------------------------------------------------------------------------------------------
¤Þ¤ºÃíÌܤ·¤Æ¤¤¤¿¤À¤¤¿¤¤ÅÀ¤Ï¡¢¸µ¤ÎC¥½¡¼¥¹¤Î½ÄÊý¸þ¤Ï¤ß½Ð¤·È½Äê¥í¥¸¥Ã¥¯¡§
C38| if(y1 < 0 || ROWS - 1 < y1) { /* ½Ä¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
¤¬¡¢¼¡¤Î¤è¤¦¤ËºÇŬ²½¤µ¤ì¤Æ¤¤¤ëÅÀ¤Ç¤¹¡£
A20| xcmp %r13,15 /* IF y > 15 THEN L16 */
A21| xjrugt __L16 /* (Éä¹æÌµ¤·Èæ³Ó¤Ê¤Î¤Ç¡¢y<0¤Î¾ì¹ç¤â¤³¤ì¤ÇȽÄê¤Ç¤¤Þ¤¹) */
¤³¤ì¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£
if((int)y1 < 0 || 15 < (int)y1) { ... } /* ¸µ¤ÎC¥½¡¼¥¹¤Î¥í¥¸¥Ã¥¯ */
¤È¡¢
if(15 < (unsigned)y1) { ... } /* ºÇŬ²½¤µ¤ì¤¿¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤Î¥í¥¸¥Ã¥¯ */
¤Ï¡¢Åù²Á¤À¤«¤é¤Ç¤¹¡£
Î㤨¤Ð¡¢¡Öy1 = -1¡×¤Î¾ì¹ç¡¢¸µ¤ÎC¥½¡¼¥¹¤Î¥í¥¸¥Ã¥¯¤Ç¤Ï¡Ö-1 < 0¡×¤Ç¾ò·ï¤¬À®Î©¤·¤Þ¤¹¡£
-1¤ÏÉä¹æÌµ¤·À°¿ô¤È¸«¤Ê¤»¤Ð0xffffffff¤Ê¤Î¤Ç¡¢¥¢¥»¥ó¥Ö¥é¤Î¥í¥¸¥Ã¥¯¤Ç¤â¡Ö15 < 0xffffffff¡×¤ÇÀ®Î©¤·¤Þ¤¹¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢½ÄÊý¸þ¤Î¤Ï¤ß½Ð¤·È½Äê¤Ë¤ÏÌäÂꤢ¤ê¤Þ¤»¤ó¡£
ÌäÂê¤Ï¡¢²£Êý¸þ¤Î¤Ï¤ß½Ð¤·È½Äê¤Ç¤¹¡£
¸µ¤ÎC¥½¡¼¥¹¤Î²£Êý¸þ¤Ï¤ß½Ð¤·È½Äê¥í¥¸¥Ã¥¯¡§
C42| if(x1 < 0 || COLS - 1 < x1) { /* ²£¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
¤¬¡¢¼¡¤Î¤è¤¦¤ËºÇŬ²½¤µ¤ì¤Æ¤¤¤ëÅÀ¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£
A27| cmp %r11,%r4 /* IF &field[y][x] > &field[y][15] THEN L16 */
A28| xjrugt __L16 /* (¢¨¤³¤³¤¬ÌäÂꡪ¤³¤ì¤Ç¤Ïx<0¤Î¾ì¹ç¤òȽÄê¤Ç¤¤Þ¤»¤ó) */
¤³¤ì¤Ï¥À¥á¤Ç¤¹¡ª
XºÂɸ¤½¤Î¤Þ¤Þ¤Ç¤ÎÈæ³Ó¤Ç¤Ï¤Ê¤¯¡¢È×ÌÌ¾å¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ë¤·¤¿¸å¤Ç¡¢¥¢¥É¥ì¥¹ÃͤòÈæ³Ó¤¹¤ë¤è¤¦¤ËºÇŬ²½¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥¢¥É¥ì¥¹ÃͤÇÈæ³Ó¤¹¤ë¤Î¤Ï¹½¤ï¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¥¢¥É¥ì¥¹Èæ³Ó¤ÈÀè¤Û¤É¤ÎÉä¹æÌµ¤·Èæ³Ó¤Ë¤è¤ëºÇŬ²½¤ÎÊýË¡¤ÏÊ»ÍѤǤ¤Þ¤»¤ó¡£
Î㤨¤Ð¡Ö&field[0][0] = 0x110000, x = -1, y = 8¡×¤Î¾ì¹ç¡¢ºÇŬ²½¸å¤Î¥í¥¸¥Ã¥¯¤Ç¤Ï¼¡¤Î¤è¤¦¤ÊȽÄê¤ò¹Ô¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
IF &field[8][-1] > &field[8][15] THEN L16
¥¢¥É¥ì¥¹ÃͤòŸ³«¤¹¤ë¤È¡¢
IF 0x11007f > 0x11008f THEN L16
ËÜÅö¤ÏL16¤ØÊ¬´ô¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢¤³¤Î¥í¥¸¥Ã¥¯¤Ç¤Ïº¸Â¦¤Ø¤Î¤Ï¤ß½Ð¤·¤¬È½Äê¤Ç¤¤Þ¤»¤ó¡£
¤À¤«¤é¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Î·ë²Ì¤¬¡¢¡Ö¥³¥Þ¤¬ÃÖ¤±¤Ê¤¤¡á1¡×¤Ç¤Ï¤Ê¤¯¡¢¡Ö¥³¥Þ¤¬ÃÖ¤±¤ë¡á0¡×¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£
¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¥ß¥¹¤È¤¤¤¦¤Î¤Ï¡¢P/ECE¤ÎC¥³¥ó¥Ñ¥¤¥é¤Ë¸Â¤é¤º¡¢¤è¤¯¤¢¤ë¤³¤È¤Ç¤¹¡£
ºÇŬ²½¥ß¥¹¤¬È¯À¸¤¹¤ë¾õ¶·¤È¡¢²óÈòÊýË¡¤¬¤¤Á¤ó¤È¤ï¤«¤Ã¤Æ¤¤¤ì¤Ð¡¢½ÅÂç¤ÊÌäÂê¤Ë¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
¤¬¡¢º£²ó¤Î¥±¡¼¥¹¤Ç¤Á¤ç¤Ã¤È¥¥Ó¥·¥¤¤Ê¤¢...¤È´¶¤¸¤ë¤Î¤Ï¡¢
¤¢¤Þ¤ê¤Ë¤âÉáÄ̤Υ±¡¼¥¹¤ÇÌäÂ꤬À¸¤¸¤Æ¤¤¤ë¤¿¤á¡¢¤É¤¦¤¤¤¦¾õ¶·¤ÇºÇŬ²½¥ß¥¹¤¬È¯À¸¤¹¤ë¤Î¤«¿ä¬¤Ç¤¤Ê¤¤ÅÀ¡£
¤Þ¤¿¡¢ÌäÂê¤òȯÀ¸¤¹¤ë¥³¡¼¥É¤¬¤½¤â¤½¤âñ½ã¤Ç¤¹¤Î¤Ç¡¢Ê̤ÎÊýË¡¤ËÃÖ¤´¹¤¨¤Æ¤â³Î¼Â¤Ë²óÈò¤Ç¤¤½¤¦¤Ë¤Ê¤¤ÅÀ¤Ç¤¹¡£
for()¤Î¤«¤Ã¤³¤ÎÃæ¤Ë¡Ö,¡×¤ò»È¤Ã¤Æ¥Þ¥ë¥Á¥¹¥Æ¡¼¥È¥á¥ó¥È¤ò½ñ¤¯¤Î¤¬¥Þ¥º¥¤¤Î¤«¤È¹Í¤¨¤Æ¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤´¹¤¨¤Æ¤ß¤Þ¤·¤¿¡£
---------------------------------------------------------------------------------------------------
/* ¤³¤¦½ñ¤´¹¤¨¤Æ¤â¥À¥á¤ÊÎ㡪 */
int
hit_test(int x, int y)
{
int x0, y0; /* ½Ä²£¤Î¥ë¡¼¥×¥«¥¦¥ó¥¿ */
int x1, y1; /* È×Ì̤òÁöºº¤¹¤ëºÂɸÊÑ¿ô */
y1 = y;
for(y0 = 0; y0 < 4; y0++) {
if(y1 < 0 || ROWS - 1 < y1) { /* ½Ä¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
return 1; /* ¤Ï¤ß½Ð¤·¤Æ¤¿¤é1¤òÊÖ¤¹ */
}
x1 = x;
for(x0 = 0; x0 < 4; x0++) {
if(x1 < 0 || COLS - 1 < x1) { /* ²£¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
return 1; /* ¤Ï¤ß½Ð¤·¤Æ¤¿¤é1¤òÊÖ¤¹ */
}
if(field[y1][x1]) { /* ´û¤Ë¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤ë¤«¥Á¥§¥Ã¥¯ */
return 1; /* ÃÖ¤«¤ì¤Æ¤¿¤é1¤òÊÖ¤¹ */
}
x1++;
}
y1++;
}
return 0;
}
---------------------------------------------------------------------------------------------------
¤¬¡¢·ë²Ì¤ÏƱ¤¸¡£
¤ä¤Ã¤Ñ¤êº¸Êý¸þ¤Î¤Ï¤ß½Ð¤·È½Äê¤Ë¼ºÇÔ¤·¡¢¡Ö¥³¥Þ¤¬ÃÖ¤±¤ë¡á0¡×¤¬µ¢¤Ã¤Æ¤¤Þ¤¹¡£
¤¤¤í¤¤¤í»î¤·¤¿·ë²Ì¡¢ºÇŬ²½¥ß¥¹¤Ë¼ºÇÔ¤·¤Ê¤¤½ñ¤Êý¤Î°ìÎã¤È¤·¤Æ¡¢¼¡¤Î¤è¤¦¤ÊC¥½¡¼¥¹¤Ê¤éOK¤ß¤¿¤¤¤Ç¤¹¡§
---------------------------------------------------------------------------------------------------
/* °ì±þ¡¢¤³¤¦½ñ¤´¹¤¨¤ì¤ÐOK¤ß¤¿¤¤... */
int
hit_test(int x, int y)
{
#define x1 (x + x0)
#define y1 (y + y0)
int x0, y0; /* ½Ä²£¤Î¥ë¡¼¥×¥«¥¦¥ó¥¿ */
for(y0 = 0; y0 < 4; y0++) {
if(y1 < 0 || ROWS - 1 < y1) { /* ½Ä¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
return 1; /* ¤Ï¤ß½Ð¤·¤Æ¤¿¤é1¤òÊÖ¤¹ */
}
for(x0 = 0; x0 < 4; x0++) {
if(x1 < 0 || COLS - 1 < x1) { /* ²£¤Ï¤ß½Ð¤·¥Á¥§¥Ã¥¯ */
return 1; /* ¤Ï¤ß½Ð¤·¤Æ¤¿¤é1¤òÊÖ¤¹ */
}
if(field[y1][x1]) { /* ´û¤Ë¥³¥Þ¤¬ÃÖ¤«¤ì¤Æ¤ë¤«¥Á¥§¥Ã¥¯ */
return 1; /* ÃÖ¤«¤ì¤Æ¤¿¤é1¤òÊÖ¤¹ */
}
}
}
return 0;
#undef x1
#undef y1
}
---------------------------------------------------------------------------------------------------
°ì±þ¡¢Àµ¤·¤¤·ë²Ì¡Ö¥³¥Þ¤¬ÃÖ¤±¤Ê¤¤¡á1¡×¤¬µ¢¤Ã¤Æ¤¤Þ¤¹¡£
¤·¤«¤·¤³¤ì¤Ï¡¢hit_test()´Ø¿ô¤Î¾ì¹ç¤Ï¤¿¤Þ¤¿¤ÞºÇŬ²½¥ß¥¹¤Ë°ú¤Ã¤«¤«¤é¤Ê¤¯¤Ê¤Ã¤¿¤È¤¤¤¦¤À¤±¤Ç¡¢
º¬ËÜŪ¤Ê²ò·è¤Ë¤Ï¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
¤³¤ÎÉÔ¶ñ¹ç¤Î³Î¼Â¤Ê²óÈòÊýË¡¤ò¤´Â¸ÃΤΤ«¤¿¤¬¤ª¤é¤ì¤Þ¤·¤¿¤é¡¢¤¼¤Ò¶µ¤¨¤Æ¤¯¤À¤µ¤¤¡£
¤è¤í¤·¤¯¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£
¤µ¤Æ¡¢º£²ó¤Î¥ì¥Ý¡¼¥È¤Ç¸À¤¤¤¿¤¤¤Î¤Ï¡¢¡ÖP/ECE¤ÎC¥³¥ó¥Ñ¥¤¥é¤Ï¥À¥á¡×¤È¤¤¤¦¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
Á°½Ò¤ÎÄ̤ꡢ¤É¤ó¤Ê¥³¥ó¥Ñ¥¤¥é¤Ë¤â¿¤«¤ì¾¯¤Ê¤«¤ìºÇŬ²½¥ß¥¹¤Ï¤¢¤ë¤È»×¤¤¤Þ¤¹¡£
P/ECE¤Î¾ì¹ç¤ËÌäÂê¤Ê¤Î¤Ï¡¢¸½»þÅÀ¤Ç¤ÏC¥³¥ó¥Ñ¥¤¥é¤ÎÁªÂò»è¤¬¤Ê¤¯¡¢ÉÕ°¤ÎC¥³¥ó¥Ñ¥¤¥é¤ò»È¤¦¤·¤«¤Ê¤¤¤³¤È¤Ç¤¹¡£
¤Þ¤¿¡¢C¥³¥ó¥Ñ¥¤¥é¤ËÉÔ¶ñ¹ç¤¬¤¢¤Ã¤Æ¤â¡¢¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤Ç½¤Àµ¤µ¤ì¤ë¸«¹þ¤ß¤¬¤Û¤È¤ó¤É¤Ê¤¤¤³¤È¤Ç¤¹¡£
¤â¤·¤«¤·¤¿¤éEPSON¤µ¤ó¤Ï¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤ÎC¥³¥ó¥Ñ¥¤¥é¤òÇÛÉÛ¤·¤Æ¤¤¤ë¤Î¤«¤âÃΤì¤Þ¤»¤ó¤¬¡¢
¥¨¥ó¥É¥æ¡¼¥¶¡¼¤¬C¥³¥ó¥Ñ¥¤¥é¤À¤±¤òÆþ¼ê¤¹¤ë¤Î¤Ï¤«¤Ê¤êº¤Æñ¤À¤È»×¤ï¤ì¤Þ¤¹¡£
¤Ê¤±¤ì¤Ðºî¤ë¤·¤«¤¢¤ê¤Þ¤»¤ó¡£
¿·¤·¤¤gcc¤òS1C33 CPUÍѤ˰ܿ¢¡Äµ¤¤¬±ó¤¯¤Ê¤ê¤½¤¦¤Ç¤¹¤¬¡¢¼ÂºÝ¤Ë¾¤ÎCPUÍѤ˰ܿ¢¤Ê¤µ¤Ã¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤µ¤ó¤â
ÂçÀª¤¤¤é¤Ã¤·¤ã¤¤¤Þ¤¹¤Î¤Ç¡¢ÉÔ²Äǽ¤Ç¤Ï¤Ê¤¤¤Ï¤º¡£
¤Þ¤¿ÁÔÂç¤ÊÌÜɸ¤¬¤Ç¤¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
ÁȤ߹þ¤ßCPU¤ÎÊÙ¶¯¡¦USB¤ÎÊÙ¶¯¡¦ÅŻҲóÏ©¤ÎÊÙ¶¯¤Î¸å¤Ï¥³¥ó¥Ñ¥¤¥é¤Î°Ü¿¢¡Ä¤ä¤ë¤³¤ÈÌÜÇò²¡¤·¤Ç¤¹(^^;
* Fri Jul 19 05:00:00 JST 2002 Naoyuki Sawa
- ¥³¥Ô¡¼¤¹¤ë¤Î¤Ï instdef.c ¤À¤±
¼«ºî¥×¥í¥°¥é¥à¤Ë²»³Ú¥é¥¤¥Ö¥é¥ê¤òÁȤ߹þ¤à¾ì¹ç¡¢P/ECE³«È¯´Ä¶¤Î¥Õ¥©¥ë¥À¤«¤é¥×¥í¥°¥é¥àºîÀ®ÍѤΥե©¥ë¥À¤Ø¡¢
¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¤ª¤µ¤ó¤Ý°½¹á¤Î¥Á¥å¡¼¥È¥ê¥¢¥ë¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»Ø¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
°½¹á¤Î²èÁü¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¥Õ¥©¥ë¥À¡Êɸ½à¤Ç¤Ïc:\usr\piece\docs\tutorial\ayaka¡Ë¤Ë¡Öwavetbl¡×¤È¤¤¤¦
¥Õ¥©¥ë¥À¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤ÎÃæ¿È¤Î¡Öwavetbl.c¡×¤È¡Ösnd¥Õ¥©¥ë¥À¡×¤òµ®Êý¤Îºî¶È¥Õ¥©¥ë¥À¡Êayaka¡Ë¤Ë
¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£
¡ÊC:\usr\PIECE\HTML\tutorial_f.htm ¡Ú°½¹á¤¬Ê⤯¥×¥í¥°¥é¥à¤Ë²»³Ú¤òÄɲ乤ë¡Û ¤è¤ê¡Ë
¤Þ¤¿¡¢P/ECE Hand Book¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë»Ø¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
sysdev\music\makefile
sysdev\music\wavetable.c
sysdev\music\instdef.c
sysdev\music\musdef.h
sysdev\music\wave\*.*
¡ÊP/ECE Hand Book ¡Ø³«È¯Tips¡Ù ²»³Ú¤ò±éÁÕ¤·¤¿¤¤ (p.098) ¤è¤ê¡Ë
Ëͤϵ²±ÎϤ¬¤è¤¯¤Ê¤¤¤Î¤Ç¡¢Æó¤Ä°Ê¾å¤Î¥Õ¥¡¥¤¥ë̾¤Ï³Ð¤¨¤Æ¤é¤ì¤Þ¤»¤ó(^^;
²»³Ú¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤¿Îý½¬¥×¥í¥°¥é¥à¤òºî¤ë¤¿¤Ó¤Ë¡¢¤³¤ì¤é¤Î»ñÎÁ¤òÆÉ¤ßÊÖ¤·¤Æ¥³¥Ô¡¼¤¹¤ë¥Õ¥¡¥¤¥ë¤òÄ´¤Ù¤Æ¤¤¤Þ¤·¤¿¡£
Ëè²óƱ¤¸¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Î¤Ê¤é¡¢¤Ê¤¼¥é¥¤¥Ö¥é¥ê¤ËÆþ¤ì¤Æ¤ª¤¤¤Æ¤¯¤ì¤Ê¤«¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«¡©
¡¦¡¦¡¦¼Â¤ÏÆþ¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¼«ºî¥×¥í¥°¥é¥à¤Ë²»³Ú¥é¥¤¥Ö¥é¥ê¤òÁȤ߹þ¤¿¤á¤Ë¡¢P/ECE³«È¯´Ä¶¤«¤é¥³¥Ô¡¼¤¹¤ëɬÍפ¬¤¢¤ë¥Õ¥¡¥¤¥ë¤Ï¡¢
sysdev\music\instdef.c
¤³¤ì¤Ò¤È¤Ä¤À¤±¤Ç¤¹¡£
instdef.c¤À¤±¤ò¥³¥Ô¡¼¤·¤¿¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¡¢¥½¡¼¥¹¤Ï¤³¤Á¤é¡§
http://www.piece-me.org/archive/musprg1-20020719-src.zip
instdef.c¤ÎÃæ¤Ë¤Ï¡¢²»¿§¥Æ¡¼¥Ö¥ë¤À¤±¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
INST *inst[] = { ... };
²»¿§¥Æ¡¼¥Ö¥ë¤Ï¾®¤µ¤¤¤Î¤Ç¡¢instdef.c¥Õ¥¡¥¤¥ë¼«ÂΤò¥³¥Ô¡¼¤·¤Ê¤¯¤Æ¤â¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹¤ÎÃæ¤Ë
instdef.c¤ÎÆâÍÆ¤À¤±¤ò¥«¥Ã¥È¡õ¥Ú¡¼¥¹¥È¤·¤Æ¤·¤Þ¤Ã¤Æ¤âÎɤ¤¤È»×¤¤¤Þ¤¹¡£
²»¿§¥Ç¡¼¥¿ËÜÂΤÏmuslib.lib¤ÎÃæ¤Ë¤¢¤ê¡¢²»¿§¥Æ¡¼¥Ö¥ë¤«¤é»²¾È¤µ¤ì¤Æ¤¤¤ë²»¿§¥Ç¡¼¥¿¤À¤±¤¬¡¢¼ÂºÝ¤Ë¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡£
¤µ¤Æ¡¢instdef.c¤Î²»¿§¥Æ¡¼¥Ö¥ë¤ÏÁ´¤Æ¤Î²»¿§¤Ø¤Î»²¾È¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¤Î¤Ç¡¢instdef.c¤ÎÆâÍÆ¤ò¤½¤Î¤Þ¤Þ»È¤¦¤È¡¢
muslib.lib¤ÎÃæ¤Ë¤¢¤ëÁ´¤Æ¤Î²»¿§¥Ç¡¼¥¿¤¬¥ê¥ó¥¯¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¶Ê¥Ç¡¼¥¿¤¬»È¤Ã¤Æ¤¤¤Ê¤¤²»¿§¥Ç¡¼¥¿¤ò¥ê¥ó¥¯¤¹¤ë¤È¡¢¥×¥í¥°¥é¥à¤¬ÌµÂ̤ËÂ礤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
ÉÔÍפʲ»¿§¤òºï½ü¤·¤Æ¥×¥í¥°¥é¥à¤ò¾®¤µ¤¯¤¹¤ëÊýË¡¤¬¡¢"P/ECE" Official WebPage ³«È¯¼Ô·Ç¼¨ÈÄ ¤ËºÜ¤Ã¤Æ¤¤¤Þ¤¹¡£
»²¾Èµ»ö¤Ï¤³¤Á¤é¡§
http://www.piece-me.com/kyview/article/d/devpiece/8/opcilm/index.html
²»¿§¥Æ¡¼¥Ö¥ë¤òÊÔ½¸¤·¤Æ¡¢ÉÔÍפʲ»¿§¤Ø¤Î»²¾È¤òºï½ü¤·¤Æ¤·¤Þ¤¤¤Þ¤·¤ç¤¦¡£
ÉÔÍפʲ»¿§¤ò¥ê¥ó¥¯¤·¤Ê¤¤¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¡¢¥½¡¼¥¹¤Ï¤³¤Á¤é¡§
http://www.piece-me.org/archive/musprg2-20020719-src.zip
Àè¤Û¤É¤Î¥×¥í¥°¥é¥à¤ÏSRF¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬48KB¤°¤é¤¤¤¢¤ê¤Þ¤·¤¿¤¬¡¢²»¿§¤ò¸º¤é¤¹¤È8KBÄøÅ٤˾®¤µ¤¯¤Ê¤ê¤Þ¤·¤¿¡£
* Mon Jul 15 21:23:00 JST 2002 Naoyuki Sawa
- 1.25¤Î1¾è¤Ï¥¼¥í¡©
"P/ECE" Official WebPage ³«È¯¼Ô·Ç¼¨ÈĤˤƼÁÌ䤵¤»¤ÆÄº¤¤¤¿·ï¤ÎÈ÷˺Ͽ¤Ç¤¹¡£¸µµ»ö¤Ï¤³¤Á¤é¡£
http://www.piece-me.com/kyview/article/d/devpiece/10/kaxilm/index.html
¤´²óÅú¤¯¤À¤µ¤Ã¤¿¡¢£±£¶¤Ó¤Ã¤È¤µ¤ó(http://www.interq.or.jp/www-user/wanderer/)¤Ë´¶¼Õ¤¤¤¿¤·¤Þ¤¹¡£
¡ÖS1C33 Family C¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸¡×¤Îpow()´Ø¿ô¤Ï¡¢¤Á¤ç¤Ã¤ÈÉÔ¶ñ¹ç¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£
ÆÃÄê¤Î¾õ¶·¤Ç¡¢¤¼¤ó¤¼¤ó´Ö°ã¤Ã¤¿ÃÍ(¥¼¥í)¤òÊÖ¤¹¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
Èù̯¤Ê¥³¡¼¥Ç¥£¥ó¥°¤Î°ã¤¤¤Ç¡¢¾É¾õ¤¬È¯À¸¤·¤¿¤ê¤·¤Ê¤«¤Ã¤¿¤ê¤¹¤ë¤è¤¦¤Ç¡¢¸¶°øÉÔÌÀ¤Ç¤¹¡£
ºÆ¸½¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
http://www.piece-me.org/archive/powtest-src.zip
"P/ECE" Official WebPage ³«È¯¼Ô·Ç¼¨ÈĤˤƥ¢¥É¥Ð¥¤¥¹Äº¤¤¤¿²óÈòÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
pow()¤òľÀܸƤ֤ΤǤϤʤ¯¡¢pow()¤ò¸Æ¤Ó½Ð¤¹¤À¤±¤Îñ½ã¤Ê´Ø¿ôpow_wrap()¤ò·Ðͳ¤µ¤»¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢
fn() {
...
c = pow(a, b);
...
}
¤ÎÉôʬ¤ò¡¢
double pow_wrap(double x, double y) {
return pow(x, y);
}
fn() {
...
c = pow_wrap(a, b);
...
}
¤ËÊѹ¹¤¹¤ë¤Î¤Ç¤¹¡£¤Ê¤¼¤³¤ì¤Ç¼£¤ë¤Î¤«¤µ¤Ã¤Ñ¤ê¤ï¤«¤ê¤Þ¤»¤ó¤¬¡Ä(^^;
²óÈòÊýË¡¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
http://www.piece-me.org/archive/powtest2-src.zip
¸½ºß¤Î¤È¤³¤í¤³¤ÎÊýË¡¤Ç²óÈò¤Ç¤¤Æ¤¤¤Þ¤¹¤¬¡¢¸¶°øÉÔÌÀ¤Ê¤À¤±¤ËÉÔµ¤Ì£¤Ç¤¹¡£
pow()¤Ø¤Î¥Ñ¥é¥á¡¼¥¿¤Î¼è¤êÆÀ¤ëÈϰϤ¬Í½Â¬¤Ç¤¤º¡¢¼è¤êÆÀ¤ë¥Ñ¥é¥á¡¼¥¿¤ÎÈϰϤËÂФ·¤Æ
½¼Ê¬¤Ê¥Æ¥¹¥È¤¬¤Ç¤¤Ê¤¤¥±¡¼¥¹¤Ç¤Ï¡¢¤Ê¤ë¤Ù¤¯pow()¤Ï»È¤ï¤Ê¤¤Êý¤¬Îɤµ¤½¤¦¤Ç¤¹¡£
Äɵ¡§¤â¤¦°ì¤Ä¤Î²óÈòÊýË¡
¡Öpow(x, y)¡×¤Ï¡Öexp(log(x) * (y)¡×¤ËŸ³«¤Ç¤¤ë¤½¤¦¤Ç¤¹¡£¡ÊWeb¤Ç¡È¤Ù¤¾è¡É¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Þ¤·¤¿¡Ë
¤â¤·¤â¡¢pow()´Ø¿ôñÂΤËÌäÂ꤬¤¢¤ë¤Î¤Ê¤é¤Ð¡¢pow()´Ø¿ô¤ò»È¤ï¤Ê¤±¤ì¤ÐÌäÂê¤ò²óÈò¤Ç¤¤ë¤Ï¤º¤Ç¤¹¡£
¤½¤³¤Ç¡¢#include ¤Îľ¸å¤Ç¼¡¤Î¤è¤¦¤ËÄêµÁ¤·¤Æ¡¢pow()¤òÃÖ¤´¹¤¨¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
#include
#define pow(x,y) (exp(log(x) * (y))) /* pow()¤ò»È¤ï¤Ê¤¤¤Ù¤¾è¤Î·×»» */
¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
http://www.piece-me.org/archive/powtest3-src.zip
¤³¤ÎÊýË¡¤Ç¤âÌäÂê²óÈò¤Ç¤¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤·¤¿¤¬¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤¬Áý¤¨¤ë¤¿¤á¡¢
Á°½Ò¤Î²óÈòÊýË¡¤è¤ê¤â¤«¤Ê¤ê¼Â¹Ô®ÅÙ¤¬ÃÙ¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
®ÅÙ¤¬Í׵ᤵ¤ì¤ë¾ìÌ̤Ǥϡ¢Á°½Ò¤Î²óÈòÊýË¡¤ò»È¤Ã¤¿Êý¤¬¤¤¤¤¤È»×¤¤¤Þ¤¹¡£
¤È¤³¤í¤Ç¡¢¥ê¥ó¥«¤ÎÀ¸À®¤¹¤ë¥Þ¥Ã¥×¥Õ¥¡¥¤¥ë¤«¤é¡¢pow()´Ø¿ô¤Î¥µ¥¤¥º¤òÄ´¤Ù¤¿¤È¤³¤í¡¢¤«¤Ê¤êÂ礤¤¤Ç¤¹¡£
¼¡¤Î¤è¤¦¤Ê¡¢Ã±½ã¤Ê¼ÂÁõ¤Ç¤Ï¤Ê¤¤¤è¤¦¤Ç¤¹¡£
double pow(double x, double y)
{
return exp(log(x) * y);
}
¤¿¤Ö¤ó¹â®²½¤Î¤¿¤á¡¢Ê£»¨¤ËºÇŬ²½¤µ¤ì¤¿¼ÂÁõ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤À¤È»×¤¤¤Þ¤¹¡£
¤½¤³¤Ë¡¢ÌäÂêȯÀ¸¤Î¸¶°ø¤¬¤¢¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
* Sat Jul 6 22:38:00 JST 2002 Naoyuki Sawa
- PCEWAVEINFO¤Ï³«Êü¤µ¤ì¤Ê¤¤
ºòǯ12·î25Æü¤Î¸¦µæµÏ¿¡ÖPCEWAVEINFO¤ÏautoÊÑ¿ô¤Ë¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡×¤Ç¡¢
pceWaveDataOut()¤ËÅϤ¹PCEWAVEINFO¹½Â¤ÂΤϡ¢autoÊÑ¿ô¤Ë¤·¤Æ¤Ï¤¤¤±¤Ê¤¤Íýͳ¤òÄ´¤Ù¤Þ¤·¤¿¡£
pceWaveDataOut()¤ÏºÆÀ¸½ªÎ»»þ¤Ë¡¢PCEWAVEINFO¹½Â¤ÂΤÎstat¥á¥ó¥Ð¤ËPW_STAT_END¤ò½ñ¤¹þ¤à¤Î¤Ç¡¢
pceWaveDataOut()¤ËÅϤ·¤¿PCEWAVEINFO¹½Â¤ÂΤΥá¥â¥êÎΰè¤òÊ̤ÎÍÑÅӤ˺ÆÍøÍѤ·¤¿¤ê¤·¤Æ¤¤¤ë¤È¡¢
¤½¤ÎÎΰè¤ËPW_STAT_END¤¬½ñ¤¹þ¤Þ¤ì¤Æ¡¢¥Ç¡¼¥¿¤¬²õ¤ì¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦Íýͳ¤Ç¤·¤¿¡£
¤½¤Î¸å¡¢BIOS 1.14¤«¤é1.18¤Ø¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É»þ¤Ë¡¢¤³¤ÎÌäÂê¤Ï½¤Àµ¤µ¤ì¤Þ¤·¤¿¡£
BIOS 1.18¤Î¹¹¿·ÆâÍÆ¡Êhttp://www.piece-me.com/dl/update118.html¡Ë¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Êµ½Ò¤¬¤¢¤ê¤Þ¤¹¡£
¡ü¥Ð¥°¥Õ¥£¥Ã¥¯¥¹
¡¦WaveºÆÀ¸¤Ç²òÊüºÑ¤ß¤Î¥Ð¥Ã¥Õ¥¡¤Ë½ñ¤¹þ¤à¥Ð¥°½¤Àµ
¤Þ¤¿¡¢¥«¡¼¥Í¥ë¥½¡¼¥¹¡Êc:\usr\piece\sysdev\pcekn\snd.c¡Ë¤Ë¤â¡¢¼¡¤Î¤è¤¦¤Ê¥³¥á¥ó¥È¤¬¤¢¤ê¤Þ¤¹¡£
v1.16 2002.01.05 MIO.H ²òÊüºÑ¤ß¤Î¥Ð¥Ã¥Õ¥¡¤Ë½ñ¤¹þ¤à¥Ð¥°½¤Àµ
¤½¤·¤Æ¼ÂºÝ¤Ë¡¢¥«¡¼¥Í¥ë¥½¡¼¥¹¤â½¤Àµ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£¡Êsnd.c¤Î286¹ÔÌܤÈ349¹ÔÌÜ¡Ë
//newp->stat = PW_STAT_START; Íפé¤Ê¤¤
//wp->pwiee->stat = PW_STAT_END; Íפé¤Ê¤¤
¤³¤Î¤è¤¦¤Ë¡¢PCEWAVEINFO¹½Â¤ÂΤγ«ÊüÌäÂ꤬½¤Àµ¤µ¤ì¤¿¤³¤È¤ÏÃΤäƤ¤¤¿¤Î¤Ç¤¹¤¬¡¢
¤Á¤«¤´¤í¤Ï¡¢¸ú²Ì²»ÉÕ¤¤Î¥×¥í¥°¥é¥à¤ÏÁ´Éô¥·¥ó¥×¥ë¥é¥¤¥Ö¥é¥ê¤ÇÁȤó¤Ç¤¤¤¿¤Î¤Ç¡¢
ËÜÅö¤ËPCEWAVEINFO¹½Â¤ÂΤòautoÊÑ¿ô¤Ë¤·¤ÆpceWaveDataOut()¤¬»È¤¨¤ë¤Î¤«¤É¤¦¤«¡¢
¼Â¸³¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
ÀèÆü¤«¤é¡¢µ×¤·¤Ö¤ê¤Ë¥³¥¢API¤ò»È¤Ã¤Æ¥×¥í¥°¥é¥à¤òÁȤó¤Ç¤¤¤Þ¤¹¡£
¤Ç¡¢PCEWAVEINFO¹½Â¤ÂΤòautoÊÑ¿ô¤Ë¤·¤ÆpceWaveDataOut()¤ò»È¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¡¦¡¦¡¦¤ä¤Ã¤Ñ¤êÍî¤Á¤Þ¤¹¡¦¡¦¡¦
¤Ê¤¼¡©¥«¡¼¥Í¥ë¥½¡¼¥¹¤ò¸«¤ë¸Â¤ê¡¢ÌäÂê¤Î¤«½ê¤Ï½¤Àµ¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¤¬¡Ä
¸¶°ø¤Ï¡¢stat¥á¥ó¥Ð¤Ø¤Î¡Ö½ñ¹þ¤ß¡×¤Ç¤Ï¤Ê¤¯¡¢pfEndProc¥á¥ó¥Ð¤Î¡Ö»²¾È¡×¤Ë¤¢¤ê¤Þ¤·¤¿¡£
PCEWAVEINFO¤ÎpfEndProc¤Ë´Ø¿ô¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Æ¤ª¤¯¤È¡¢WAVE¥Ç¡¼¥¿¤¬ºÆÀ¸½ªÎ»¤·¤¿¤È¤¤Ë´Ø¿ô¤¬¥³¡¼¥ë¥Ð¥Ã¥¯¤µ¤ì¤Þ¤¹¡£
pfEndProc¤¬NULL¤Ê¤é¡¢¥³¡¼¥ë¥Ð¥Ã¥¯¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£
¤¤¤º¤ì¤Ë¤»¤è¡¢¥µ¥¦¥ó¥É¥É¥é¥¤¥Ð¤Ï¤É¤³¤«¤ËpfEndProc¤ÎÆâÍÆ¤òÊݸ¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¤È¤³¤í¤¬¸½ºß(1.18)¤Î¼ÂÁõ¤Ç¤Ï¡¢ºÆÀ¸½ªÎ»»þ¤Ë¡¢pceWaveDataOut()¤ËÅϤµ¤ì¤¿¥Ý¥¤¥ó¥¿¤ò·Ðͳ¤·¤ÆpfEndProc¤ÎÆâÍÆ¤ò
»²¾È¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡£
¶ñÂÎŪ¤Ë¤Ï¡¢pceWaveDataOut()¤ËÅϤµ¤ì¤¿¥Ý¥¤¥ó¥¿¤¬¡¢WAVEPLAY.pwi00¤Ë¤½¤Î¤Þ¤ÞÊݸ¤µ¤ì(snd.c:setpwi())¡¢
ºÆÀ¸½ªÎ»»þ¤ËWAVEPLAY.pwiee¤Ë°Ü¤µ¤ì(snd.c:make_xwave())¡¢¤³¤Îpwiee¤ò·Ðͳ¤·¤ÆpfEndProc¤¬»²¾È¤µ¤ì¤Þ¤¹(snd.c:make_xwave())¡£
pceWaveDataOut()¤ËÅϤµ¤ì¤¿¥Ý¥¤¥ó¥¿¤Î»Ø¤¹Àè¤ÎPCEWAVEINFO¹½Â¤ÂΤϴû¤Ë³«Êü¤µ¤ì¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢
pfEndProc¥á¥ó¥Ð¤Î¥á¥â¥êÎΰè¤â¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤è¤Ã¤ÆÊ̤ÎÍÑÅӤ˺ÆÍøÍѤµ¤ì¡¢ÆâÍÆ¤ÏÊѤï¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£
¤½¤Î·ë²Ì¡¢´Ø¿ô¥¢¥É¥ì¥¹¤¸¤ã¤Ê¤¤¥Ç¡¼¥¿¤ò´Ø¿ô¥¢¥É¥ì¥¹¤È¤·¤Æ¼èÆÀ¤·¤Æ¤·¤Þ¤¤¡¢¤Ç¤¿¤é¤á¤Ê¥¢¥É¥ì¥¹¤Ø¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤ò
¹Ô¤Ã¤Æ¤·¤Þ¤¤¡¢TRAP¤¬È¯À¸¤¹¤ë¤Î¤Ç¤¹¡£
¤³¤ì¤Ï¡¢autoÊÑ¿ô¤Î·ï¤È¤ÏÊ̤ÎÌäÂê¤Ç¤¹¡£
¤¿¤È¤¨PCEWAVEINFO¹½Â¤ÂΤò¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤ä¥¹¥¿¥Æ¥£¥Ã¥¯ÊÑ¿ô¤Ë¤·¤Æ¤¤¤Æ¤â¡¢
ºÆÀ¸½ªÎ»¤¹¤ë¤Þ¤Ç¤ÏPCEWAVEINFO¹½Â¤ÂÎ¤ÎÆâÍÆ¤ò¤¦¤«¤Ä¤ËÊѹ¹¤Ç¤¤Þ¤»¤ó¡£
ºÆÀ¸Ãæ¤ÎPCEWAVEINFO¡ÊËÜÅö¤Ê¤é¤ÐPCEWAVEINFO¤Ï¨ºÂ¤Ë³«Êü¤µ¤ì¤ë¤Ï¤º¤Ê¤Î¤Ç¡¢¡ÈºÆÀ¸Ãæ¤ÎPCEWAVEINFO¡É¤È¤¤¤¦³µÇ°¼«ÂÎ
¤¢¤ê¤¨¤Ê¤¤¤Î¤Ç¤¹¤¬¡Ä¡Ë¤ÎpfEndProc¥á¥ó¥Ð¤ò½ñ¤´¹¤¨¤Æ¤·¤Þ¤¦¤È¡¢pceWaveDataOut()¤ò¸Æ¤ó¤À¤È¤¤ÎpfEndProc¤Ç¤Ï¤Ê¤¯¡¢
½ñ¤´¹¤¨¤¿¸å¤ÎpfEndProc¤Ë½¾¤Ã¤Æ¥³¡¼¥ë¥Ð¥Ã¥¯¤¬¹Ô¤ï¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¤¹¡£
¼Â¸³¥×¥í¥°¥é¥à¤òºîÀ®¤·¤Æ¤ß¤Þ¤·¤¿¡£
¥Ð¥¤¥Ê¥ê¡§ http://www.piece-me.org/archive/endproc-20020706-bin.zip
¥½¡¼¥¹¡¡¡§ http://www.piece-me.org/archive/endproc-20020706-src.zip
¡¦PCEWAVEINFO¹½Â¤ÂΤϥ°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ë¤·¤Æ¤¢¤ê¤Þ¤¹¡£
¡¦£Á¥Ü¥¿¥ó¤ò²¡¤¹¤È¡¢É½¼¨¥á¥Ã¥»¡¼¥¸¤ò¡ÖºÆÀ¸Ãæ¤Ç¤¹¡×¤ËÀßÄꤷ¤¿¸å¡¢£±ÉÃÄøÅ٤θú²Ì²»¤òºÆÀ¸³«»Ï¤·¤Þ¤¹¡£
¡¡PCEWAVEINFO.pfEndProc=NULL¤Ë¤·¤Æ¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢ºÆÀ¸½ªÎ»»þ¤Ë¤Ï¥³¡¼¥ë¥Ð¥Ã¥¯¤Ï¹Ô¤ï¤ì¤º¡¢²¿¤âµ¯¤³¤ê¤Þ¤»¤ó¡£
¡¡ºÆÀ¸½ªÎ»¤·¤Æ¤â¡¢É½¼¨¥á¥Ã¥»¡¼¥¸¤Ï¡ÖºÆÀ¸Ãæ¤Ç¤¹¡×¤Î¤Þ¤Þ¤Ç¤¹¡£
¡¦£Â¥Ü¥¿¥ó¤ò²¡¤¹¤È¡¢PCEWAVEINFO.pfEndProc¤Ë´Ø¿ô¥¢¥É¥ì¥¹¤òÀßÄꤷ¤Þ¤¹¡£
¡¡¤½¤Î´Ø¿ô¤Ç¤Ï¡¢É½¼¨¥á¥Ã¥»¡¼¥¸¤ò¡ÖºÆÀ¸½ªÎ»¤·¤Þ¤·¤¿¡×¤ËÊѹ¹¤·¤Þ¤¹¡£
¡¦£Á¥Ü¥¿¥ó¤ò²¡¤·¤Æ¸ú²Ì²»¤¬ºÆÀ¸¤µ¤ì¤Æ¤¤¤ë¤¢¤¤¤À¤Ë¡¢£Â¥Ü¥¿¥ó¤ò²¡¤·¤ÆpfEndProc¤òÀßÄꤷ¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¡¡ºÆÀ¸½ªÎ»»þ¤Ë¡¢É½¼¨¥á¥Ã¥»¡¼¥¸¤¬¡ÖºÆÀ¸½ªÎ»¤·¤Þ¤·¤¿¡×¤ËÊѤï¤ê¤Þ¤¹¡£
¡¡pceWaveDataOut()¤ò¸Æ¤ó¤À¸å¤ÎPCEWAVEINFO.pfEndProc¤Ø¤ÎÊѹ¹¤¬¡¢È¿±Ç¤µ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤¬³Îǧ¤Ç¤¤Þ¤¹¡£
²óÈòÊýË¡¤Ï¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£
¡¦PCEWAVEINFO¹½Â¤ÂΤϥ°¥í¡¼¥Ð¥ëÊÑ¿ô¤Þ¤¿¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯ÊÑ¿ô¤Ë¤¹¤ë¡£
¡¡°ÊÁ°¤ÎautoÊÑ¿ô¤Î·ï¤È¤ÏÊÌÌäÂê¤Ç¤¹¤¬¡¢ºÆÀ¸½ªÎ»»þ¤Þ¤ÇpfEndProc¤ÎÆâÍÆ¤òÊÝ»ý¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Î¤Ç¡¢
¡¡¤ä¤Ï¤êautoÊÑ¿ô¤Ë¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¦ºÆÀ¸½ªÎ»¤Þ¤Ç¡¢PCEWAVEINFO¤ÎÆâÍÆ¤ò½ñ¤´¹¤¨¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
¡¡PCEWAVEINFO¹½Â¤ÂΤ¬¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Þ¤¿¤Ï¥¹¥¿¥Æ¥£¥Ã¥¯ÊÑ¿ô¤Ê¤Î¤Ç¡¢Ëè²ó»È¤¤¤Þ¤ï¤¹¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢
¡¡¿·¤·¤¤WAVE¾ðÊó¤Î¥»¥Ã¥È¥¢¥Ã¥×Á°¤ËÁ°²ó¤ÎºÆÀ¸¤¬´°Î»¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¡¦ºÆÀ¸´°Î»ÂÔ¤Á¤ò¹Ô¤ï¤Ê¤¤¾ì¹ç¤Ï¡¢pceWaveAbort()¤Ç³Î¼Â¤ËºÆÀ¸Ää»ß¤·¤Æ¤«¤é¡¢PCEWAVEINFO¤ÎÆâÍÆ¤ò½ñ¤´¹¤¨¤Þ¤¹¡£
¡¡ PCEWAVEINFO¤Î¥»¥Ã¥È¥¢¥Ã¥×¢ªpceWaveAbort()¢ªpceWaveDataOut() /* °¤¤Îã */
¡¡¤È¤¤¤¦½ç¤Ç¤Ï¥À¥á¤Ç¤¹¡ª
¡¡ pceWaveAbort()¢ªPCEWAVEINFO¤Î¥»¥Ã¥È¥¢¥Ã¥×¢ªpceWaveDataOut() /* Îɤ¤Îã */
¡¡¤È¤¤¤¦¼ê½ç¤Ç¹Ô¤ï¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
* Sat Jul 6 22:38:00 JST 2002 Naoyuki Sawa
- ²»¿§¥Ù¥ó¥Á¥Þ¡¼¥¯#2
º£²ó¤Ï¡¢¥ê¥Õ¥¡¥ì¥ó¥¹¤Îµ½Ò¤ËÈ¿¤·¤Æ¡Ö¹â®¡×²»¿§¤¬Ä̾ï¤Î²»¿§¤è¤ê¤â®¤¤¸¶°ø¤òÄ´¤Ù¤ëͽÄê¤Ç¤·¤¿¡£
¤·¤«¤·¡¢¼ÂºÝ¤Ë²»¿§½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë c:\usr\piece\sysdev\music\musfast.s ¤ò¾¯¤·¸«¤Æ¤ß¤¿¤È¤³¤í¡¢
¡Ö¹â®¡×²»¿§¤ÎÊý¤¬Â®¤¤¤Î¤ÏÄ´¤Ù¤ë¤Þ¤Ç¤â¤Ê¤¯°ìÌÜÎÆÁ³¤Ç¤¹¡£
¤É¤¦¤ä¤é¡¢¡Ö¹â®¡×²»¿§¤ÎÊý¤¬ÃÙ¤¤¡¢¤È¤¤¤¦¤Î¤Ï¡¢¥ê¥Õ¥¡¥ó¥ì¥ó¥¹¤Îñ½ã¤Ê½ñ¤´Ö°ã¤¤¤À¤Ã¤¿¤è¤¦¤Ç¤¹¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢²»¿§¥Ù¥ó¥Á¥Þ¡¼¥¯¤ÎÏÃÂê¤Ï¤³¤³¤Þ¤Ç¤Ë¤·¤Æ¡¢º£²ó¤ÏÊ̤ÎÏÃÂê¤ò¼è¤ê¾å¤²¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£
¾å¤Îµ»ö¤Ø¤É¤¦¤¾¡£
* Fri Jul 5 00:00:00 JST 2002 Naoyuki Sawa
- ²»¿§¥Ù¥ó¥Á¥Þ¡¼¥¯#1
¡ÖP/ECE Hand Book¡×¤Î¡Ø½é¿´¼Ô¤Î¤¿¤á¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¹ÖºÂ¡¦P/ECE¤Ç²»³Ú¤ò³Ú¤·¤â¤¦¡ª¡Ù¤òÆÉ¤ó¤Ç¡¢
MML¤Î»È¤¤Êý¤òÊÙ¶¯Ãæ¤Ç¤¹¡£
P/ECE³«È¯´Ä¶¤Î²»³Ú¥é¥¤¥Ö¥é¥ê¥Þ¥Ë¥å¥¢¥ë¤Ç¤ÏÍý²ò¤·¤Å¤é¤«¤Ã¤¿ÅÀ¤â¡¢¤ï¤«¤ê¤ä¤¹¤¯²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
ÆÃ¤Ë¡¢¥ê¥º¥à¥Ñ¡¼¥È¤Î²òÀ⤬½¨°ï¡ª
¤³¤ì¤Þ¤Ç¡Ö!!¡×¤ä¡Ö?¡×¤Î°ÕÌ£¤¬¤è¤¯¤ï¤«¤é¤º¡¢¤É¤³¤«¤Ë½ñ¤¤¤Æ¤¢¤ëÀâÌÀ¤ò¸«Íî¤È¤·¤Æ¤ë¤Î¤«¤Ê¡Ä¤È»×¤Ã¤Æ¤¤¤Þ¤·¤¿¡£
¤³¤Îµ»ö¤Ç¤Ï¡Ö!!¡×¤ä¡Ö?¡×¤Ê¤É¤ÎÆæ¤ÊɽµË¡¤Ï»È¤ï¤º¡¢¡ÖF =1¡×¤â»È¤ï¤º¤Ë¡¢¥ê¥º¥à¥Ñ¡¼¥È¤òµ½Ò¤·¤Æ¤¤¤Þ¤¹¡£
¥ê¥º¥à²»¿§¤â¾¤Î²»¿§¤ÈƱ¤¸¤è¤¦¤Ë°·¤¦¡£µ¤ÉÕ¤¤¤Æ¤ß¤ì¤Ð´Êñ¤Ê¤³¤È¤À¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢Ìܤ«¤éÎڤǤ¹¡£
Ëͤϡ¢²»³Ú¤Ï¤¼¤ó¤¼¤ó¥À¥á¡ÊMSX¤Î²»³Ú´Ä¶¡ÖMuSICA¡×¤ò¤Á¤ç¤Ã¤È¤«¤¸¤Ã¤¿¤À¤±¡Ë¤Ê¤Î¤Ç¤¹¤¬¡¢
¤³¤Îµ¡²ñ¤Ë¤â¤¦°ìÅÙ¥Á¥ã¥ì¥ó¥¸¤·¤Æ¤ß¤è¤¦¤«¤Ê¡¢¤È¤¤¤¦µ¤¤Ë¤Ê¤Ã¤Æ¤¤Æ¤Þ¤¹¡£
¤È¸À¤Ã¤¿Ëµ¤«¤é¡¢²»³Ú¤½¤Î¤â¤Î¤òÎ¥¤ì¤ÆºÙ¤«¤¤ÏÃ¤ËÆþ¤Ã¤Æ¹Ô¤¯¤Î¤Ç¤¹¤¬(^^;
¡ØP/ECE¤Ç²»³Ú¤ò³Ú¤·¤â¤¦¡ª¡Ù¤Îµ»ö¤Î²»¿§¤Ë´Ø¤¹¤ëÀâÌÀ¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Êµ½Ò¤¬¤¢¤ê¤Þ¤¹¡£
̾Á°¤Ë¡Ö¹â®¡×¤¬ÉÕ¤¯²»¿§¤ÎÊý¤¬½èÍý¤¬½Å¤¤¤Î¤Ç¡¢
½èÍý¤ò·Ú¤¯¤¹¤ë¤¿¤á¤Ë¤Ï¡Ö¹â®¡×¤¬ÉÕ¤«¤Ê¤¤²»¿§¤ò»È¤Ã¤¿Êý¤¬¤¤¤¤
¡Ê086¥Ú¡¼¥¸¤¢¤¿¤ê¤ÎÍ×Ìó¡Ë
¤Ä¤Þ¤ê¡¢²»¿§@0,@1,@2¤ò»È¤¦¤È¥²¡¼¥à¤¬ÃÙ¤¯¤Ê¤ë¤Î¤Ç¡¢@3,@4,@5¤ò»È¤¨¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¤Í¡£
P/ECE³«È¯´Ä¶¤Î²»³Ú¥é¥¤¥Ö¥é¥ê¥Þ¥Ë¥å¥¢¥ë¤Ë¤â¡¢Æ±Íͤε½Ò¤¬¤¢¤ê¤Þ¤¹¡£
¤·¤«¤·¡¢¤Á¤ç¤Ã¤ÈÂԤäƤ¯¤À¤µ¤¤¡£¡Ö¹â®¡×²»¿§¤ÎÊý¤¬¡ÖÄ㮡ס©²¿¤È¤Ê¤¯Ä¾´¶¤ËÈ¿¤·¤Þ¤¹¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢³Î¤«¤á¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
Ʊ¤¸¶Ê¤Ç¡¢²»¿§¤À¤±¤òÊѤ¨¤¿¥Ç¡¼¥¿¤ò¡¢6¤Ä¤Î²»¿§Ê¬ÍѰդ·¤Þ¤¹¡£
¤½¤ì¤é¤Î¶Ê¤òBGM¤Ëή¤·¤Ê¤¬¤é¡¢¥×¥í¥°¥é¥à¤Ç1000Ëü²ó¶õ¥ë¡¼¥×¤ò²ó¤·¤Æ¡¢½êÍ×»þ´Ö¤ò·×¤ê¤Þ¤¹¡£
¶õ¥ë¡¼¥×¤¬²ó¤Ã¤Æ¤¤¤ë´Ö¤ÏpceAppProc()¤òÈ´¤±¤Þ¤»¤ó¤Î¤Ç¡¢²»³Ú¥é¥¤¥Ö¥é¥ê¤Î½èÍý¤Î½Å¤µ¤¬Ä¾ÀܱƶÁ¤¹¤ë¤Ï¤º¤Ç¤¹¡£
¼Â¸³¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
¥Ð¥¤¥Ê¥ê¡¡http://www.piece-me.org/archive/musbench-20020705-bin.zip
¥½¡¼¥¹¡¡¡¡http://www.piece-me.org/archive/musbench-20020705-src.zip
¾å²¼¥«¡¼¥½¥ë¤Ç¶Ê¤òÊѹ¹¤·¡¢A¥Ü¥¿¥ó¤Ç·×¬³«»Ï¤ò³«»Ï¤·¤Þ¤¹¡£
·×¬½ªÎ»¤·¤¿¤é¡¢½êÍ×»þ´Ö¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
·ë²Ì¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¡¡¡¡¡¡¡¡¡¡£Â£Ç£Í¡¡¡¡¡¡¡¡¡¡¡Ã½êÍ×»þ´Ö¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã²»³Ú¤Ê¤·¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã10.158ÉáÃ
¡Ã²»¿§£°¤Î¶Ê¡§¶ë·ÁÇÈ(¹â®)¡¡¡Ã13.741ÉáÃ
¡Ã²»¿§£±¤Î¶Ê¡§¤Î¤³¤®¤ê(¹â®)¡Ã14.616ÉáÃ
¡Ã²»¿§£²¤Î¶Ê¡§»°³ÑÇÈ(¹â®)¡¡¡Ã14.976ÉáÃ
¡Ã²»¿§£³¤Î¶Ê¡§¶ë·ÁÇÈ¡¡¡¡¡¡¡¡¡Ã26.240ÉáÃ
¡Ã²»¿§£´¤Î¶Ê¡§¤Î¤³¤®¤ê¡¡¡¡¡¡¡Ã26.241ÉáÃ
¡Ã²»¿§£µ¤Î¶Ê¡§»°³ÑÇÈ¡¡¡¡¡¡¡¡¡Ã26.245ÉáÃ
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ü
½êÍ×»þ´Ö¤¬¾¯¤Ê¤¤¤Û¤É¡¢½èÍý¤¬·Ú¤¤¤³¤È¤ò¼¨¤·¤Þ¤¹¡£
1000Ëü²ó¤Î¶õ¥ë¡¼¥×¤Î½èÍý¤ÏÊѲ½¤·¤Ê¤¤¤Î¤Ç¡¢½êÍ×»þ´Ö¤Îº¹¤Ï²»³Ú¥é¥¤¥Ö¥é¥ê¤Î½èÍý»þ´Ö¤Îº¹¡£
²»¿§°Ê³°¤Î¶Ê¥Ç¡¼¥¿¤ÏƱ¤¸¤Ç¤¹¤Î¤Ç¡¢¤¹¤Ê¤ï¤Á¡¢²»¿§¤Î½èÍý¤Î½Å¤µ¤Îº¹¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
·ë²Ì¤ò¸«¤ë¤È¡¢Ì¾Á°¤Ë¡Ö¹â®¡×¤¬ÉÕ¤¯²»¿§¤ÎÊý¤¬°µÅÝŪ¤Ë½èÍý¤¬·Ú¤¤¡á¡Ö¹â®¡×¤Ç¤¹¡£
¡Ö¹â®¡×²»¿§¤ÎÊý¤¬¡Ö¹â®¡×¤È¤¤¤¦¡¢Ç¼ÆÀ¤Î¤¤¤¯·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤·¤¿¡£
¤Ê¤¼¡¢²»¿§¤Ë¤è¤Ã¤Æ¤³¤ó¤Ê¤Ë¤â½èÍý¤Î½Å¤µ¤¬°ã¤Ã¤Æ¤¯¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
¡Ê³¤¤Þ¤¹¡Ä¡Ë
* Fri Jun 17 00:00:00 JST 2002 Naoyuki Sawa
- zlib¤ò»È¤¦#3
¡Ê¡ÄÁ°²ó¤«¤é¤Î³¤¡Ë
Á°¡¹²ó¤Î¡Özlib¤ò»È¤¦#1¡×¤Ç¡¢¤³¤ó¤Ê¤³¤È¤ò½ñ¤¤Þ¤·¤¿¡£
| pceZlibExpand()¤ò¥³¥Ô¡¼¡§
| pceZlibExpand()¤Î¥½¡¼¥¹¤ò¥¢¥×¥ê¥±¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ë¥³¥Ô¡¼¤·¤Æ»È¤¦¡¢¤È¤¤¤¦¼ê¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡£
| ²Äǽ¤À¤È¤Ï»×¤¦¤Î¤Ç¤¹¤¬¡¢ËͤÏÃÇǰ¤·¤Þ¤·¤¿¡£
| pceZlibExpand()¤Ïpex¥Õ¥¡¥¤¥ë¤ÎŸ³«¤ËÆÃ²½¤·¤Æ¤¤¤Æ¡¢¤Á¤ç¤Ã¤ÈÆÃ¼ì¤Ê¥á¥â¥ê³ä¤êÅö¤Æ¾õ¶·¤òÁ°Äó¤È¤·¤Æºî¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
pceZlibExpand()¤Î»ÈÍѤϤ¢¤¤é¤á¤Æ¡¢Á°²ó¡Özlib¤ò»È¤¦#2¡×¤Ç¡¢¥ª¥ê¥¸¥Ê¥ë¤Îzlib¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¤·¤«¤·¼Â¤Ï¡¢zlib¥é¥¤¥Ö¥é¥ê¤ò¤½¤Î¤Þ¤Þ»È¤¦ÊýË¡¤Ë¤Ï¡¢¤Á¤ç¤Ã¤ÈÌäÂ꤬¤¢¤Ã¤¿¤Î¤Ç¤¹¡£
zlib¤ÎŸ³«¥ë¡¼¥Á¥ó¤ò»È¤¦¤Ë¤Ï¡¢£±£µ¡Á£³£µKBÄøÅ٤κî¶ÈÎΰ褬ɬÍ×
ºÇ¶á¤ÎPC¤Ï¿ôÉ´MB¤â¤ÎRAM¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÄøÅ٤Υá¥â¥ê¾ÃÈñ¤ÏÌäÂê¤Ë¤Ê¤é¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢
P/ECE¤Ï¸µ¡¹256KB¤·¤«RAM¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢35KB¤â¤Î¥á¥â¥ê¾ÃÈñ¤Ï¤«¤Ê¤ê¤¤Ó¤·¤¤¤Ç¤¹¡£
pceZlibExpand()¤ÏRAM¤¬¾¯¤Ê¤¤´Ä¶¤ËÆÃ²½¤·¤¿¤Ä¤¯¤ê¤Ë¤Ê¤Ã¤Æ¤¤¤Æ¡¢¥á¥â¥ê¾ÃÈñ¤Ï¤«¤Ê¤ê¾®¤µ¤¯ÍÞ¤¨¤é¤ì¤Æ¤¤¤ë¤ß¤¿¤¤¤Ç¤¹¡£
¤Ç¤¤ì¤ÐpceZlibExpand()¤ò»È¤¤¤¿¤¤¤È¤³¤í¤Ê¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤â»È¤¤Êý¤¬¤è¤¯¤ï¤«¤é¤Ê¤¤¡Ä
¤È»×¤Ã¤Æ¤¤¤¿¤È¤³¤í¡¢¡Ö¤Ñ¤º¤ë¤ÎP/ECE (http://www.marchen.to/~piece/)¡×¤Î¤Þ¤«¤Ù¤Ò¤í¤·¤µ¤ó¤«¤é¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËpceZlibExpand()¤òÁȤ߹þ¤àÊýË¡¤Ë¤Ä¤¤¤Æ¡¢¥µ¥ó¥×¥ë¥×¥í¥°¥é¥àÅù¤Î¾ðÊó¤òĺ¤¤Þ¤·¤¿¡£
¤µ¤Ã¤½¤¯ÁȤ߹þ¤ó¤Ç¤ß¤¿¤È¤³¤í¡¢³Î¤«¤ËpceZlibExpand()¤ò»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£¤Þ¤«¤Ù¤µ¤ó¡¢¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢¼«ºî¥×¥í¥°¥é¥à¤ÎŸ³«¥ë¡¼¥Á¥ó¤Ï¡¢zlib¥é¥¤¥Ö¥é¥ê¤«¤épceZlibExpand()¤ØÀÚ¤êÂØ¤¨¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
pceZlibExpand()¤ÎÁȤ߹þ¤ßÊý¤Ë¤Ä¤¤¤Æ¤Ï¡¢£¶·î£²£¸ÆüȯÇä¤Î¡ÖP/ECE Hand Book¡×¤ò¤´Í÷²¼¤µ¤¤¡£¡Ê¤Ê¤ó¤Æ¤¤¤¤¥¿¥¤¥ß¥ó¥°¡Ä¡Ë
zlib¥é¥¤¥Ö¥é¥ê¤ÎÊý¤â¡¢¤â¤¦¤Á¤ç¤Ã¤È¤À¤±»È¤¤¹þ¤ó¤Ç¤ß¤è¤¦¤È»×¤¤¤Þ¤¹¡£
* Fri Jun 15 22:00:00 JST 2002 Naoyuki Sawa
- zlib¤ò»È¤¦#2
¡Ê¡ÄÁ°²ó¤«¤é¤Î³¤¡Ë
P/ECEÍÑzlib¥é¥¤¥Ö¥é¥ê¤òºî¤ê¤Þ¤·¤ç¤¦¡£¼ê½ç¤Ï¼¡¤ÎÄ̤ꡣ
zlib¤Î¥½¡¼¥¹°ì¼°¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹
------------------------------------
zlib¤ÎËܲȥµ¥¤¥È¡Özlib Home Page¡×¤«¤é¡¢zlib¤Î¥½¡¼¥¹°ì¼°¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Þ¤¹¡£
http://www.gzip.org/zlib/
zlib¤Î¥½¡¼¥¹°ì¼°¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥ß¥é¡¼¥µ¥¤¥È¤«¤é¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
Ëͤϡ¢¤³¤Á¤é¤Î¥ß¥é¡¼¥µ¥¤¥È¤òÍøÍѤµ¤»¤Æ¤â¤é¤¤¤Þ¤·¤¿¡£
http://www.libpng.org/pub/png/src/zlib-1.1.4.tar.gz
¥½¡¼¥¹°ì¼°¤òŸ³«¤·¤Þ¤¹
----------------------
¥À¥¦¥ó¥í¡¼¥É¤·¤¿¥Õ¥¡¥¤¥ë¤òŸ³«¤·¤Æ¤¯¤À¤µ¤¤¡£
¡Özlib-1.1.4¡×¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥©¥ë¥À¤¬¤Ç¤¤Æ¡¢¤½¤ÎÃæ¤Ë¥½¡¼¥¹°ì¼°¤¬Å¸³«¤µ¤ì¤Þ¤¹¡£
P/ECEÍÑMakefile¤òÍѰդ·¤Þ¤¹
---------------------------
zlib-1.1.4¥Õ¥©¥ë¥À¤ÎÃæ¤Ë¤Ï´û¤ËMakefile¤¬¤¢¤ê¤Þ¤¹¤¬¡¢P/ECE³«È¯´Ä¶¤Ç¤Ï¤½¤Î¤Þ¤Þ»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£
¥³¥ó¥Ñ¥¤¥é¥ª¥×¥·¥ç¥ó¤ä¥é¥¤¥Ö¥é¥ê¹½ÃÛÍѤΥ³¥Þ¥ó¥É¤Ê¤É¤¬¡¢P/ECE³«È¯´Ä¶¤È¤Ï°ã¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¹¡£
½¤Àµ¤¹¤ë¤è¤ê¤â¡¢½ñ¤Ä¾¤·¤¿Êý¤¬Á᤽¤¦¤Ç¤¹¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢½ñ¤Ä¾¤·¤Æ¤ß¤¿¤Î¤¬¤³¤Á¤é¡§¡ÊÁ°²ó¡¢¾Ò²ð¤·¤¿¤Î¤ÈƱ¤¸¤â¤Î¤Ç¤¹¡Ë
http://www.piece-me.org/archive/zlib-1.1.4-piece.mk
¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤é¡¢¥Õ¥¡¥¤¥ë̾¤ò¡ÖMakefile¡×¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤·¤Æ¡¢zlib-1.1.4¥Õ¥©¥ë¥À¤ÎÃæ¤ÎMakefile¤Ë¡¢¾å½ñ¤¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£
¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤¹
----------------
¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤ò³«¤¡¢zlib-1.1.4¥Õ¥©¥ë¥À¤ÎÃæ¤Ø°Üư¤·¤Æ¡¢¡Ömake¡×¤È¥¿¥¤¥×¤·¤Æ¤¯¤À¤µ¤¤¡£
¤·¤Ð¤é¤¯ÂԤäơ¢¡ÖLibrarian Completed¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤¬½Ð¤¿¤é¡¢¥³¥ó¥Ñ¥¤¥ë´°Î»¤Ç¤¹¡£
ɬÍפʥե¡¥¤¥ë¤À¤±¼è¤ê½Ð¤·¤Þ¤¹
------------------------------
zlib-1.1.4¥Õ¥©¥ë¥À¤ÎÃæ¤Ë¤Ï¡¢¤¿¤¯¤µ¤ó¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤¹¤¬¡¢
¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤ézlib¥é¥¤¥Ö¥é¥ê¤ò»È¤¦¤¿¤á¤Ë¡¢¤³¤ì¤é¤¬Á´¤ÆÉ¬Íפʤ櫓¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
ɬÍפʥե¡¥¤¥ë¤Ï¡¢¼¡¤Î»°¤Ä¤À¤±¤Ç¤¹¡§
zlib.h ¡Ä ºÇ½é¤«¤é¤¢¤ê¤Þ¤¹¡£
zutil.h ¡Ä ºÇ½é¤«¤é¤¢¤ê¤Þ¤¹¡£
libz.lib ¡Ä ¤µ¤Ã¤¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤Ç¤¤¿¥é¥¤¥Ö¥é¥ê¤¬¤³¤ì¤Ç¤¹¡£
¾¤Î¥Õ¥¡¥¤¥ë¤Ïº£¤Î¤È¤³¤íɬÍפʤ¤¤Î¤Ç¡¢¾Ã¤·¤Æ¤·¤Þ¤Ã¤Æ¤âÂç¾æÉפǤ¹¡£
¤½¤ì¤Ç¤Ï¡¢zlib¥é¥¤¥Ö¥é¥ê»È¤Ã¤Æ¡¢°µ½Ì¤µ¤ì¤¿²èÁü¥Õ¥¡¥¤¥ë¤òŸ³«¤·¡¢²èÌ̤Ëɽ¼¨¤·¤Æ¤ß¤Þ¤¹¡£
¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡§
http://www.piece-me.org/archive/zapp-20020615-src.zip
¡Ê³¤¤Þ¤¹¡Ä¡Ë
* Fri Jun 14 22:20:00 JST 2002 Naoyuki Sawa
- zlib¤ò»È¤¦#1
P/ECE¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë(°Ê²¼¡¢pex¥Õ¥¡¥¤¥ë¤È¸Æ¤Ó¤Þ¤¹)¤Ï¡¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¤ÎÍÆÎ̤òÀáÌ󤹤뤿¤á¤Ë¡¢zlib¤Ç°µ½Ì¤·¤Æ¤¢¤ê¤Þ¤¹¡£
Ä̾ï¤Îpex¥Õ¥¡¥¤¥ëºîÀ®¼ê½ç¤Ç¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¡¦¥ê¥ó¥¯¤·¤Æ¤Ç¤¤¿¥Õ¥¡¥¤¥ë(*.srf)¡¢¥¿¥¤¥È¥ëʸ»ú¡¢¥¢¥¤¥³¥ó¥Ç¡¼¥¿(*.pid)¤ò¡¢
ppack.exe¤ò»È¤Ã¤Æ¤Þ¤È¤á¤Æ¡¢pex¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤¹¡£
¤³¤Î¤È¤¡¢srf¥Õ¥¡¥¤¥ë¤ÎÉôʬ¤¬¡¢zlib¤Ë¤è¤Ã¤Æ°µ½Ì¤µ¤ì¤Þ¤¹¡£
pex¥Õ¥¡¥¤¥ë¤¬°µ½Ì¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢P/ECE¾å¤Ç¼Â¹Ô¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤ì¤òŸ³«¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
P/ECE¥«¡¼¥Í¥ë¤Ë¤Ï¡¢pex¥Õ¥¡¥¤¥ë¤òŸ³«¤¹¤ë¤¿¤á¤Î´Ø¿ô¡ÖpceZlibExpand()¡×¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£(inflate.c)
»Äǰ¤Ê¤¬¤é¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤épceZlibExpand()¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¤â¤·¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¤âpceZlibExpand()¤Î¤è¤¦¤Ê°µ½Ì¥Õ¥¡¥¤¥ëŸ³«API¤¬»È¤¨¤¿¤Ê¤é¡¢Ìò¤ËΩ¤Ä¾ìÌ̤Ϥ«¤Ê¤ê¤¢¤ë¤È»×¤¤¤Þ¤¹¡£
Î㤨¤Ð¡¢¥°¥é¥Õ¥£¥Ã¥¯¥Ç¡¼¥¿¤ä²»³Ú¥Ç¡¼¥¿¤ò¥×¥í¥°¥é¥à¤È¤¤¤Ã¤·¤ç¤Ë¥³¥ó¥Ñ¥¤¥ë¡¦¥ê¥ó¥¯¤»¤º¡¢
ÆÈΩ¤·¤¿ÊÌ¥Õ¥¡¥¤¥ë(*.pgd,*.pmd)¤Ë¤·¤¿¤ê¡¢¤Þ¤È¤á¤Æ¥Õ¥¡¥¤¥ë¥Ñ¥Ã¥¯·Á¼°(*.fpk)¤Ë¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
¥×¥í¥°¥é¥à¤È¥Ç¡¼¥¿¤òʬ¤±¤ë¤È¡¢¾ìÌÌ¡¦¾ìÌ̤ÇɬÍפʥǡ¼¥¿¤À¤±¤ò¥í¡¼¥É¤Ç¤¤ë¤Î¤Ç¡¢¤¿¤¯¤µ¤ó¤Î¥Ç¡¼¥¿¤ò»È¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¤·¤«¤·¤³¤ÎÊýË¡¤Ç¤Ï¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ë¤Ïppack.exe¤Ë¤è¤ë°µ½Ì¤¬¤«¤«¤é¤Ê¤¤¤Î¤Ç¡¢Á´¤Æpex¥Õ¥¡¥¤¥ë¤ËµÍ¤á¹þ¤ó¤À¾ì¹ç¤Ë³Ó¤Ù¤Æ¡¢
¥Õ¥é¥Ã¥·¥å¥á¥â¥êÍÆÎ̤ò¤ò¤¿¤¯¤µ¤ó¾ÃÈñ¤¹¤ë¡¢¤È¤¤¤¦·çÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤â¤·°µ½Ì¥Õ¥¡¥¤¥ëŸ³«API¤¬»È¤¨¤¿¤Ê¤é¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤â°µ½Ì¤·¤Æ¤ª¤¤¤Æ¡¢É¬ÍפÊÉôʬ¤À¤±¤òŸ³«¤·¤Ê¤¬¤é¥í¡¼¥É¤¹¤ë¤³¤È¤Ç¡¢
¥Õ¥é¥Ã¥·¥å¥á¥â¥êÍÆÎ̤òÀáÌó¤Ç¤¤ë¤Ï¤º¤Ç¤¹¡£
Á°½Ò¤ÎÄ̤ꡢ¸½¾õ¤Ç¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤épceZlibExpand()¤ò¸Æ¤Ö¤³¤È¤¬¤Ç¤¤Ê¤¤¤Î¤Ç¡¢¼«Á°¤ÇÍѰդ·¤Þ¤·¤ç¤¦¡£
¤¤¤¯¤Ä¤«¡¢ÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£
¤ª¤Ç¥Þ¥ë°µ½Ì¤ò»È¤¦¡§
¤ª¤Ç¥Þ¥ë¤Ï¡¢Èó¾ï¤Ë¤¿¤¯¤µ¤ó¤Î¥°¥é¥Õ¥£¥Ã¥¯¥Ç¡¼¥¿¤ò»È¤¦¤¿¤á¤Ë¡¢¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë(odemaru.grp)¤ò°µ½Ì¤·¤Æ»ý¤Ã¤Æ¤¤¤Þ¤¹¡£
°µ½Ì¤·¤Æ¤âP/ECE¤Î¥Õ¥é¥Ã¥·¥å¥á¥â¥êÍÆÎ̤®¤ê¤®¤ê¤Ç¤¹¤¬¡Ä
¤ª¤Ç¥Þ¥ë¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤Ï¡¢pex¥Õ¥¡¥¤¥ë¤Î°µ½Ì¤Ë»È¤ï¤ì¤Æ¤¤¤ëzlib¤È¤Ï°ã¤¦¡¢ÆÈ¼«¤ÎÊýË¡¤Ç°µ½Ì¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Ÿ³«¥×¥í¥°¥é¥à¤Ï¡¢¤ª¤Ç¥Þ¥ë¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤ò¥³¥Ô¡¼¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤¤½¤¦¤Ç¤¹¡£
¤¬¡¢»Äǰ¤Ê¤¬¤é¡¢°µ½Ì¥×¥í¥°¥é¥à¤¬¤¢¤ê¤Þ¤»¤ó¡£
¤è¤Ã¤Æ¡¢¤³¤ÎÊýË¡¤ÏµÑ²¼¤Ç¤¹¡£
pceZlibExpand()¤ò¥³¥Ô¡¼¡§
pceZlibExpand()¤Î¥½¡¼¥¹¤ò¥¢¥×¥ê¥±¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ë¥³¥Ô¡¼¤·¤Æ»È¤¦¡¢¤È¤¤¤¦¼ê¤Ï¤É¤¦¤Ç¤·¤ç¤¦¤«¡£
²Äǽ¤À¤È¤Ï»×¤¦¤Î¤Ç¤¹¤¬¡¢ËͤÏÃÇǰ¤·¤Þ¤·¤¿¡£
pceZlibExpand()¤Ïpex¥Õ¥¡¥¤¥ë¤ÎŸ³«¤ËÆÃ²½¤·¤Æ¤¤¤Æ¡¢¤Á¤ç¤Ã¤ÈÆÃ¼ì¤Ê¥á¥â¥ê³ä¤êÅö¤Æ¾õ¶·¤òÁ°Äó¤È¤·¤Æºî¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
zlib¤ò»È¤¦¡§
¤È¤¤¤¦¤ï¤±¤Ç¡¢º£²ó¤Ïzlib¤ÎÊÙ¶¯¤â·ó¤Í¤Æ¡¢¥ª¥ê¥¸¥Ê¥ë¤Îzlib¥½¡¼¥¹¤«¤éP/ECEÍÑzlib¥é¥¤¥Ö¥é¥ê¤ò¹½ÃÛ¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¤³¤ì¤Þ¤Ç¡¢zlib¤ò»È¤Ã¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(gzip¤äunzip¤Ê¤É¤Î°µ½Ì¡¦Å¸³«¥Ä¡¼¥ë¡¢png²èÁü·Á¼°¤Ê¤É)¤Ï¤¤¤í¤¤¤í»È¤Ã¤Æ¤¤Þ¤·¤¿¤¬¡¢
zlib¥é¥¤¥Ö¥é¥ê¤½¤Î¤â¤Î¤ò¥×¥í¥°¥é¥à¤«¤éľÀÜÍøÍѤ·¤¿¤³¤È¤Ï¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¤¤¤¤µ¡²ñ¤Ç¤¹¡£
P/ECEÍÑzlib¥é¥¤¥Ö¥é¥ê¤ò¹½ÃÛ¤¹¤ë¡¢¤È¤¤¤Ã¤Æ¤â¡¢ÆÃ¤ËÆñ¤·¤¤ÅÀ¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¥½¡¼¥¹°ì¼°¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢P/ECEÍѤÎMakefile¤ò½ñ¤¤¤¿¤À¤±¤Ç¤¹¡£
¥×¥í¥°¥é¥à½¤Àµ¤Ê¤É¤Î°Ü¿¢ºî¶È¤Ï¡¢°ìÀÚɬÍפ¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
P/ECEÍÑzlib¥é¥¤¥Ö¥é¥ê¹½ÃÛÍѤÎMakefile¤Ï¤³¤Á¤é
http://www.piece-me.org/archive/zlib-1.1.4-piece.mk
¾Ü¤·¤¯¤Ï¼¡²ó¤Ë¡£
¡Ê³¤¤Þ¤¹¡Ä¡Ë
* Wed Jun 12 21:30:00 JST 2002 Naoyuki Sawa
- S1C3320£¸(#2)
¡Ê¡ÄÁ°²ó¤«¤é¤Î³¤¡Ë
¡ÖS1C33208¡×¤È¡ÖS1C33209¡×¤ÎÆÃħ¤ò¡¢¥Ç¡¼¥¿¥·¡¼¥È¤ÇÈæ³Ó¤·¤Æ¤ß¤Þ¤·¤¿¡£
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£Ó£±£Ã£³£³£²£°£¸¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£Ó£±£Ã£³£³£²£°£¹¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡á¡Ü
¡Ã£Ã£Í£Ï£Ó¡¡£Ì£Ó£É¡¡£³£²¥Ó¥Ã¥ÈÊÂÎó½èÍý¡Ã£Ó£±£Ã£³£³£°£°£°¡Ê¡á£Å£°£Ã£³£³£°£°£°¡Ë£Ò£É£Ó£Ã¥³¥¢¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¥á¥¤¥ó¥¯¥í¥Ã¥¯¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£¶£°£Í£È£ú¡Ê£Í£á£ø¡¥¡¢³°Éô¥¯¥í¥Ã¥¯ÆþÎÏ¡¡£±£µ£Í£È£ú¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¥µ¥Ö¥¯¥í¥Ã¥¯¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£³£²¡¥£·£¶£¸£ë£È£ú¡Ê£Ô£ù£ð¡¥¡Ë¡¡¿å¾½È¯¿®¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡ÃÌ¿Î᥻¥Ã¥È¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£±£¶¥Ó¥Ã¥È¸ÇÄêĹ¡¢Ä¾¸òÀ¤ÎÎɤ¤£±£°£µ¼ïÎà¤ÎÌ¿Îá¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÀÑϱ黻̿Îá¡Ê£Í£Á£ÃÌ¿Îá¡¡£²¥µ¥¤¥¯¥ë¼Â¹Ô¡Ë¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡ÃÆâ¢£Ò£Á£ÍÍÆÎÌ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£¸¡¤£±£¹£²¥Ð¥¤¥È¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¥¯¥í¥Ã¥¯¥¿¥¤¥Þ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£±£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¥×¥í¥°¥é¥Þ¥Ö¥ë¥¿¥¤¥Þ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£¸¥Ó¥Ã¥È¡ß£´£ã£è¡¥¡¢£±£¶¥Ó¥Ã¥È¡ß£¶£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£¸¥Ó¥Ã¥È¡ß£¶£ã£è¡¥¡¢£±£¶¥Ó¥Ã¥È¡ß£¶£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£Ð£×£Í¥¿¥¤¥Þ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£±£¶¥Ó¥Ã¥È¥×¥í¥°¥é¥Þ¥Ö¥ë¥¿¥¤¥Þ¤Ë¤è¤ê¼Â¸½¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡ÊµºÜ̵¤·¡Ë¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¥¦¥©¥Ã¥Á¥É¥Ã¥°¥¿¥¤¥Þ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£±£¶¥Ó¥Ã¥È¥×¥í¥°¥é¥Þ¥Ö¥ë¥¿¥¤¥Þ¤Ë¤è¤ê¼Â¸½¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£²£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£´£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¥¯¥í¥Ã¥¯Æ±´ü¼°¡¦Ä´ÊâÆ±´ü¼°¤òÁªÂò²Äǽ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¥¯¥í¥Ã¥¯Æ±´ü¼°¡¦Ä´ÊâÆ±´ü¼°¤òÁªÂò²Äǽ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÀÖ³°Àþ¡Ê£É£ò£Ä£Á¡Ë¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤È¤·¤Æ¤â»ÈÍѲÄǽ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÀÖ³°Àþ¡Ê£É£ò£Ä£Á¡Ë¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤È¤·¤Æ¤â»ÈÍѲÄǽ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã£±£°¥Ó¥Ã¥È£Á¡¿£ÄÊÑ´¹´ï¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÃà¼¡Èæ³ÓÊý¼°¡¡ÆþÎÏ£¸£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¹â®£Ä£Í£Á¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£´£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¥¤¥ó¥Æ¥ê¥¸¥§¥ó¥È£Ä£Í£Á¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£±£²£¸£ã£è¡¥¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡ÃÈÆÍÑÆþ½ÐÎϥݡ¼¥È¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÆþÎÏ£±£³¥Ó¥Ã¥È¡¢½ÐÎÏ£²£¹¥Ó¥Ã¥È¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã³ä¤ê¹þ¤ß¥³¥ó¥È¥í¡¼¥é¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã³°Éô³ä¹þ¤ß¡§£±£°¼ïÎà¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÆâÉô³ä¹þ¤ß¡§£²£¹¼ïÎà¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã³°Éô¥Ð¥¹¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¥¢¥É¥ì¥¹£²£´¥Ó¥Ã¥È¡¢¥Ç¡¼¥¿£±£¶¥Ó¥Ã¥È¡¢¥Á¥Ã¥×¥¤¥Í¡¼¥Ö¥ë£·ËÜ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£Ä£Ò£Á£Í¡¢¥Ð¡¼¥¹¥È£Ò£Ï£Íľ·ë²Äǽ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã½Ð²Ù·ÁÂÖ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£Ñ£Æ£Ð£µ¡Ý£±£²£¸£ð£é£î¡¿£Ñ£Æ£Ð£±£µ¡Ý£±£²£¸£ð£é£î¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡ÃÅŸ»Å۵¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÆâÉôưºîÅ۵¡§£±¡¥£¸¡Á£³¡¥£¶£Ö¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¢«¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£É¡¿£ÏÅ۵¡¡¡§£±¡¥£¸¡Á£µ¡¥£µ£Ö¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¡Ã¾ÃÈñÅÅή¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã£È£Á£Ì£Ô»þ¡§£²£·¦Ì£Á¡Ê£³¡¥£³£Ö¡¢£³£²¡¥£·£¶£¸£ë£È£ú¡¡¥¯¥í¥Ã¥¯¥¿¥¤¥Þưºî¡¡£Ô£ù£ð¡¥¡Ë¡Ã£Ó£Ì£Å£Å£Ð»þ¡§£±£°¦Ì£Á¡¡¡¡¡Ê£³¡¥£³£Ö¡¢£³£²¡¥£·£¶£¸£ë£È£ú¡¡¥¯¥í¥Ã¥¯¥¿¥¤¥Þưºî¡¡£Ô£ù£ð¡¥¡Ë¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡§£²¡¥£µ¦Ì£Á¡¡¡Ê£²¡¥£°£Ö¡¢£³£²¡¥£·£¶£¸£ë£È£ú¡¡¥¯¥í¥Ã¥¯¥¿¥¤¥Þưºî¡¡£Ô£ù£ð¡¥¡Ë¡Ã
¡Ã¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÄÌ¾ïÆ°ºî»þ¡§£¶£µ£í£Á¡Ê£³¡¥£³£Ö¡¢£µ£°£Í£È£ú¡¡£Ô£ù£ð¡¥¡Ë¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃÄÌ¾ïÆ°ºî»þ¡¡¡§£¶£µ£í£Á¡¡¡¡¡Ê£³¡¥£³£Ö¡¢£µ£°£Í£È£ú¡¡£Ô£ù£ð¡¥¡Ë¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ã
¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ý¡Ü
¤´Í÷¤ÎÄ̤ê¤Û¤È¤ó¤ÉƱ¤¸¤Ç¤¹¤¬¡¢¤¤¤¯¤Ä¤«°ã¤Ã¤Æ¤¤¤ë¹àÌܤ⤢¤ê¤Þ¤¹¡£
¤³¤ì¤é¤Î¹àÌܤ¬¡¢S1C33208¤«¤éS1C33209¤Ø¤ÎÊѹ¹ÅÀ¤Ê¤Î¤Ç¤·¤ç¤¦¤«¡©
¡¦PWM¥¿¥¤¥Þ
¡¡S1C33208¤Î¥Ç¡¼¥¿¥·¡¼¥È¤Ë¤ÏµºÜ¤¬¤¢¤ë¤Î¤Ë¡¢S1C33209¤Î¥Ç¡¼¥¿¥·¡¼¥È¤Ë¤ÏµºÜ¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¡¡¤·¤«¤·¤³¤ì¤Ïñ¤Ë¡¢S1C33209¥Ç¡¼¥¿¡¼¥È¤ÎµºÜϳ¤ì¡Ê¤Þ¤¿¤Ïñ¤Ë¡ÈÆÃħ¡É¤«¤é³°¤·¤¿¤À¤±¡Ë¤À¤È»×¤¤¤Þ¤¹¡£
¡¡¸½¤ËP/ECE¤Ï¡¢16¥Ó¥Ã¥È¥×¥í¥°¥é¥Þ¥Ö¥ë¥¿¥¤¥Þ¤ò»È¤Ã¤Æ¡¢PWMÊý¼°¤Î¥µ¥¦¥ó¥É½ÐÎϤò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡¤È¤¤¤¦¤ï¤±¤Ç¡¢PWM¥¿¥¤¥Þ¤Ë´Ø¤·¤Æ¤Ï¡¢S1C33208¤ÈS1C33209¤ÏƱ¤¸¤È¹Í¤¨¤Æ¤¤¤¤¤È»×¤¤¤Þ¤¹¡£
¡¦¾ÃÈñÅÅή
¡¡ÄÌ¾ïÆ°ºî»þ¤Î¾ÃÈñÅÅή¤ÏƱ¤¸¤Ç¤¹¤¬¡¢¾ÊÅÅÎϥ⡼¥É¤Î¾ÃÈñÅÅή¤ÎµºÜ¤¬°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡¡S1C33208¤ÏHALT»þ¡Ê¤Á¤ç¤Ã¤È¾ÊÅÅÎϤʥ⡼¥É¡Ë¡¢S1C33209¤ÏSLEEP»þ¡Ê¤¹¤´¤¯¾ÊÅÅÎϤʥ⡼¥É¡Ë¤ÎÃͤʤΤǡ¢Ã±½ã¤ËÈæ³Ó¤Ç¤¤Þ¤»¤ó¡£
¡¡S1C33209¤Î¥Ç¡¼¥¿¥·¡¼¥È¤Ë¤ÏÍÍ¡¹¤Ê¾ò·ï¤Ç¤ÎHALT»þ¤Î¾ÃÈñÅÅή¤âºÜ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Èæ³Ó¤Ï²Äǽ¤À¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢Ãμ±ÉÔ¤Ǥ褯¤ï¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¡¡ËͤˤϤޤÀ¡¢¾ÃÈñÅÅή¤òµ¤¤Ë¤¹¤ë¤Û¤É¤Î¥Ï¡¼¥ÉÃ챤¬¤Ê¤¤¤Î¤Ç¡¢¤³¤ÎÏÃÂê¤Ï¤Þ¤¿¤¤¤º¤ì¶½Ì£¤¬½Ð¤¿¤È¤¤Ë¼è¤ê¾å¤²¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£
¡¦¥×¥í¥°¥é¥Þ¥Ö¥ë¥¿¥¤¥Þ
¡¡8¥Ó¥Ã¥È¥¿¥¤¥Þ¤¬ÁýÀߤµ¤ì¡¢S1C33208¤Î4¥Á¥ã¥Í¥ë¤«¤é¡¢S1C33209¤Ç¤Ï6¥Á¥ã¥Í¥ë¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¡¡¿·¤·¤¯Äɲ䵤줿¤Î¤Ï¡¢Ch.4¤ÈCh.5¤Ç¤¹¡£
¡¡S1C33209¥Ç¡¼¥¿¥·¡¼¥È¤ÎI/O¥Ý¡¼¥È¥¢¥É¥ì¥¹É½¤ò¸«¤ë¤È¡¢Ch.0¡Á3¤ÎÀßÄêÍÑI/O¥Ý¡¼¥È¤Ïʤó¤Ç½¸¤Þ¤Ã¤Æ¤¤¤ë¤Î¤Ë¡¢
¡¡Ch.4¡Á5ÀßÄêÍÑI/O¥Ý¡¼¥È¤À¤±¤¬Î¥¤ì¤¿¤È¤³¤í¤Ë¤¢¤Ã¤¿¤ê¤¹¤ë¤Î¤Ï¡¢¸å¤«¤éÄɲ䵤줿¤«¤é¤À¤Ã¤¿¤Î¤Ç¤¹¤Í¡£
¡¡¤µ¤Æ¡¢¡ÖP/ECE¸¦µæ¼¼¡ÁS1C33ʬ¼¼ 8¥Ó¥Ã¥È¥×¥í¥°¥é¥Þ¥Ö¥ë¥¿¥¤¥Þ¡×¤Î²ó¡§
http://www.piece-me.org/piece-lab/s1c33/20020115.html
¡¡¤Ç¤â¼è¤ê¾å¤²¤Þ¤·¤¿¤è¤¦¤Ë¡¢Ch.4¡Á5¤Ï¡¢Ch.0¡Á3¤Ë³Ó¤Ù¤Æ¡¢¤Á¤ç¤Ã¤Èµ¡Ç½¤¬¸ÂÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£
¡¡Ã¼»Ò¤Ø¤Î¥¯¥í¥Ã¥¯½ÐÎϤ䡢¥¿¥¤¥Þ³ä¤ê¹þ¤ß¤ÎȯÀ¸¸»¤È¤·¤ÆÍøÍѤǤ¤Ê¤¤¡Ê¤Þ¤¿¤ÏÍøÍѤ·¤Å¤é¤¤¡Ë¤Î¤Ç¤¹¡£
¡¡Ch.4¡Á5¤òÄɲä·¤¿ÌÜŪ¤Ï²¿¤À¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«¡©¤½¤ì¤Ï¡Ä
¡¦¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹
¡¡¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬ÁýÀߤµ¤ì¡¢S1C33208¤Î2¥Á¥ã¥Í¥ë¤«¤é¡¢S1C33209¤Ç¤Ï4¥Á¥ã¥Í¥ë¤ËÇÜÁý¤·¤Þ¤·¤¿¡£
¡¡¤Ê¤ë¤Û¤É¡¢·×¬µ¡´ï¤ò¤Ä¤Ê¤¤¤À¤ê¤¹¤ë¾ì¹ç¡¢2¥Á¥ã¥Í¥ë¤Ç¤Ï¤Á¤ç¤Ã¤È¤³¤³¤í¤â¤È¤Ê¤¤¡£
¡¡4¥Á¥ã¥Í¥ëÍߤ·¤¤¡¢¤È¤¤¤¦Í×˾¤¬¤¢¤Ã¤¿¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£
¡¡¿·¤·¤¯Äɲ䵤줿¤Î¤ÏCh.2¤ÈCh.3¤Ç¡¢´û¸¤ÎCh.0¡Á1¤ÈƱ¤¸µ¡Ç½¤òÈ÷¤¨¤Æ¤¤¤Þ¤¹¡£
¡¡¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»È¤¦¤Ë¤Ï¡¢¤É¤³¤«¤é¤«¥¯¥í¥Ã¥¯¤ò¶¡µë¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¡¡ÆâÉô¥¯¥í¥Ã¥¯¤ò»È¤¦¾ì¹ç¡¢¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ch.0¤Ï8¥Ó¥Ã¥È¥¿¥¤¥ÞCh.2¤«¤é¡£
¡¡¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ch.1¤Ï8¥Ó¥Ã¥È¥¿¥¤¥ÞCh.3¤«¤é¡¢¥¯¥í¥Ã¥¯¶¡µë¤òÆÀ¤Þ¤¹¡£
¡¡8¥Ó¥Ã¥È¥¿¥¤¥ÞCh.0¤ÈCh.1¤Ï´û¤ËÍÑÅÓ¤¬·è¤Þ¤Ã¤Æ¤¤¤Þ¤¹¡ÊDRAM¥ê¥Õ¥ì¥Ã¥·¥å¡¢A/DÊÑ´¹³«»Ï¥È¥ê¥¬¡¢OSC3¤Îȯ¿®°ÂÄêÂÔ¤Á»þ´Ö¤Ê¤É¡Ë¤Î¤Ç¡¢
¡¡8¥Ó¥Ã¥È¥¿¥¤¥ÞCh.0¡Á1¤ò»È¤Ã¤Æ¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ch.2¡Á3¤Ë¥¯¥í¥Ã¥¯¤ò¶¡µë¤¹¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡¡¤Þ¤¿¡¢16¥Ó¥Ã¥È¥¿¥¤¥Þ¤ÏÈÆÍÑŪ¤Ê¤Ä¤¯¤ê¤Ê¤Î¤Ç¡¢¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ø¤Î¥¯¥í¥Ã¥¯¶¡µë¤Î¤è¤¦¤ÊÀìÍÑŪ¤ÊÍÑÅӤˤÏÉÔ¸þ¤¤Î¤è¤¦¤Ç¤¹¡£
¡¡¤½¤³¤Ç¡¢¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹Ch.2¡Á3¤Ø¤Î¥¯¥í¥Ã¥¯¶¡µë¤Î¤¿¤á¤Ë¡¢8¥Ó¥Ã¥È¥¿¥¤¥Þ¤Ë¤âCh.4¡Á5¤¬Äɲ䵤줿¤Î¤À¤È»×¤¤¤Þ¤¹¡£
¡¡¤³¤ÎÍÑÅÓ¤ËÆÃ²½¤·¤Æ¤¤¤ë¤Î¤Ç¡¢Â¾¤Î´û¸¤Î8¥Ó¥Ã¥È¥¿¥¤¥ÞCh.0¡Á3¤è¤ê¤âµ¡Ç½¤¬¸ÂÄꤵ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤Í¡£
·ëÏÀ¡£S1C33208¤«¤éS1C33209¤Ø¤ÎÊѹ¹ÅÀ¡§
¡Ö¥·¥ê¥¢¥ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¡¢£²¥Á¥ã¥Í¥ë¤«¤é£´¥Á¥ã¥Í¥ë¤ËÁý¤¨¤Þ¤·¤¿¡£¡×
¡ÊÁý¤¨¤¿¥Á¥ã¥Í¥ë¤Î¤¿¤á¤Ë¡¢£¸¥Ó¥Ã¥È¥¿¥¤¥Þ¤â£²¥Á¥ã¥Í¥ëÄɲ䵤ì¤Þ¤·¤¿¡£¡Ë
* Tue Jun 11 21:00:00 JST 2002 Naoyuki Sawa
- S1C3320£¸(#1)
P/ECE¤ÎCPU¡ÖS1C33209¡×¤Î¼þÊÕ²óÏ©¤òľÀÜÁàºî¤¹¤ë¼Â¸³¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¡¢
I/O¥Ý¡¼¥È¥¢¥É¥ì¥¹ÄêµÁ¥Õ¥¡¥¤¥ë¡Öc33208.h¡×¤ò»È¤Ã¤Æ¤¤Þ¤·¤¿¡£
¤³¤ÎÄêµÁ¥Õ¥¡¥¤¥ë¡¢Ì¾Á°¤«¤é¤â¤ï¤«¤ë¤è¤¦¤Ë¡¢S1C33209ÍѤǤϤ¢¤ê¤Þ¤»¤ó¡£
Ʊ¤¸S1C33¥·¥ê¡¼¥º¤ÎCPU¤Ç¤¹¤¬¡¢S1C33209¤è¤ê¤âµì¤¤¥â¥Ç¥ë¡ÖS1C33208¡×ÍѤÎÄêµÁ¥Õ¥¡¥¤¥ë¤Ç¤¹¡£
c33208.h¤ÎÆâÍÆ¤È¡¢S1C33209¤Î¥Ç¡¼¥¿¥·¡¼¥È¤ò¸«³Ó¤Ù¤¿¤È¤³¤í¡¢Î¾¼Ô¤ÎÆâÍÆ¤ÎÂçÉôʬ¤Ï¹ç¤Ã¤Æ¤¤¤Þ¤¹¡£
¤·¤«¤·°ìÉô¡¢¥Ç¡¼¥¿¥·¡¼¥È¤Ë¤ÏºÜ¤Ã¤Æ¤¤¤ë¤Î¤Ë¡¢c33208.h¤Ë¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤I/O¥Ý¡¼¥È¤â¤¢¤ê¤Þ¤¹¡£
S1C33209¤¬S1C33208¤Î¥Þ¥¤¥Ê¡¼¥¢¥Ã¥×¥°¥ì¡¼¥ÉÈǤǤ¢¤ë¤³¤È¤Ï¤¿¤Ö¤ó´Ö°ã¤¤¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢
¶ñÂÎŪ¤Ë¤É¤³¤¬ÊѤï¤Ã¤¿¤«¡©¤Ë´Ø¤¹¤ë»ñÎÁ¤¬¡¢¤³¤ì¤Þ¤Ç¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤È¤¤¤¦¤Î¤â¡¢ËܲÈEPSON¤Î¥Ç¡¼¥¿¥·¡¼¥ÈÃÖ¤¾ì¡§
¥È¥Ã¥×¥Ú¡¼¥¸
http://www.epsondevice.com/domcfg.nsf
-> ¥É¥¥å¥á¥ó¥È
http://www.epsondevice.com/www/jp/doc.nsf
-> 32-bit¥Þ¥¤¥¯¥í¥³¥ó¥Ô¥å¡¼¥¿ (S1C33 Family)
http://www.epsondevice.com/www/PDFS/epdoc.nsf/selectView?OpenForm&32mcu
(2002/06/11¸½ºß)
¤Ë¤Ï¡¢´û¤ËS1C33208¤Ë´Ø¤¹¤ë»ñÎÁ¤Ï¤Ê¤¯¡¢Web¤ò¸¡º÷¤·¤Æ¤ß¤Æ¤â¡¢¤Û¤È¤ó¤É»ñÎÁ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç¤¹¡£
c33208.h¤ÎÃæ¤Î¥³¥á¥ó¥È¤«¤é¿ä»¡¤¹¤ë¤Ë¡¢S1C33208¤¬Åо줷¤¿¤Î¤Ï¤¿¤Ö¤ó1999ǯº¢¤À¤Ã¤¿¤È»×¤ï¤ì¤Þ¤¹¡£
¤Þ¤¿¡¢¤³¤Á¤é¤Î¥í¡¼¥É¥Þ¥Ã¥×¡§
http://www.epson-esec2002.com/prdct/MCU.html
(2002/06/11¸½ºß)
¤Ë¤è¤ë¤È¡¢S1C33209¤ÎÅоì¤Ï2001ǯ¤Ç¤¹¡£¡ÊP/ECE¤ÎÅоì¤ÈƱ¤¸Ç¯¤Ç¤¹¤Í¡Ë
S1C33208¤ÏÆóǯ´Ö¤â»È¤ï¤ì¤Æ¤¤¤¿¤Ï¤º¤Ê¤Î¤Ë¡¢¤³¤Î¾ðÊó¤Î¾¯¤Ê¤µ¤Ï¤¤¤Ã¤¿¤¤¡Ä
S1C33209¤â¸¡º÷¤Ë¥Ò¥Ã¥È¤¹¤ë¤Î¤Ï¤Û¤È¤ó¤ÉP/ECE¤¬¤é¤ß¤Ê¤Î¤Ç¡¢¤â¤È¤â¤È¥Þ¥¤¥Ê¡¼¤Ê¥·¥ê¡¼¥º¤Ê¤Î¤«¤â¡©
Ⱦ¤Ð¤¢¤¤é¤á¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢º£Æü¡¢S1C33208¤Î¥Ç¡¼¥¿¥·¡¼¥È¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£
¤³¤ì¤Þ¤Ç¡ÖS1C33208¡×¤Î̾Á°¤Ç¸¡º÷¤·¤Æ¤¤¤¿¤Î¤¬¡¢¤Ê¤«¤Ê¤«¸«¤Ä¤±¤é¤ì¤Ê¤«¤Ã¤¿¸¶°ø¤Ç¤·¤¿¡£
µì̾¾Î¤Î¡ÖE0C33208¡×¤Ç¸¡º÷¤¹¤ì¤Ð¤è¤«¤Ã¤¿¤Î¤Ç¤¹¤Í¡£
¾ðÊ󤬾¯¤Ê¤¤¤³¤È¤ËÊѤï¤ê¤Ï¤¢¤ê¤Þ¤»¤ó¡ÊGoogle¸¡º÷¤Ç¤¿¤Ã¤¿2¥Ú¡¼¥¸¡Ë¤¬¡¢ÀèÆ¬¤ËPDF¤¬¥Ò¥Ã¥È¤·¤Þ¤·¤¿¡£
¤È¤¤¤¦¤ï¤±¤Ç¡¢S1C33208¡Êµì̾¾ÎE0C33208¡Ë¤Î¥Ç¡¼¥¿¥·¡¼¥È¤Ï¤³¤Á¤é¡§
http://www.2k1.co.uk/products/epson/downloads/ds_33208.pdf
(2002/06/11¸½ºß)
¤Ê¤¼¤³¤³¤À¤±¤Ë»Ä¤Ã¤Æ¤¤¤ë¤Î¤«ÉԻ׵ĤǤ¹¤¬¡¢¤È¤ê¤¢¤¨¤º»Ä¤Ã¤Æ¤¤¤ë¤¦¤Á¤ËÊá³Í¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
S1C33208¤ÈS1C33209¤Î¥Ç¡¼¥¿¥·¡¼¥È¤ò¸«³Ó¤Ù¤ë¤È¡¢¤ä¤Ï¤ê¼þÊÕ²óÏ©¤¬¤¤¤¯¤Ä¤«¶¯²½¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
Á°ÃÖ¤¤¬Ä¹¤¹¤®¤¿¤¿¤á¡¢ËÜÂê¤ËÆþ¤Ã¤¿¤È¤³¤í¤Çº£Æü¤Ï¤ª¤·¤Þ¤¤¡£
¡Ê³¤¤Þ¤¹¡Ä¡Ë
* Sat Jun 01 20:35:00 JST 2002 Naoyuki Sawa
- °ìÉô½ñ¤´¹¤¨¤ÏÉÔ²Ä
ºÇ¶á¤Ë¤Ê¤Ã¤Æ¡¢¤ä¤Ã¤ÈpceFile·ÏAPI¤ò»È¤¤»Ï¤á¤Þ¤·¤¿¡£
º£²ó¤Ï¡¢pceFileWriteSct()¤ò»È¤Ã¤Æ¤¤¤Æµ¤ÉÕ¤¤¤¿¤³¤È¤Î¥á¥â¤Ç¤¹¡£
¥»¥¯¥¿¤Î°ìÉô¤À¤±¤ò¡¢pceFileWriteSct()¤ò»È¤Ã¤Æ½ñ¤´¹¤¨¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
Î㤨¤Ð¡¢¼¡¤Î¤è¤¦¤ÊÆâÍÆ¤Î¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¡Öhello.txt¡×¤òP/ECE¤ËžÁ÷¤·¤Æ¤ª¤¤Þ¤¹¡£
hello, world
¤³¤Î¥Õ¥¡¥¤¥ë¤Î°ìÉô¤ò¡¢pceFileWriteSct()¤ò»È¤Ã¤Æ½ñ¤´¹¤¨¤è¤¦¤È¤·¤Æ¤ß¤Þ¤¹¡£
pceFileOpen(&fa, "hello.txt", FOMD_WR);
pceFileWriteSct(&fa, "HELL!", 0, 5);
ÀèÆ¬¤«¤é£µÊ¸»úʬ¤Ë½ñ¤¹þ¤ß¤Þ¤¹¤Î¤Ç¡¢·ë²Ì¤Ï
HELL!, world
¤È¤Ê¤ê¤½¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢¼ÂºÝ¤Ë¤Ï¤³¤¦¤Ê¤ê¤Þ¤¹¡£
HELL! ¡¦¡¦¡¦¡¦
¡ÖHELL!¡×¤è¤ê¤â¸å¤í¤Ï¡¢¥´¥ß¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤Ê¤¼¤³¤¦¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡©
pceFileWriteSct()¤ÎÆâÉôưºî¤Ï¡¢¼¡¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡£
¡¦»ØÄꤵ¤ì¤¿¥»¥¯¥¿¤ò¡¢¤¤¤Ã¤¿¤ó¤¼¤ó¤Ö¾Ãµî¤¹¤ë¡£
¡¦»ØÄꤵ¤ì¤¿Ä¹¤µ¤Îʬ¤À¤±¡¢¥Ç¡¼¥¿¤ò½ñ¤¹þ¤à¡£
½¾¤Ã¤Æ¡¢»ØÄꤵ¤ì¤¿¥»¥¯¥¿¤Î¤¦¤Á¡¢½ñ¤¹þ¤Þ¤Ê¤«¤Ã¤¿Éôʬ¤Î´û¸¤Î¥Ç¡¼¥¿¤Ï¾Ãµî¤µ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¾Ãµî¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¦¤ÇÂкö¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤è¤¦¤Ç¤¹¡£
¡¦Êѹ¹¤·¤¿¤¤¥Ç¡¼¥¿¤ò´Þ¤à¥»¥¯¥¿Á´ÂÎ(4096¥Ð¥¤¥È)¤ò¡¢RAM¤ËÆÉ¤ß¹þ¤à¡£(pceFileReadSct»ÈÍÑ)
¡¦RAM¤ËÆÉ¤ß¹þ¤ó¤À¥Ç¡¼¥¿¤ò¡¢É¬Íפ˱þ¤¸¤ÆÊѹ¹¤¹¤ë¡£
¡¦Êѹ¹¤¬½ª¤ï¤Ã¤¿¤é¡¢¥»¥¯¥¿Á´ÂÎ(4096¥Ð¥¤¥È)¤ò¥Õ¥¡¥¤¥ë¤Ë½ñ¤Ì᤹¡£(pceFileWriteSct»ÈÍÑ)
* Fri May 31 21:00:00 JST 2002 Naoyuki Sawa
- make ¥á¥â
P/ECE³«È¯´Ä¶¤ËÆþ¤Ã¤Æ¤ë¡Ömake¡×¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ï¡¢°ìÈÌŪ¤ÊUnix¾å¤Îmake¤ä¡¢VisualC++¤ÎnmakeÅù¤Ë³Ó¤Ù¤Æ¡¢
°ìÉô¡¢µ¡Ç½À©¸Â¤µ¤ì¤¿¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
µ¡Ç½À©¸Â¤µ¤ì¤Æ¤¤¤ëÅÀ¤Ë¤Ä¤¤Þ¤·¤Æ¤Ï¡¢Æ±¤¸¤¯P/ECE³«È¯´Ä¶¤ËÆþ¤Ã¤Æ¤ë»ñÎÁ¤Î
¡ØS1C33¥Õ¥¡¥ß¥êC¥³¥ó¥Ñ¥¤¥é¥Ñ¥Ã¥±¡¼¥¸¥Þ¥Ë¥å¥¢¥ë¡Ù(C:\usr\PIECE\docs\datasheet\EPSON\S5U1C33000C_J.pdf)
¤Î¡Ö17.1 make (463¥Ú¡¼¥¸¡Á)¡×¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
Ψľ¤Ë¸À¤Ã¤Æ¡¢P/ECE³«È¯´Ä¶¤Îmake¤Ï¡¢¤«¤Ê¤êµ¡Ç½À©¸Â¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤Ç¤âËͤξì¹ç¡¢¸µ¡¹¡¢GNU make¤Ê¤É¤Î°ìÈÌŪ¤Êmake¤Ï¡¢µ¡Ç½ËÉÙ¤¹¤®¤ÆÁ´Á³»È¤¤¤³¤Ê¤»¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
²¿Å٥ޥ˥奢¥ë¤òÆÉ¤ó¤Ç¤â¡¢$*¤È$<¤È$@¤Î°ã¤¤¤¬³Ð¤¨¤é¤ì¤Ê¤«¤Ã¤¿¤ê¡Ä¡ÊºÐ¤«¤ÊTT¡Ë
P/ECE³«È¯´Ä¶¤Îmake¤°¤é¤¤¤¬¡¢ËͤˤϤÁ¤ç¤¦¤É¤¤¤¤¤«¤âÃΤì¤Þ¤»¤ó¡£
¤µ¤Æ¡¢P/ECE³«È¯´Ä¶¤Îmake¤ò»È¤Ã¤Æ¤¤¤Æ¡¢¤Á¤ç¤Ã¤Èµ¤ÉÕ¤¤¤¿¤³¤È¤ò¥á¥â¤·¤Æ¤ª¤¤Þ¤¹¡£
-------------------------------------------------------------
¥³¥á¥ó¥È¤Î³«»Ï¤ò¼¨¤¹¡Ö#¡×¤Ï¡¢¹Ô¤ÎÀèÆ¬¤Ë½ñ¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó
-------------------------------------------------------------
Î㤨¤Ð¡¢Unix¾å¤Îmake¤Ê¤é¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥³¥á¥ó¥È¹Ô¤ò½ñ¤¯¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
all:
# *** ¤³¤Î¹Ô¤Ï¥³¥á¥ó¥È ***
echo "OK!"
¤·¤«¤·P/ECE¤Îmake¤Ç¤Ï¡¢¡Ö# *** ¤³¤Î¹Ô¤Ï¥³¥á¥ó¥È ***¡×¤ò¥³¥Þ¥ó¥É¤È¤·¤Æ¼Â¹Ô¤·¤è¤¦¤È¤·¤Æ¡¢¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
VisualC++¤Înmake¤Ç¤â¡¢P/ECE¤Îmake¤Î¾ì¹ç¤ÈƱ¤¸¤è¤¦¤Ë¡¢¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
¤Ç¤Ï¡¢Unix¾å¤Îmake¤Ç¤Ï¡¢¤Ê¤¼¥¨¥é¡¼¤Ë¤Ê¤é¤Ê¤«¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«¡©
Unix¤Ç¤Ï¡¢¡Ö#¡×¤³¤Îʸ»ú¤¬¥á¥¤¥¯¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¥³¥á¥ó¥È³«»Ïʸ»ú¤Ç¤¢¤ë¤ÈƱ»þ¤Ë¡¢
¥·¥§¥ë¤ËÂФ¹¤ë¥³¥á¥ó¥È³«»Ïʸ»ú¤Ç¤â¤¢¤ë¤«¤é¤Ç¤¹¡£
Unix¾å¤Îmake¤â¡¢¡Ö# *** ¤³¤Î¹Ô¤Ï¥³¥á¥ó¥È ***¡×¤ò¥³¥Þ¥ó¥É¤È¤·¤Æ¼Â¹Ô¤·¤è¤¦¤È¤·¤Þ¤¹¤¬¡¢
¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤òÃç²ð¤¹¤ë¥·¥§¥ë¤¬¡¢¡Ö#¡×¤³¤Îʸ»ú°Ê¹ß¤ò¥³¥á¥ó¥È¤È¸«¤Ê¤·¤Æ¼Î¤Æ¤Æ¤¯¤ì¤ë¤è¤¦¤Ç¤¹¡£
¤Ä¤Þ¤ê¡¢Unix¾å¤Îmake¤Ç¥¨¥é¡¼¤Ê¤é¤Ê¤«¤Ã¤¿¤Î¤Ï¡¢¤¿¤Þ¤¿¤Þ¡¢¤È¸À¤¨¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¡Ê¡Ö#¡×¤¬¹Ô¤ÎÀèÆ¬¤Ë¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¤Ã¤Æ¡¢P/ECE¤Îmake¤Ç¥¨¥é¡¼¤ËÁø¶ø¤¹¤ë¤Þ¤ÇÃΤê¤Þ¤»¤ó¤Ç¤·¤¿...(^^;¡Ë
¾å¤ÎÎã¤òÀµ¤·¤¯½ñ¤Ä¾¤¹¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
all:
# *** ¤³¤Î¹Ô¤Ï¥³¥á¥ó¥È ***
echo "OK!"
¤Ê¤ó¤È¤Ê¤¯¸«¤Å¤é¤¤¤Ç¤¹¤¬¡¢»ÅÊý¤¬¤¢¤ê¤Þ¤»¤ó¡£
¤¢¤ë¤¤¤Ï¼¡¤Î¤è¤¦¤Ê¼êÃʤǡ¢¹Ô¤ÎÅÓÃæ¤«¤é¥³¥á¥ó¥È¤ò»Ï¤á¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¤¬¡¢¤³¤³¤Þ¤Ç¤ä¤ëɬÍפϤʤµ¤½¤¦¡£
all:
cmd /c rem *** ¤³¤Î¹Ô¤Ï¥³¥á¥ó¥È ***
echo "OK!"
¤Ê¤ª¡¢°Í¸´Ø·¸¹Ô¤Ë´Ø¤·¤Æ¤Ï¡¢¹Ô¤ÎÅÓÃæ¤«¤é¡Ö#¡×¤Ç¥³¥á¥ó¥È¤ò»Ï¤á¤Æ¤âÂç¾æÉפǤ¹¡£
¼¡¤ÎÎã¤Ï¡¢P/ECE¤Îmake¡¢nmake¡¢Unix¾å¤Îmake¤Î¤¤¤º¤ì¤Ç¤â¡¢Àµ¤·¤¯Æ°ºî¤·¤Þ¤¹¡£
all: # *** ¤³¤ÎÉôʬ¤Ï¥³¥á¥ó¥È ***
echo "OK!"
----------------------------------------------------------------------
Ê̤Υե©¥ë¥À¤Ë¤¢¤ë¥á¥¤¥¯¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢-C¥ª¥×¥·¥ç¥ó¤ò»È¤¤¤Þ¤¹
----------------------------------------------------------------------
Unix¾å¤Îmake¤Ê¤é¡¢¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤È¤³¤í¡¢
cd lib; make all
P/ECE¤Îmake¤Ç¤Ï¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
Windows¤Î¥·¥§¥ë¤Ï¡¢¡Ö;¡×¤ò»È¤Ã¤¿¥Þ¥ë¥Á¥¹¥Æ¡¼¥È¥á¥ó¥È¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤¿¤á¤Ç¤¹¡£
P/ECE¤Îmake¤Ç¡¢¾å¤ÎÎã¤ÈƱ¤¸¤³¤È¤ò¹Ô¤¦¤Ë¤Ï¡¢
make -Clib all
¤È½ñ¤¤Þ¤¹¡£
-C¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢»ØÄꤵ¤ì¤¿¥Õ¥©¥ë¥À¤Ø°Üư¤·¤Æ¤«¤é¥á¥¤¥¯¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ß¤Þ¤¹¡£
-C¥ª¥×¥·¥ç¥ó¤Ï¡¢Unix¾å¤Îmake¤Ë¤Ï¤Ê¤¤¡¢P/ECE³«È¯´Ä¶¤Îmake¤ËÆÃͤΥª¥×¥·¥ç¥ó¤ß¤¿¤¤¤Ç¤¹¡£
* Fri May 26 00:00:00 JST 2002 Naoyuki Sawa
- ´Ø¿ô¥¢¥É¥ì¥¹¤ò¥·¥ó¥Ü¥ëÄêµÁ¤·¤Æ¸Æ¤Ó½Ð¤¹
¡Ö´Ø¿ô¥Ý¥¤¥ó¥¿·¿¤Ë¥¥ã¥¹¥È¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡×¤Î²ó¡Ê°Ê²¼¡¢Á°²ó¤Èά¤·¤Þ¤¹¡Ë¤Î³¤¤Ç¤¹¡£
ÀäÂÐ¥¢¥É¥ì¥¹call¤ò¹Ô¤¦¤Ë¤Ï¡¢¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é¤ò»È¤Ã¤Æ¡¢¼¡¤Î¤è¤¦¤Ë¡§
asm("xld.w %r1, 0x00c034aa");
asm("call %r1");
½ñ¤«¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡¢¤È¤¤¤¦¤Î¤¬¡¢Á°²ó¤Î·ëÏÀ¤Ç¤·¤¿¡£
¤Á¤Ê¤ß¤Ë0x00c034aa¤Ï¡¢BIOS 1.18¤Ë¤ª¤±¤ë¡¢pceLCDTrans()¤Î¥¢¥É¥ì¥¹¤Ç¤¹¡£
´Ø¿ô¥¢¥É¥ì¥¹¤òľÀÜ¥×¥í¥°¥é¥àÃæ¤Ëµ½Ò¤¹¤ë¤È¡¢¥×¥í¥°¥é¥à¤¬ÆÉ¤ß¤Å¤é¤¯¤Ê¤ê¤Þ¤¹¡£
¾å¤Î¥³¡¼¥É¤Ï¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤±¤ì¤Ð¡¢ÆÉ¤ß¤ä¤¹¤¯¤Ê¤ë¤Ç¤·¤ç¤¦¡£
asm("xld.w %r1, pceLCDTrans");
asm("call %r1");
¤½¤³¤Ç¤Þ¤º¤Ï¡¢¥«¡¼¥Í¥ëÆâ¤Î´Ø¿ô¥¢¥É¥ì¥¹°ìÍ÷¤òÄêµÁ¤·¤¿¡¢.h¥Õ¥¡¥¤¥ë¤òÍѰդ·¤Þ¤¹¡£
¥«¡¼¥Í¥ëÆâ¤Î´Ø¿ô¥¢¥É¥ì¥¹¤Ï¡¢¡Öc:\usr\piece\sysdev\pcekn\pcekn.sym¡×¤«¤éÆÀ¤é¤ì¤Þ¤¹¤Î¤Ç¡¢
¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æ.h¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤·¤Þ¤·¤ç¤¦¡£
pcekn.sym¤ò.h¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¥¹¥¯¥ê¥×¥È¤Ï¤³¤Á¤é
http://www.piece-me.org/archive/pcekn_sym.sed
¡Ê¢¨Á°²ó¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Î¤ª¤Þ¤±¥Õ¥©¥ë¥À¤ËÆþ¤Ã¤Æ¤¿¤Î¤È¡¢Æ±¤¸¤â¤Î¤Ç¤¹¡Ë
»È¤¤Êý¤Ï¡¢¼¡¤ÎÄ̤ê¤Ç¤¹¡§
sed -nf pcekn_sym.sed c:\usr\piece\sysdev\pcekn\pcekn.sym > pcekn_sym.h
¡Ê¢¨P/ECE³«È¯´Ä¶¤ò¡Öc:\usr\piece¡×°Ê³°¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï¡¢Å¬µ¹Êѹ¹¡Ë
¤³¤ì¤Ç¡¢¥«¡¼¥Í¥ëÆâ¤Î´Ø¿ô¥¢¥É¥ì¥¹°ìÍ÷¤òÄêµÁ¤·¤¿¡¢pcekn_sym.h¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£
°Ê²¼¤Ë¡¢pcekn_sym.h¤Î°ìÉô¤ò¼¨¤·¤Þ¤¹¡§
#define pcekn_BootEntry00 0x00c02004
#define pcekn_BootEntry 0x00c02078
#define pcekn_pceGUID 0x00c02048
#define pcekn_InitVector 0x00c02208
#define pcekn_pceVectorSetTrap 0x00c021aa
#define pcekn_pceVectorSetKs 0x00c021d2
#define pcekn_UnusedTrapVector 0x00c021fa
#define pcekn_UnusedKsVector 0x00c021fe
¥·¥ó¥Ü¥ë̾¤ÎÀèÆ¬¤Ë¡Öpcekn_¡×¤È¤¤¤¦¥×¥ì¥Õ¥£¥¯¥¹¤òÉÕ¤±¤ÆÄêµÁ¤¹¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¤³¤Î¤è¤¦¤Ë¤·¤¿Íýͳ¤Ï¡¢¥·¥ó¥Ü¥ë̾¤ò¤½¤Î¤Þ¤Þ»È¤¦¤È¡¢¸ø³«¤µ¤ì¤Æ¤¤¤ëAPI¤Î̾Á°¤È
¤Ö¤Ä¤«¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£¡ÊpceVectorSetTrap¤äpceVectorSetKs¤¬¤½¤¦¤Ç¤¹¡Ë
¤µ¤Æ¡¢pcekn_sym.h¤ò»È¤Ã¤Æ¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤¯¤³¤È¤¬½ÐÍè¤ë¤Ç¤·¤ç¤¦¤«¡§
#include "pcekn_sym.h"
¡Êά¡Ë
asm("xld.w %r1, pcekn_pceLCDTrans");
asm("call %r1");
¼Â¤Ï¡¢¤³¤Î¤è¤¦¤Ë½ñ¤¯¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡£
¡Öpcekn_pceLCDTrans¡×¤È¤¤¤¦¥·¥ó¥Ü¥ë¤Ï¡¢C¥×¥ê¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤ÆÅ¸³«¤µ¤ì¤ë¤Î¤Ç¤¹¤¬¡¢
asm("¡Á")ʸ¤ÎÃæ¤Ïñ¤Ê¤ëʸ»úÎó¤È¸«¤Ê¤µ¤ì¤ë¤è¤¦¤Ç¡¢Å¸³«¤ÎÂоݳ°¤À¤«¤é¤Ç¤¹¡£
pcekn_pceLCDTrans¤Ï¡¢C¥×¥ê¥×¥í¥»¥Ã¥µ¤ÎÃʳ¬¤ÇŸ³«¤µ¤ì¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
¤½¤³¤Ç¡¢¼¡¤Î¤è¤¦¤Ê´Ø¿ô¤òÍѰդ·¤Þ¤¹¡£
int
call(int addr)
{
asm("call %r12");
}
S1C33¤Î»ÅÍͤǤϡ¢´Ø¿ô¤Ø¤Î°ú¿ô¤Ï¡¢%r12,%r13,%r14,%r15,¤ª¤è¤Ó¥¹¥¿¥Ã¥¯¤ËÅϤ¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
°ú¿ôaddr¤Ï´û¤Ë%r12¥ì¥¸¥¹¥¿¤ËÆþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤Î¤Þ¤Þ¡Öcall %r12¡×¤È¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¡£
¤Þ¤¿¡¢S1C33¤Î»ÅÍͤǤϡ¢Ìá¤êÃͤ¬¤¢¤ë¾ì¹ç¡¢%r10,¤ª¤è¤Ó%r11¥ì¥¸¥¹¥¿¤ËÊÖ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¡Öcall %r12¡×¤Î¸Æ¤Ó½Ð¤·À褫¤é¤ÎÌá¤êÃͤϡ¢¤½¤Î¤Þ¤Þcall()´Ø¿ô¤Î¸Æ¤Ó½Ð¤·¸µ¤ØÊÖ¤µ¤ì¤ë¤Î¤Ç¤¹¡£
{{¤Á¤ç¤Ã¤È´ó¤êÆ»¡¢C¸À¸ì¤ÎÏÃ
call()´Ø¿ô¤ÎÌá¤êÃͤϡ¢¾åµ¤Î¤è¤¦¤Êư¤¤Ë¤è¤Ã¤Æ¡¢Ä¾ÀÜ%r10¥ì¥¸¥¹¥¿¤Ë³ÊǼ¤µ¤ì¤ë¤¿¤á¡¢
int¤òÊÖ¤¹´Ø¿ô¤Ç¤¢¤ë¤Ë¤â¤«¤«¤ï¤é¤º¡¢returnÌ¿Î᤬¤¢¤ê¤Þ¤»¤ó¡£
C¸À¸ì¤Î¥×¥í¥°¥é¥à¤È¤·¤Æ¤Ï´Ö°ã¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤¨¡¢¥³¥ó¥Ñ¥¤¥é¤¬·Ù¹ð¤«¥¨¥é¡¼¤ò½Ð¤·¤½¤¦¤Ê¤â¤Î¤Ç¤¹¤¬¡¢
¼ÂºÝ¤Ë¤Ï¡¢¥³¥ó¥Ñ¥¤¥é¤Ï·Ù¹ð¤â¥¨¥é¡¼¤â½Ð¤·¤Þ¤»¤ó¡£
¤³¤Î¾ì¹ç¤Ï¡¢·Ù¹ð¤â¥¨¥é¡¼¤â½Ð¤Ê¤¯¤Æ¤¦¤ì¤·¤¤¤Î¤Ç¤¹¤¬¡¢¤Ê¤¼½Ð¤Ê¤«¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«¡©
¡Ö¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì£ÃÂ裲ÈǡפòÆÉ¤ßľ¤·¤Æ¤ß¤¿¤È¤³¤í¡¢¤É¤¦¤ä¤é¤³¤ì¤Ï¡¢C¸À¸ì¤È¤·¤ÆÀµ¤·¤¤¤è¤¦¤Ç¤¹¡£
¡ØÃͤòÊÖ¤¹´Ø¿ô¤Ë¡Öreturn ¼°¡×¤¬¤Ê¤«¤Ã¤¿¤ê¡¢Ã±¤Ê¤ë¡Öreturn¡×¤ÇÈ´¤±¤¿¤ê¤¹¤ë¤Î¤Ï¡¢Ê¸Ë¡Åª¤Ë¤ÏÀµ¤·¤¤¡Ù
¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤ê¤Þ¤·¤¿¡£¡Ê1.7¡Ö´Ø¿ô¡×¤Î¡¢31¡Á32¥Ú¡¼¥¸¤¢¤¿¤ê¤Ç¤¹¡Ë
Î㤨¤Ð¼¡¤Î¤è¤¦¤Ê´Ø¿ô¤Ï¡¢¤¤¤º¤ì¤âC¸À¸ì¤Îʸˡ¤È¤·¤Æ¤ÏÀµ¤·¤¤¤Î¤Ç¤¹¡£
int sum(int a, int b) { } /* ¥´¥ß¤òÊÖ¤¹ */
int sum(int a, int b) { return; } /* ¥´¥ß¤òÊÖ¤¹ */
int sum(int a, int b) { return a + b; } /* Àµ¤·¤¤·ë²Ì¤òÊÖ¤¹ */
¤¦¡Á¤à¡¢¤³¤ì¤ÏÃΤê¤Þ¤»¤ó¤Ç¤·¤¿¡£¸È©¤Ê¥³¡¼¥Ç¥£¥ó¥°¤Î¼êÃʤȤ·¤Æ¡¢»È¤¨¤½¤¦¤À¡Ä(^^;
¤Á¤Ê¤ß¤ËC++¸À¸ì¤Ç¤Ï¡¢Ê¸Ë¡¤Î»ÅÍͤ¬¸·¤·¤¯¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
}}´ó¤êÆ»½ªÎ»
call()´Ø¿ô¤òÍøÍѤ·¤Æ¡¢pceLCDTrans()¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
call(pcekn_pceLCDTrans);
ºÇŬ²½¥ª¥×¥·¥ç¥ó¤ä¡¢¤½¤Î¾¤Î¥³¥ó¥Ñ¥¤¥ë¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤¿¤ê³°¤·¤¿¤ê¤·¤Æ»î¤·¤Æ¤ß¤¿¤È¤³¤í¡¢
¤É¤Î¾ì¹ç¤Ë¤â¡¢Àµ¤·¤¯Æ°¤¯¤è¤¦¤Ç¤¹¡£
º£²ó¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é
http://www.piece-me.org/archive/direct2-20020526.zip
* Mon May 20 00:00:00 JST 2002 Naoyuki Sawa
- ¥Õ¥¡¥¤¥ë¤«¤é°ìʸ»ú¤Å¤ÄÆÉ¤ß¹þ¤à
P/ECE¤Ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤«¤é¥Ç¡¼¥¿¤òÆÉ¤ß¹þ¤àAPI¡ÖpceFileReadSct()¡×¤¬¤¢¤ê¤Þ¤¹¡£
¤³¤ÎAPI¤Î·çÅÀ¤È¤·¤Æ¡¢
¥Õ¥¡¥¤¥ë¤Î£´£Ë£Âñ°Ì¤Î°ÌÃÖ¤«¤é¤·¤«ÆÉ¤ß¹þ¤ß³«»Ï¤Ç¤¤Ê¤¤
¤È¤¤¤¦ÅÀ¤¬µó¤²¤é¤ì¤Þ¤¹¡£Î㤨¤Ð¡¢
¡Ö¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤«¤é8191(=8KB-1)¥Ð¥¤¥ÈÌܤΥǡ¼¥¿¤ò1¥Ð¥¤¥È¤À¤±»È¤¤¤¿¤¤¡×¾ì¹ç¡¢
¤¤¤Ã¤¿¤ó¡¢¥Ð¥Ã¥Õ¥¡¤Ë4096¥Ð¥¤¥ÈÌÜ¡Á8191¥Ð¥¤¥ÈÌܤΥǡ¼¥¿¤òÆÉ¤ß¹þ¤ó¤Ç¡¢
¥Ð¥Ã¥Õ¥¡¤ÎÃæ¤Î4095¥Ð¥¤¥ÈÌܤò¼è¤ê½Ð¤¹¡¢¤Ê¤ó¤Æ¤³¤È¤ò¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
pceFileReadSct(&fa, buffer, 8191 / 4096, 4096);
data = buffer[4095];
»þ´ÖŪ¤Ë¤â(1¥Ð¥¤¥È»È¤¤¤¿¤¤¤À¤±¤Ê¤Î¤Ë¡¢4KB¤ÎžÁ÷¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹)¡¢
¶õ´ÖŪ¤Ë¤â(1¥Ð¥¤¥È»È¤¤¤¿¤¤¤À¤±¤Ê¤Î¤Ë¡¢4KB¤Î¥Ð¥Ã¥Õ¥¡¤¬É¬ÍפǤ¹)¡¢Èó¾ï¤Ë¥à¥À¤Ç¤¹¡£
¤½¤³¤Ç¡¢pceFileReadSct()¤Ë¤Ï¡¢¤³¤Î·çÅÀ¤òÄ¢¾Ã¤·¤Ë¤¹¤ë¡¢ÁÇÀ²¤é¤·¤¤µ¡Ç½¤¬È÷¤ï¤Ã¤Æ¤¤¤Þ¤¹¡£
ÆÉ¤ß¹þ¤à¥Ð¥Ã¥Õ¥¡¤Î¥¢¥É¥ì¥¹¤ËNULL¤ò»ØÄꤹ¤ë¤È¡¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¾å¤Ç¤Î¥»¥¯¥¿¥¢¥É¥ì¥¹¤ò
ľÀÜ¡¢ÆÀ¤ë¤³¤È¤¬½ÐÍè¤ë¤Î¤Ç¤¹¡£¸å¤Ï¡¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¾å¤Î¥Ç¡¼¥¿¤ËľÀÜ¥¢¥¯¥»¥¹¤¹¤ì¤Ð£Ï£Ë¡£
¤³¤Îµ¡Ç½¤òÍøÍѤ·¤Æ¡¢¥Õ¥¡¥¤¥ë¤«¤é°ìʸ»ú¤Å¤ÄÆÉ¤ß¹þ¤à¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
http://www.piece-me.org/archive/read-20020519.zip
¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¾å¤Î¥Ç¡¼¥¿¤ËľÀÜ¥¢¥¯¥»¥¹¤Ç¤¤ë¤³¤Îµ¡Ç½¡¢¤¹¤´¤¯µ¤¤ËÆþ¤Ã¤Æ¤Þ¤¹¡£
À߷׼ԤαÑÃǤËÇï¼ê¡ª
º£²ó¤Î¥Í¥¿¤Ï¡¢¡Ö"P/ECE" Official WebPage¡×¤Î¡Ö³«È¯¼Ô·Ç¼¨Èġפè¤êĺ¤¤Þ¤·¤¿¡£
* Fri May 17 22:30:00 JST 2002 Naoyuki Sawa
- ´Ø¿ô¥Ý¥¤¥ó¥¿·¿¤Ë¥¥ã¥¹¥È¤·¤Æ¤Ï¤¤¤±¤Ê¤¤
Á°²ó¤Î¼Â¸³¤Ç¡¢InitFlashAcc()¤òľÀÜ¥¢¥É¥ì¥¹»ØÄꤷ¤Æ¡¢¸Æ¤Ó½Ð¤·¤Þ¤·¤¿¡£
¤½¤Î¤È¤µ¤ÉÕ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢pcc33(P/ECE³«È¯´Ä¶ÉÕ°¤Î£Ã¥³¥ó¥Ñ¥¤¥é)¤Ç¡¢
API¥¢¥É¥ì¥¹¤òľÀÜ»ØÄꤷ¤Æ¸Æ¤Ó½Ð¤¹¾ì¹ç¡¢Èù̯¤Ê¥³¡¼¥Ç¥£¥ó¥°¤Î°ã¤¤¤È
ºÇŬ²½¤ÎÍ̵¤Ë¤è¤Ã¤Æ¡¢´üÂÔÄ̤ê¤Î·ë²Ì¤Ë¤Ê¤é¤Ê¤¤¤³¤È¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£
·ëÏÀ¤«¤é¸À¤¤¤Þ¤¹¤È¡¢
¡Ö´Ø¿ô¤Î¥¢¥É¥ì¥¹¤ò¼¨¤¹¿ôÃͤò¡¢´Ø¿ô¥Ý¥¤¥ó¥¿·¿¤Ë¥¥ã¥¹¥È¤·¤Æ¤Ï¤¤¤±¤Ê¤¤¡×
¤ß¤¿¤¤¤Ç¤¹¡£
¸·Ì©¤Ê£Ã¸À¸ì¤Î»ÅÍͤȤ·¤Æ¤Ï¡¢¤³¤ì¤ÏÀµ¤·¤¯Æ°¤«¤Ê¤¯¤ÆÀµ²ò¤Ê¤Î¤«¤âÃΤì¤Þ¤»¤ó¤¬¡¢
Á°½Ò¤ÎÄ̤ꡢÈù̯¤Ê¥³¡¼¥Ç¥£¥ó¥°¤Î°ã¤¤¤äºÇŬ²½¥ª¥×¥·¥ç¥ó¤ÎÍ̵¤Ë¤è¤Ã¤Æ¡¢
ư¤¤¤¿¤êư¤«¤Ê¤«¤Ã¤¿¤ê¤¹¤ë¤Î¤Ç¡¢¤Á¤ç¤Ã¤È¤Ä¤Þ¤Å¤¤Þ¤·¤¿¡£
¤½¤ì¤Ç¤Ï¡¢Îã¤òµó¤²¤Þ¤¹¡£
pceLCDTrans() API¤Î¥¢¥É¥ì¥¹¤Ï¡¢BIOS 1.18¤Ç¤Ï¡¢0x00c034aa¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¤³¤Î¥¢¥É¥ì¥¹¤òľÀܸƤӽФ¹£Ã¥×¥í¥°¥é¥à¤Ï¡¢Ä¾´¶Åª¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦¡£
<Îã1.c>
((void (*)())0x00c034aa)();
¤È¤³¤í¤¬¤³¤ì¤Ï¡¢ºÇŬ²½¤ÎÍ̵¤Ë´Ø¤ï¤é¤º¡¢Àµ¤·¤¯Æ°ºî¤·¤Þ¤»¤ó¡£
pcc33¤Ë-b¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢£Ã¥³¥ó¥Ñ¥¤¥é¤¬À¸À®¤·¤¿¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤ò
¸«¤Æ¤ß¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
<Îã1.ps>
xcall 0x00c034aa
°ì¸«¡¢Àµ¤·¤¯¸«¤¨¤Þ¤¹¤¬¡¢¼Â¤ÏÀµ¤·¤¯¤Ê¤¤¤Î¤Ç¤¹¡£
C33(P/ECE¤ÎCPU)¤Ç¤Ï¡¢Ä¾Ãͤò°ú¿ô¤Ë¼è¤ëcallÌ¿Îá¤Ï¡¢ÁêÂÐ¥¢¥É¥ì¥¹call¤Ç¤¹¡£
¤Ä¤Þ¤ê¤³¤ì¤Ï¡¢¡Ö¤³¤ÎÌ¿Îá¤Î¼¡¤Î¥¢¥É¥ì¥¹¡Ü0x00c034aa¡×¤Ø¤ÎcallÌ¿Îá¤Ê¤Î¤Ç¤¹¡£
¥³¥ó¥Ñ¥¤¥é¤«¥¢¥»¥ó¥Ö¥é¤¬¡¢0x00c034aa¤ÏÀäÂÐ¥¢¥É¥ì¥¹¤À¤Èǧ¼±¤·¤Æ¤¤¤ì¤Ð¡¢
ÁêÂÐ¥¢¥É¥ì¥¹¤Ø¤ÎÊÑ´¹¤¬´üÂԤǤ¤ë¤Î¤Ç¤¹¤¬¡¢¤½¤¦¤Ï¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤Ç¤¹¡£
C33¤ÇÀäÂÐ¥¢¥É¥ì¥¹call¤ò¹Ô¤¦¤Ë¤Ï¡¢¥¢¥É¥ì¥¹Ãͤò¤¤¤Ã¤¿¤ó¥ì¥¸¥¹¥¿¤ËÂåÆþ¤·¡¢
¥ì¥¸¥¹¥¿¤ò²ð¤·¤Æcall¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤½¤³¤Ç¡¢¼¡¤Î¤è¤¦¤Ë½ñ¤¤¤Æ¤ß¤Þ¤¹¡£
<Îã2.c>
void (*fn)() = (void (*)())0x00c034aa;
fn();
¤¹¤ë¤È¡¢¤ª¤ª¤è¤½´üÂÔÄ̤ê¤Ë¡¢¼¡¤Î¤è¤¦¤Ê¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤¬À¸À®¤µ¤ì¡¢
<Îã2.ps>
xld.w [%sp+4],%r0
xld.w %r10,0x00c034aa
xld.w [%sp],%r10
xld.w %r0,[%sp]
call %r0
Àµ¤·¤¯Æ°ºî¤·¤Þ¤¹¡£¤É¤¦¤ä¤é¡¢¥¢¥É¥ì¥¹¤òľÀÜ»ØÄꤷ¤ÆAPI¤ò¸Æ¤Ó½Ð¤¹¤Ë¤Ï¡¢
´Ø¿ô¥Ý¥¤¥ó¥¿·¿¤ÎÊÑ¿ô¤Ë¥¢¥É¥ì¥¹¤òÂåÆþ¤·¤Æ¤«¤é¡¢¸Æ¤Ó½Ð¤»¤Ð¤¤¤¤¤è¤¦¤Ç¤¹¡£
¤È¤³¤í¤¬¡ª¡ª
pcc33¤ËºÇŬ²½¥¹¥¤¥Ã¥Á-O2¤òÉÕ¤±¤ë¤È¡¢¤³¤ì¤âÀµ¤·¤¯Æ°¤«¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
-O2¤òÉÕ¤±¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¾ì¹ç¤Î¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤Ï¡¢¤³¤¦¤Ê¤ê¤Þ¤¹¡£
<Îã2.ps ºÇŬ²½>
xcall 0x00c034aa
¤´Í÷¤ÎÄ̤ꡢÎã1¤ÈƱ¤¸¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤¬À¸À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥³¥ó¥Ñ¥¤¥é¤ÎºÇŬ²½¤Ë¤è¤ê¡¢ÊÑ¿ô¤Ø¤ÎÂåÆþ¤¬¾Êά¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿¤«¤é¤Ç¤¹¡£
¢¨¤½¤â¤½¤â£Ã¸À¸ì»ÅÍͤËÈ¿¤¹¤ë¤³¤È¤ò¤ä¤Ã¤Æ¤¤¤ë¤Î¤Ç¶¯¤¯¤Ï¸À¤¨¤Ê¤¤¤Î¤Ç¤¹¤¬¡¢
¢¨¤³¤ÎºÇŬ²½¤ÏÌäÂê¤À¤È»×¤¤¤Þ¤¹¡£
¢¨Á°½Ò¤ÎÄ̤ꡢC33¤Ç¤Ï¡Öcall ľÃ͡פȡÖcall ¥ì¥¸¥¹¥¿¡×¤Î¤Õ¤ë¤Þ¤¤¤Ï¡¢
¢¨Á´¤¯°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ºÇŬ²½¤Ë¤è¤Ã¤Æ¡¢
¢¨ ¡ÖľÃÍ -> ÊÑ¿ô; ÊÑ¿ô -> ¥ì¥¸¥¹¥¿; call ¥ì¥¸¥¹¥¿¡×
¢¨¤È¤¤¤¦½èÍý¤ò¡¢
¢¨ ¡Öcall ľÃÍ¡×
¢¨¤ËÃÖ¤´¹¤¨¤ë¤³¤È¤ÏÀäÂФ˽ÐÍè¤Ê¤¤¤Ï¤º¤Ç¤¹¡£¤·¤«¤·¡¢¼Â¸³·ë²Ì¤ò¸«¤ë¸Â¤ê¡¢
¢¨pcc33¡Ê¤¬¸Æ¤Ó½Ð¤¹gcc33¡Ë¤Ï¡¢¤³¤ÎÃÖ¤´¹¤¨¤ò¹Ô¤Ã¤Æ¤·¤Þ¤¦¤è¤¦¤Ç¤¹¡£
·ë¶É¡¢ºÇŬ²½¤ÎÍ̵¤Ë¤è¤é¤ºÀµ¤·¤¯Æ°ºî¤µ¤»¤ë¤¿¤á¤Ë¤Ï¡¢¥¤¥ó¥é¥¤¥ó¥¢¥»¥ó¥Ö¥é¤Ç
½ñ¤¯¤·¤«¤Ê¤¤¤è¤¦¤Ç¤¹¡£
<Îã3.c>
asm("xld.w %r1, 0x00c034aa");
asm("call %r1");
À¸À®¤µ¤ì¤¿¥¢¥»¥ó¥Ö¥é¥½¡¼¥¹¤Ï¡¢ÅöÁ³¡¢¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
<Îã3.asm>
xld.w %r1, 0x00c034aa
call %r1
ºÇŬ²½¥¹¥¤¥Ã¥Á-O2¤òÉÕ¤±¤Æ¤â¡¢¤â¤Á¤í¤ó¡¢·ë²Ì¤ÏÊѤï¤ê¤Þ¤»¤ó¡£
<Îã3.asm ºÇŬ²½>
xld.w %r1, 0x00c034aa
call %r1
º£²ó¤Î¼Â¸³¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é
http://www.piece-me.org/archive/direct-20020517.zip
* Thu May 16 12:00:00 JST 2002 Naoyuki Sawa
- ¥Õ¥é¥Ã¥·¥å¥á¥â¥êAPI¤ò¥à¥ê¥ä¥ê»È¤¦
P/ECE¤¦¤¿¤ï¤ì¤ë¤â¤Î·×²è¤Î°ì´Ä¤Ç¡¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¤ÎľÀܽñ¤´¹¤¨¤ò»î¤·¤Þ¤·¤¿¡£
¤Ê¤¼¤³¤ó¤Ê¤³¤È¤ò»î¤·¤¿¤«¤È¤¤¤¦¤È¡¢Â礤ʲèÁü¥Ç¡¼¥¿¤ò¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¾å¤Ë
ÃÖ¤¤¤¿¤Þ¤ÞÍøÍѤ¹¤ë¤¿¤á¤Ë¡¢¼Â¹Ô»þ¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Ç¥Õ¥é¥°¤ò¹Ô¤¦¤¿¤á¤Ç¤¹¡£
¤µ¤Æ¡¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¤òľÀܽñ¤´¹¤¨¤ë¤¿¤á¤ÎAPI¤È¤·¤Æ¡¢
pceFlashErase()¤ÈpceFlashWrite()¤¬ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹¡£(¤¿¤À¤·Èó¸ø¼°¤Ç¤¹)
pceFlashErase()¤ÈpceFlashWrite()¤Ï¡¢piece.h¤ËºÜ¤Ã¤Æ¤¤¤ë¤È¤³¤í¤ò¸«¤ë¤È¡¢
¥æ¡¼¥¶¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é»È¤¨¤ë¤è¤¦¤Ë¸«¤¨¤Þ¤¹¤¬¡¢¼Â¤Ï»È¤¨¤Þ¤»¤ó¡£
¥«¡¼¥Í¥ë¥µ¡¼¥Ó¥¹¥Ù¥¯¥¿¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡£
pceFlashErase()¤ÈpceFlashWrite()¤ò¥«¡¼¥Í¥ë¥µ¡¼¥Ó¥¹¥Ù¥¯¥¿¤ËÅÐÏ¿¤¹¤ë¤¿¤á¤Î
InitFlashAcc()¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤ë(fmacc.c)¤Î¤Ç¤¹¤¬¡¢¤É¤³¤«¤é¤â¸Æ¤Ð¤ì¤Æ¤¤¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢pceFlashErase()¤ÈpceFlashWrite()¤ËÂбþ¤¹¤ë¥Ù¥¯¥¿¥¨¥ó¥È¥ê¤Ï¡¢
¥Ç¥Õ¥©¥ë¥È¤ÎUnusedKsVector()¤ò»Ø¤·¤¿¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
UnusedKsVector()¤Ï²¿¤â¤»¤º¤Ë-1¤òÊÖ¤¹´Ø¿ô(pcekn.c)¤Ê¤Î¤Ç¡¢
¥æ¡¼¥¶¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬pceFlashErase()¤äpceFlashWrite()¤ò¸Æ¤Ó½Ð¤¹¤È¡¢
²¿¤â¤»¤º¤Ë-1¤òÊÖ¤¹¤À¤±¤Ê¤Î¤Ç¤¹¡£
BootEntry()½é´ü²½´Ø¿ô(pcekn.c)¤«¤é¡¢³Æ¼ï¥µ¥Ö¥·¥¹¥Æ¥à¤Î½é´ü²½¤¬¸Æ¤Ð¤ì¡¢
¥«¡¼¥Í¥ë¥µ¡¼¥Ó¥¹¥Ù¥¯¥¿¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£
InitFlashAcc()¤â¤³¤³¤«¤é¸Æ¤Ð¤ì¤ë¤Ù¤¤À¤È»×¤¦¤Î¤Ç¤¹¤¬¡¢¸Æ¤Ó˺¤ì¤Ç¤·¤ç¤¦¤«¡£
¤½¤ì¤È¤â¡¢¥Õ¥é¥Ã¥·¥å¥á¥â¥ê¤Î½ñ¤´¹¤¨¤Ï´í¸±¤Ê¤Î¤Ç¡¢¥æ¡¼¥¶¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é
ÍøÍѤǤ¤Ê¤¤¤è¤¦¤Ë¡¢¤ï¤¶¤È¸Æ¤ó¤Ç¤¤¤Ê¤¤¤Î¤Ç¤·¤ç¤¦¤«¡£
¥Ù¥¯¥¿¥¨¥ó¥È¥ê¤ÏÍѰդµ¤ì¤Æ¤¤¤ë¤È¤³¤í¤ò¸«¤ë¤È¡¢InitFlashAcc()¤Î¸Æ¤Ó˺¤ì¤Î
²ÄǽÀ¤¬¹â¤¤¤è¤¦¤Ë»×¤¦¤Î¤Ç¤¹¤¬¡Ä¡Ê¤ï¤¶¤È¤À¤Ã¤¿¤é¤´¤á¤ó¤Ê¤µ¤¤¡Ë
pceFlashErase()¤ÈpceFlashWrite()¤ò¥æ¡¼¥¶¡¼¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é»È¤¦¤Ë¤Ï¡¢
²¿¤È¤«¤·¤ÆInitFlashAcc()¤ò¸Æ¤Ó½Ð¤·¡¢¥«¡¼¥Í¥ë¥µ¡¼¥Ó¥¹¥Ù¥¯¥¿¤òÀßÄꤷ¤Æ¤ä¤é¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
º£²ó¤Ï¡¢Èó¾ï¤Ë´í¸±¤ÊÊýË¡¤Ç¤¹¤¬¡¢¥¢¥É¥ì¥¹·è¤áÂǤÁ¤Ç¸Æ¤Ó½Ð¤¹¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
BIOS¤Î¥Ð¡¼¥¸¥ç¥ó¤¬ÊѤï¤ë¤È¡¢¥¢¥É¥ì¥¹¤â¤º¤ì¤ë¤Î¤Ç¡¢Â¿Ê¬Æ°¤«¤Ê¤¯¤Ê¤ë¤È»×¤¤¤Þ¤¹¡£
¼Â¸³¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é
http://www.piece-me.org/archive/flash-20020516.zip
¼Â¸³ÍÑ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¤½¤ÎÆâÍÆ¤ò¡¢¥Õ¥¡¥¤¥ëAPI¤Ç¤Ï¤Ê¤¯¥Õ¥é¥Ã¥·¥å¥á¥â¥êAPI¤ò»È¤Ã¤Æ¡¢
ľÀܽñ¤´¹¤¨¤Æ¤¤¤Þ¤¹¡£(¢¨Á°½Ò¤Î¤È¤ª¤ê¡¢BIOS 1.18 ÀìÍѤǤ¹¡ª)
* Mon Feb 4 20:16:32 JST 2002 Naoyuki Sawa
- ¥«¡¼¥Í¥ë¤¤¤Á¤ã¤â¤ó¥³¡¼¥Ê¡¼½ÐÄ¥Èǡʥ饤¥Ö¥é¥êÊÔ¡Ë
µ×¡¹¤Ë¡¢¥·¥ó¥×¥ë¥é¥¤¥Ö¥é¥ê¤Ç¥ß¥Ë¥²¡¼¥à¤òºî¤Ã¤Æ¤ß¤è¤¦¤È»×¤¤¤Þ¤·¤¿¡£
PieceSystem Ver1.18¤ÇÄɲ䵤줿¡¢¥·¥ó¥×¥ë¥é¥¤¥Ö¥é¥ê¤Î¿·µ¡Ç½¤â»È¤Ã¤Æ¤ß¤¿¤¤¤Ç¤¹¤Í¡£...
C:\usr\PIECE\lib\simple.lib: Warning: Unresolved external symbol 'va_end'.
C:\usr\PIECE\lib\simple.lib: Warning: Unresolved external symbol 'va_start'.
...¤½¤ì°ÊÁ°¤ÎÌäÂê¤Ç¤·¤¿¡£¥ê¥ó¥¯¤Ç¤¤Ê¤¯¤Ê¤Ã¤Æ¤Þ¤¹(;;)
ºÆ¸½ÊýË¡¤Ï¼¡¤ÎÄ̤ê¤Ç¤¹¡£ÉÕ°¤Îsimple¥×¥í¥°¥é¥à¤Ç¡¢prog.txt¤ÎÆó¹ÔÌܤò¡¢
printstr("SKI GAME");
¤«¤é¡¢
siprintf("SKI GAME");
¤ËÊѹ¹¤·¤Æmake¤¹¤ë¤È¡¢¾åµ¤Î¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Æ¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤ÏÀ¸À®¤µ¤ì¤Þ¤»¤ó¡£¡¡
Ëͤ¿¤Á¤ÎP/ECE³«È¯´Ä¶¤Ç¤Ï¡¢va_start¤äva_end¤Ï¥Þ¥¯¥í¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢
¥·¥ó¥×¥ë¥é¥¤¥Ö¥é¥ê¤ÎºîÀ®´Ä¶¤Ç¤Ï¡¢va_start¤äva_end¤¬´Ø¿ô¤Ë¤Ê¤Ã¤Æ¤¿¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£
PieceSystem Ver1.18¤¬¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¡¢¤â¤¦°ì½µ´Ö°Ê¾å·Ð¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤È¤Ã¤¯¤Ëȯ³Ð¤·¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤·¡¢¼¡²ó¤Î¥ê¥ê¡¼¥¹¤Ç¤Ï½¤Àµ¤µ¤ì¤ë¤È»×¤¤¤Þ¤¹¤¬...
¥·¥ó¥×¥ë¥é¥¤¥Ö¥é¥ê¤Ï¤ª¼ê·Ú¡¦¹âµ¡Ç½¤Ç¡¢¤«¤Ê¤êµ¤¤ËÆþ¤Ã¤Æ¤¿¤À¤±¤Ë¡¢¤Á¤ç¤Ã¤ÈÄˤ¤¤È¤³¤í¤Ç¤¹¡£
* Tue Jan 29 20:20:03 JST 2002 Naoyuki Sawa
- ¤ª¤Ç¥Þ¥ë¹â®ÈÇ
ºòÆü¤Î¸¦µæµÏ¿¤Ç¤Á¤ç¤Ã¤Èͽ¹ð(?)¤·¤¿Ä̤ꡢ¤ª¤Ç¥Þ¥ë¤Ë¹â®ÈÇpceLCDDrawObject¤òÁȤ߹þ¤ó¤Ç¤ß¤Þ¤·¤¿¡£
ºòÆü¤Î»þÅÀ¤Ç¤Ï¡¢Å¾Á÷¸µ¥Ó¥Ã¥È¥Þ¥Ã¥×¤Ï2bit¥Ç¡¼¥¿maskÉÕ¤¡¦È¿Å¾¤Ê¤·¡¢¤À¤±¤ËÂбþ¤·¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
¤ª¤Ç¥Þ¥ë¹â®ÈǤËÁȤ߹þ¤ó¤À¤â¤Î¤Ï¡¢Å¾Á÷¸µ¥Ó¥Ã¥È¥Þ¥Ã¥×¤Ï2bit¥Ç¡¼¥¿maskÉÕ¤¡¢¤Þ¤¿¤Ï¡¢mask¤Ê¤·¡£
¾å²¼º¸±¦È¿Å¾¤Ë¤âÂбþ¤·¤Þ¤·¤¿¡£¥³¡¼¥ÉŸ³«¤·¤Þ¤¯¤Ã¤¿·ë²Ì¡¢8KB¶á¤¤¥µ¥¤¥ºÁý²Ã¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
¥ª¥ê¥¸¥Ê¥ë¤ÎpceLCDDrawObject¤¬¡¢¤¢¤Þ¤ê¹â®²½¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿Íýͳ¤¬¡¢¤è¤¯Íý²ò¤Ç¤¤Þ¤·¤¿¡£
Á´¤Æ¤Î¥×¥í¥°¥é¥à¤¬¹â®ÉÁ²è¤òÍ׵᤹¤ë¤ï¤±¤Ç¤â¤Ê¤¤¤Î¤Ë¡¢¤¢¤Þ¤êÂ礤ʥ롼¥Á¥ó¤Ë¤Ç¤¤Ê¤¤¤Ç¤¹¤è¤Í¡£
¤µ¤Æ¡¢¤ª¤Ç¥Þ¥ë¥Ù¥ó¥Á¤Î·ë²Ìȯɽ¤Ç¤¹¡£Æ±¤¸¥»¡¼¥Ö¥Ç¡¼¥¿¤ò»È¤Ã¤Æ¡¢¥µ¥¦¥ó¥ÉON¤Î¾õÂ֤Ǥª¤Ç¤«¤±¤·¡¢
¤ª¤Ç¤«¤±³«»Ï¡Áµ¢´Ô¤Þ¤Ç¤Î»þ´Ö¤ò·×¬¤·¤Þ¤·¤¿¡£¥¢¥¤¥Æ¥àȯ¸«²ó¿ô¤Î°ã¤¤¤â±Æ¶Á¤·¤Þ¤¹¤¬¡¢¤¢¤ëÄøÅÙ¤Î
Ìܰ¤ˤϤʤë¤È»×¤¤¤Þ¤¹¡£¤¢¡¢pceAppSetProcPeriod¤È¤«¤ÎÄ´À°¤Ï¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¿®¤¸¤Æ¤¯¤À¤µ¤¤(^^;
STATUS: POW=652 INT=886 DEX=682 2930J
¥¢¥¯¥¢¥×¥é¥¹¥Ó¥ë¤Ø¤ª¤Ç¤«¤±¡Áµ¢´Ô¤Þ¤Ç
¤ª¤Ç¥Þ¥ë(ËÜʪ) -> £¸Ê¬£´£µÉÃ
¤ª¤Ç¥Þ¥ë¹â®ÈÇ -> £µÊ¬£µ£°ÉÃ
¿ô»ú¤Ç¸«¤ë¤È¤¢¤Þ¤ê¹â®²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¤¬¡¢¥µ¥¦¥ó¥ÉOFF¤Ë¤«¤Ê¤ê¶á¤¤Â®Å٤ˤϤʤ俤Ȼפ¤¤Þ¤¹¡£
¤â¤Ã¤È¤â¡¢¤ª¤Ç¥Þ¥ë¹â®ÈǤΰյÁ¤Ï¤½¤ì¼«ÂΤˤ¢¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢
¡Ö¤³¤ì¤°¤é¤¤¤¢¤ª¤Ã¤Æ¤ª¤±¤Ð¡¢¤À¤ì¤«(ËܲȤǤâ²Ä)pceLCDDrawObject¤òŰÄìŪ¤Ë¹â®²½¤·¤Æ¤¯¤ì¤ë¤Î¤Ç¤Ï¡©¡×
¤È¤¤¤¦ÅÀ¤Ë¤¢¤Ã¤¿¤ê¤·¤Þ¤¹¡£¤è¤í¤·¤¯¤ª´ê¤¤¤·¤Þ¤¹¡Á(^^;
* Tue Jan 29 20:20:03 JST 2002 Naoyuki Sawa
- ¥«¡¼¥Í¥ë¤¤¤Á¤ã¤â¤ó¥³¡¼¥Ê¡¼½ÐÄ¥ÈÇ
BIOS1.18¸½ºß¡¢pceLCDDrawObject¤Î2bit¥Ç¡¼¥¿(mask̵¤·)ÉÁ²è¤Ë¤ÏÉÔ¶ñ¹ç¤¬¤¢¤ë¤è¤¦¤Ç¤¹¡£
ºÆ¸½¥×¥í¥°¥é¥à¤Ï¤³¤Á¤é¡£(¤Þ¤¿¤Ï¡¢¥È¥Ã¥×¥Ú¡¼¥¸¤Î¥ê¥ó¥¯¤«¤é)
http://www.piece-me.org/archive/drawerr-20020129.zip
ºÆ¸½ÊýË¡¡§
drawerr.pex¤òžÁ÷¤·¡¢¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£64x16¥Ô¥¯¥»¥ë¤Î2bit¥Ç¡¼¥¿(mask̵¤·)¤òº¸±¦È¿Å¾¤ÇÉÁ²è¤¹¤ë¡¢Ã±½ã¤Ê¥×¥í¥°¥é¥à¤Ç¤¹¡£
¥Ñ¥Ã¥É¤Î¾å²¼º¸±¦¤Ç¥¥ã¥é¥¯¥¿¤òư¤«¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£º¸±¦¤Ëư¤«¤¹¤È¡¢»þ¡¹¥¥ã¥é¥¯¥¿¤¬Êø¤ì¤ë¤Î¤¬³Îǧ¤Ç¤¤ë¤È»×¤¤¤Þ¤¹¡£
¥×¥í¥°¥é¥à¤ò½ªÎ»¤¹¤ë¤Ë¤Ï¡¢A¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£
¸¶°ø¡§
pceLCDDrawObject¤Ï¡¢2bit¥Ç¡¼¥¿(mask̵¤·)¤òÉÁ²è¤¹¤ë¤È¤¡¢ÆÃÄê¤Î¾ò·ï¤Ç¹â®¥ë¡¼¥Á¥ó¤ò»È¤¦¤è¤¦¤Ëºî¤é¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£
¹â®¥ë¡¼¥Á¥ó¤¬»È¤ï¤ì¤ë¾ò·ï¤Ï¡¢
¡¦Å¾Á÷ÀèXºÂɸ¤¬4¤ÎÇÜ¿ô¤Ç¤¢¤ë¤³¤È¡£
¡¦Å¾Á÷¸µXºÂɸ¤¬4¤ÎÇÜ¿ô¤Ç¤¢¤ë¤³¤È¡£
¡¦Å¾Á÷Éý¤¬4¤ÎÇÜ¿ô¤Ç¤¢¤ë¤³¤È¡£
¤³¤ì¤é¤Î¾ò·ï¤¬Á´¤ÆËþ¤¿¤µ¤ì¤ë¤È¡¢¥Æ¡¼¥Ö¥ë¤òÍøÍѤ·¤Æ4¥Ô¥¯¥»¥ë¤Þ¤È¤á¤ÆÉÁ²è¤ò¹Ô¤¤¡¢»°ÇÜÄøÅ٤ι⮲½¤¬Ã£À®¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¤·¤«¤·¤Ê¤¬¤é¡¢º¸±¦È¿Å¾»þ¤Ë¤Ï4¥Ô¥¯¥»¥ë¤òº¸±¦µÕž¤·¤¿¥Æ¡¼¥Ö¥ë¤òÍøÍѤ¹¤Ù¤¤Ê¤Î¤Ç¤¹¤¬¡¢¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¤½¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó¡£
º¸±¦È¿Å¾¤·¤Ê¤¤¤È¤¤ÈƱ¤¸¥Æ¡¼¥Ö¥ë¤ò»È¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤¿¤á¡¢4¥Ô¥¯¥»¥ë°Üư¤¹¤ë¤´¤È¤Ë¥¥ã¥é¥¯¥¿¤¬Êø¤ì¤ë·ë²Ì¤È¤Ê¤ê¤Þ¤¹¡£
²óÈòÊýË¡¡§
¤³¤ÎÉÔ¶ñ¹ç¤¬¸½ºß¤Þ¤Ç»Ä¤Ã¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ï¡¢¤¢¤Þ¤ê2bit¥Ç¡¼¥¿(mask̵¤·)¤Ï»È¤ï¤ì¤Æ¤¤¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦¤«¡©
Ëͤ⤢¤Þ¤ê»È¤¤¤Þ¤»¤ó(^^;
¡¦2bit¥Ç¡¼¥¿(mask̵¤·)¤Ï»È¤ï¤Ê¤¤¡£2bit¥Ç¡¼¥¿maskÉÕ¤¤ÇÂåÍѤ¹¤ë¡£¤¿¤À¤·¡¢¾¯¤·Â®ÅÙÄã²¼¤·¤Þ¤¹¡£
¡¦2bit¥Ç¡¼¥¿(mask̵¤·)¤òÉÁ¤¯¤È¤¤Ï¡¢º¸±¦È¿Å¾¤Ï»È¤ï¤Ê¤¤¡£
* Mon Jan 28 21:09:06 JST 2002 Naoyuki Sawa
- ÆóÇÜ®¤¯¤Ê¤ê¤Þ¤·¤¿
ºòÆü¤Ë°ú¤Â³¤¡¢pceLCDDrawObject¤Î¹â®²½¤ÎÏÃÂê¤Ç¤¹¡£
ºòÆü¤Î¸¦µæµÏ¿¤Ç¤Ï¡¢´û¸¤ÎºÇŬ²½ºÑ¤ß¥ë¡¼¥Á¥ó¤ò»È¤ï¤»¤ÆÄº¤¯¤Î¤â¼ê¤«¤Ê¡¢¤È½ñ¤¤Þ¤·¤¿¤¬¡¢
¤Þ¤º¤ÏÎý½¬¤Î¤¿¤á¤Ë¡¢¼«Ê¬¤Ç¤â¼ÂÁõ¤·¤Æ¤ß¤ë¤³¤È¤Ë¤·¤Þ¤·¤¿¡£
¹â®ÈÇpceLCDDrawObject¤òÁȤ߹þ¤ó¤À¥½¡¼¥¹¤Ï¤³¤Á¤é
http://www.piece-me.org/archive/tstspd-20020128-src.zip
¹â®ÈÇpceLCDDrawObject¤ÎÉôʬ¤Ï¡¢¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£
-----------------------------------------------------------------------------
#define KSNO_LCDDrawObject 100 /* pceLCDDrawObject¤Î¥«¡¼¥Í¥ë¥µ¡¼¥Ó¥¹ÈÖ¹æ */
static int (*old_LCDDrawObject)(DRAW_OBJECT); /* ËÜʪ¤ÎpceLCDDrawObject¤òÊݸ */
static int
new_LCDDrawObject(DRAW_OBJECT obj)
{
PIECE_VRAM dest;
PIECE_BMP src;
int n, x, y, step, dest_stride, src_stride;
unsigned char *dest_buf, *src_mask, mask;
unsigned short *src_buf, pixel;
/* ñ½ãžÁ÷¤Ç¤Ê¤±¤ì¤Ð¡¢ËÜʪ¤ËǤ¤»¤Þ¤¹¡£ */
if(obj.param != DRW_NOMAL) return old_LCDDrawObject(obj);
/* žÁ÷¸µ¥Ó¥Ã¥È¥Þ¥Ã¥×¾ðÊó¤ò¼èÆÀ¡£
* 2bit¥Þ¥¹¥¯ÉÕ¤¥Ó¥Ã¥È¥Þ¥Ã¥×¤Ç¤Ê¤±¤ì¤Ð¡¢ËÜʪ¤ËǤ¤»¤Þ¤¹¡£
*/
src = *obj.src;
if(src.header.bpp != 2 || src.header.mask != 1) return old_LCDDrawObject(obj);
/* žÁ÷ÀèVRAM¾ðÊó¤ò¼èÆÀ¡£ */
if(obj.dest != NULL) {
dest = *obj.dest;
} else {
dest.w = DISP_X;
dest.h = DISP_Y;
dest.buf = pceLCDSetBuffer(INVALIDPTR);
}
/* žÁ÷À襯¥ê¥Ã¥Ô¥ó¥°¡£ */
if(obj.dx < obj.clip.left) {
n = obj.clip.left - obj.dx; /* º¸¤Ë¤Ï¤ß½Ð¤¿¥Ô¥¯¥»¥ë¿ô */
obj.dx = obj.clip.left;
obj.dw -= n;
obj.sx += n;
}
if(obj.dx + obj.dw > obj.clip.right) {
obj.dw = obj.clip.right - obj.dx;
}
if(obj.dw <= 0) return 0; /* ²èÌ̳° */
if(obj.dy < obj.clip.top) {
n = obj.clip.top - obj.dy; /* ¾å¤Ë¤Ï¤ß½Ð¤¿¥Ô¥¯¥»¥ë¿ô */
obj.dy = obj.clip.top;
obj.dh -= n;
obj.sy += n;
}
if(obj.dy + obj.dh > obj.clip.bottom) {
obj.dh = obj.clip.bottom - obj.dy;
}
if(obj.dh <= 0) return 0; /* ²èÌ̳° */
/* žÁ÷¸µ¥¯¥ê¥Ã¥Ô¥ó¥°¤Ï¹Ô¤¤¤Þ¤»¤ó¡£
* ¸µ¡¹»ØÄꤵ¤ì¤¿Å¾Á÷¸µ¶ë·Á¤¬Å¾Á÷¸µ¥Ó¥Ã¥È¥Þ¥Ã¥×Æâ¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤¿¤Ê¤é¤Ð¡¢
* žÁ÷À襯¥ê¥Ã¥Ô¥ó¥°¤Ë¤è¤Ã¤ÆÅ¾Á÷¸µ¤¬¤Ï¤ß½Ð¤¹¤³¤È¤Ï¤¢¤ê¤¨¤Ê¤¤¤«¤é¤Ç¤¹¡£
* ¤·¤«¤·ËÜʪ¤ÏžÁ÷¸µ¥¯¥ê¥Ã¥Ô¥ó¥°¤â¹Ô¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÅÀ¤ÏÈó¸ß´¹¤Ç¤¹¡£
*/
/* žÁ÷Àè¥Ô¥¯¥»¥ë¥¢¥É¥ì¥¹¤òµá¤á¤Þ¤¹¡£ */
dest_buf = dest.buf + dest.w * obj.dy + obj.dx;
dest_stride = dest.w /* ¥é¥¤¥ó¥¹¥È¥é¥¤¥É */
- obj.dw; /* °ì¹Ô¤Ç²¿²ó¿Ê¤à¤« */
/* žÁ÷¸µ¥Ô¥¯¥»¥ë¥¢¥É¥ì¥¹¤òµá¤á¤Þ¤¹¡£ */
n = (src.header.w * obj.sy + obj.sx) / 8;
src_buf = (unsigned short*)src.buf + n;
src_mask = src.mask + n;
src_stride = (src.header.w + 7) / 8 /* ¥é¥¤¥ó¥¹¥È¥é¥¤¥É */
- ((obj.sx & 7) + obj.dw - 1) / 8; /* °ì¹Ô¤Ç²¿²ó¿Ê¤à¤« */
/* ~~~ 8¥¹¥Æ¥Ã¥×´°Î»»þ¤Ë¿Ê¤à¤Î¤Ç¤Ï¤Ê¤¯¡¢9¥¹¥Æ¥Ã¥×ÌܤÎÀèÆ¬¤Ç¿Ê¤à¤«¤é */
y = obj.dh; /* »Ä¤ê¥é¥¤¥ó¿ô */
do {
/* 8¥Ô¥¯¥»¥ëñ°Ì¤Î¤¦¤Á¡¢²¿¥Ô¥¯¥»¥ëÌܤ«¤é³«»Ï¤¹¤ë¤«¡© */
step = obj.sx & 7;
/* ³«»ÏÅÀ¤«¤é»Ï¤Þ¤ë¤«ÅÓÃæ¤«¤é»Ï¤Þ¤ë¤«¤ï¤«¤é¤Ê¤¤¤Î¤Ç¡¢
* ½é²ó¤Ï¤¿¤È¤¨step=0¤Ç¤â¡¢¤³¤³¤ÇºÇ½é¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£
* ¢¨P/ECE¥Ó¥Ã¥È¥Þ¥Ã¥×¤Î¥Ô¥¯¥»¥ëʤӤϡ¢MSB¦¤¬º¸¤Î¥Ô¥¯¥»¥ë¤Ê¤ó¤Ç¤¹¤Í¡£
* S1C33¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Ê¤ó¤À¤«¤é¡¢LSB¦¤òº¸¤Î¥Ô¥¯¥»¥ë¤Ë¤·¤¿Êý¤¬°·¤¤¤ä¤¹¤¤¤È»×¤¦¤Î¤Ç¤¹¤¬¡£
* WindowsBMP¤ÏMSB¦¤¬º¸¤Î¥Ô¥¯¥»¥ë¤Ê¤Î¤«¤Ê¡©¤â¤·¤½¤¦¤Ê¤é¤Ð¡¢BMP¤Î»ÅÍͤ˹ç¤ï¤»¤¿¤Î¤«¤âÃΤì¤Þ¤»¤ó¡£
*/
pixel = *src_buf; /* ¥Ô¥¯¥»¥ëÊÂ¤Ó¤Ï MSB:45670123:LSB ¤Î½ç¤Ç¤¹ */
mask = *src_mask; /* ¥Ô¥¯¥»¥ëÊÂ¤Ó¤Ï MSB:01234567:LSB ¤Î½ç¤Ç¤¹ */
/* ²¿¥Ô¥¯¥»¥ëÌܤ«¤é³«»Ï¤¹¤ë¤«¤Ë¤è¤Ã¤Æ¡¢Å¬ÀڤʰÌÃÖ¤ØÈô¤Ó¹þ¤ß¤Þ¤¹¡£ */
x = obj.dw; /* »Ä¤ê¥Ô¥¯¥»¥ë¿ô */
switch(step) {
LOOP: /* ½é²ó¤Ï¤³¤³¤ÏÈô¤Ó±Û¤·¤Þ¤¹ */
/* 8¥Ô¥¯¥»¥ëñ°Ì¤Î³«»ÏÅÀ¤Ç¡¢¼¡¤Î¥Ç¡¼¥¿¤ò¼èÆÀ¤·¤Þ¤¹¡£ */
pixel = *++src_buf;
mask = *++src_mask;
#define PIXEL(p, m) \
/* ÉÔÆ©ÌÀ¥Ô¥¯¥»¥ë¤Ê¤é¡¢ÉÁ¤¤Þ¤¹¡£ */ \
if(mask >> (m) & 1) *dest_buf = pixel >> (p) * 2 & 3; \
dest_buf++; \
/* 1¥é¥¤¥óžÁ÷´°Î»¤·¤¿¤é¡¢È´¤±¤Þ¤¹¡£ */ \
if(--x == 0) break;
case 0: PIXEL(3, 7);
case 1: PIXEL(2, 6);
case 2: PIXEL(1, 5);
case 3: PIXEL(0, 4);
case 4: PIXEL(7, 3);
case 5: PIXEL(6, 2);
case 6: PIXEL(5, 1);
default/*7*/: PIXEL(4, 0); goto LOOP;
#undef PIXEL
}
/* žÁ÷À衦žÁ÷¸µ¥Ô¥¯¥»¥ë¥¢¥É¥ì¥¹¤ò¼¡¤Î¥é¥¤¥ó¤Ø¿Ê¤á¤Þ¤¹¡£ */
dest_buf += dest_stride;
src_buf += src_stride;
src_mask += src_stride;
} while(--y != 0);
return 1;
}
void
hook_LCDDrawObject()
{
/* pceLCDDrawObject¤ò¥Õ¥Ã¥¯¤·¤Þ¤¹¡£ */
old_LCDDrawObject = pceVectorSetKs(KSNO_LCDDrawObject, new_LCDDrawObject);
}
void
unhook_LCDDrawObject()
{
/* pceLCDDrawObject¤ò¥Õ¥Ã¥¯²ò½ü¤·¤Þ¤¹¡£ */
pceVectorSetKs(KSNO_LCDDrawObject, old_LCDDrawObject);
}
-----------------------------------------------------------------------------
¤µ¤Æ¡¢·ë²Ìȯɽ¤Ç¤¹¡£
ËÜʪpceLCD(È´¤Í¤ê) -> 21.207Éà ... 100%
¹â®pceLCD(È´¤Í¤ê) -> 9.718Éà ... 218% ¢¨¤³¤ì¤Ç¤¹¡ª
pclSprite (È´¤Í¤ê) -> 6.091Éà ... 348%
¤Þ¤¢¤Þ¤¢¤Ç¤¹¡£¤À¤±¤É¡¢¥¹¥×¥é¥¤¥È¥é¥¤¥Ö¥é¥ê¤Ë¤Ï±ó¤¯µÚ¤Ó¤Þ¤»¤ó¡£
¤·¤«¤â¡¢¥¹¥×¥é¥¤¥È¥é¥¤¥Ö¥é¥ê¤Î¥½¡¼¥¹¤Ë¤Ï¡Ö̤¹â®²½¡×¤È¥³¥á¥ó¥È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¥¹¥×¥é¥¤¥È¥é¥¤¥Ö¥é¥ê¤Ï¡¢º£¸å¤Þ¤À¤Þ¤À®¤¯¤Ê¤ë¤È¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦¤Í¡£¼ê¶¯¤¤¡ª
´ê¤ï¤¯¤Ð¡¢¤½¤Î;ÎϤǤÁ¤ç¤Ã¤È¤À¤±pceLCDDrawObject¤â¹â®²½¤·¤ÆÍߤ·¤¤¤È¤³¤í¤Ç¤¹¤¬...(^^;
º£²ó¼ÂÁõ¤·¤¿¹â®ÈÇpceLCDDrawObject¤Ï¡¢¼¡¤Î¾ò·ï¤¬Ëþ¤¿¤µ¤ì¤¿¾ì¹ç¤Î¤ß¹â®¥ë¡¼¥Á¥ó¤òÍøÍѤ·¡¢
°ì¤Ä¤Ç¤âËþ¤¿¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢ËÜʪ¤ÎpceLCDDrawObject¤Ë½èÍý¤òǤ¤»¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
¹â®¥ë¡¼¥Á¥ó¤¬ÍøÍѤµ¤ì¤ë¾ò·ï¤Ï¡¢¼¡¤ÎÄ̤ê¤Ç¤¹¡£
¡¦pceLCDSetObject¤Ë»ØÄꤷ¤¿param¤¬¡¢DRW_NOMAL¤Ç¤¢¤ë¤³¤È¡£
¡¦Å¾Á÷¸µ¥Ó¥Ã¥È¥Þ¥Ã¥×¤¬¡¢¡Ö2bit¥Ç¡¼¥¿maskÉÕ¤¡×¤Ç¤¢¤ë¤³¤È¡£
¤³¤Î¾ò·ï¤òËþ¤¿¤¹ÉÁ²èÍ×µá(¹â®¥ë¡¼¥Á¥ó¤¬ÍøÍѤµ¤ì¤Þ¤¹)¤Î²ó¿ô¤è¤ê¤â¡¢
¾ò·ï¤òËþ¤¿¤µ¤Ê¤¤ÉÁ²èÍ×µá(ËÜʪ¤Ë½èÍý¤òǤ¤»¤Þ¤¹)¤Î²ó¿ô¤ÎÊý¤¬°µÅÝŪ¤Ë¿¤¤¾ì¹ç¤Ï¡¢
¹â®ÈÇpceLCDDrawObject¤«¤éËÜʪ¤ÎpceLCDDrawObject¤ò¸Æ¤Ó½Ð¤¹½èÍý¤¬Áý¤¨¤ëʬ¡¢
¸µ¡¹¤Î½èÍý®ÅÙ¤è¤ê¤âÃÙ¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¤Þ¤¿¡¢ËÜʪ¤ÎpceLCDDrawObject¤Ë³Ó¤Ù¤Æ¡¢°ìÅÀ¡¢½èÍý¤ò¾Ê¤¤¤¿Éôʬ¤¬¤¢¤ê¤Þ¤¹¡£
¤½¤ì¤Ï¡¢Å¾Á÷¸µ¥Ó¥Ã¥È¥Þ¥Ã¥×¤ËÂФ¹¤ëžÁ÷¸µ¶ë·Á¤Î¥¯¥ê¥Ã¥Ô¥ó¥°½èÍý¤Ç¤¹¡£
žÁ÷¸µ¶ë·Á¤Ë¡¢Å¾Á÷¸µ¥Ó¥Ã¥È¥Þ¥Ã¥×¤ò¤Ï¤ß½Ð