Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ファミコンエミュレータを作った / Yeeh! PHP NES emulator's here!!
Search
HASEGAWA Tomoki
October 31, 2018
Technology
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ファミコンエミュレータを作った / Yeeh! PHP NES emulator's here!!
PHP勉強会@東京 #131 の発表資料です。
HASEGAWA Tomoki
October 31, 2018
More Decks by HASEGAWA Tomoki
See All by HASEGAWA Tomoki
ファミコンでPHPを動かす / PHP on the Famicom
tomzoh
2
1.6k
3Dプリンタでコレはこう作る! - マルチディスプレイ用モニタアームマウンタの作り方 / Made with a 3D Printer: DIY Multi-Display Monitor Arm Mount
tomzoh
0
170
デシリアライゼーションを理解する / Inside Deserialization
tomzoh
0
1.2k
PHPer Book Revue: CPUの創りかた / How to Build a CPU
tomzoh
0
140
超入門3Dプリンタ: 生活を便利にするモノを作ろう / Getting Started with 3D Printing: Making small things that quietly improve your daily life.
tomzoh
0
110
最新ハードウェアの中の8ビットCPU / The Hidden Power of 8-Bit CPUs in Modern Hardware
tomzoh
0
370
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
480
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
5
990
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
6
5k
Other Decks in Technology
See All in Technology
現場の暗黙知を継承するAIエージェント — 対話から生まれる長期記憶と Skills
atsukish
0
210
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
310
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
330
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
540
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.3k
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
1
300
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
190
Master Dataグループ紹介資料
sansan33
PRO
1
4.9k
VPCでもFloatingIPを使いたいんだ
y_kotani
1
140
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
2
1.7k
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
140
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
300
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
How to make the Groovebox
asonas
2
2.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
エンジニアに許された特別な時間の終わり
watany
108
250k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
400
Amusing Abliteration
ianozsvald
1
280
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Transcript
୩ஐر ϑΝϛίϯΤϛϡϨʔλΛ࡞ͬͨ
୩ஐر !UPN[PI
୩ஐر !UPN[PI ΤϛϡϨʔλͷΛॻ͖·ͨ͠
ϥΠϑϫʔΫ ςοΫΧϯϑΝϨϯεӡӦࢀՃ 8FCJ04ΞϓϦ։ൃ Ϗʔϧ $16 ϨτϩήʔϜػ ిࢠ࡞
αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ σδλϧαʔΧεגࣜձࣾ ෭ஂ$50 !UPN[PI
None
None
8FC%FWFMPQNFOUXJUI 8&"3&)*3*/( IUUQXXXEHDJSDVTDPN 0NPUFTBOEP 5PLZP
ࠓͷςʔϚ
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF/JOUFOEP'BNJDPN$POTPMF4FU'-QOH
ϑΝϛίϯΤϛϡϨʔλΛ࡞ͬͨ
ΤϛϡϨʔλ
QIQUFSNJOBMOFTFNVMBUPS
None
%FNP
IUUQTXXXIBTFHBXBUPNPLJDPNCMPHQIQUFSNJOBMOFTFNVMBUPS
͡Ίʹँࣙ
None
IUUQTCVJMEFSTDPOJPUPLZPTFTTJPOBBCDFECG
ײಈͱিಈ
ࣸܦ
ײँ
ͯ͞ຊ
͖ͬ͞ͷࣗݾհ
ϥΠϑϫʔΫ ςοΫΧϯϑΝϨϯεӡӦࢀՃ 8FCJ04ΞϓϦ։ൃ Ϗʔϧ $16 ϨτϩήʔϜػ ిࢠ࡞
αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ σδλϧαʔΧεגࣜձࣾ ෭ஂ$50 !UPN[PI
ϥΠϑϫʔΫ ςοΫΧϯϑΝϨϯεӡӦࢀՃ 8FCJ04ΞϓϦ։ൃ Ϗʔϧ $16 ϨτϩήʔϜػ ిࢠ࡞
αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ σδλϧαʔΧεגࣜձࣾ ෭ஂ$50 !UPN[PI
࣌ؒͰͤΔͱࢥ͏
ࠓ͕࣌ؒ
ΤϛϡϨʔλͷ໘ന͍ͱ͜Ζ ͘͝Ұ෦͝հ
ΤϛϡϨʔλͷ໘ന͍ͱ͜Ζ ͘͝Ұ෦͝հ Γͷ෦ʢ࠾͞ΕΕʣͲ͔͜ͷ 1)1ΧϯϑΝϨϯεPS࣍ճҎ߱ʹʜ
ϑΝϛίϯͷجૅࣝ
$16 ϑΝϛίϯͷϋʔυΣΞߏ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ ίϯτϩʔϥ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 ίϯτϩʔϥ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ίϯτϩʔϥ
83". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ίϯτϩʔϥ
83". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ը໘දࣔ ίϯτϩʔϥ
83". ,# 73". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ը໘දࣔ
ίϯτϩʔϥ
Χηοτ 83". ,# 73". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ
ը໘දࣔ ίϯτϩʔϥ
ࠓ$16ͷ
31"& wϕʔεͷΧελϜ$16ʢϦίʔʣ w "16 %."#$%໋ྩ
31"& wϕʔεͷΧελϜ$16ʢϦίʔʣ w "16 %."#$%໋ྩ "QQMF** 1$Τϯδϯʜ
CJU$16
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU YYGG
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU ΞυϨεόεCJU YYGG
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU ΞυϨεόεCJU YYGG YYGGGG ,#
ϝϞϦΞΫηε wʙ''''ͷΞυϨεΛࢦఆ wόΠτͷΛಡΈॻ͖ wରϝϞϦʢ30.3".ʣʹݶΒͳ͍
ϝϞϦϚοϓ
ϝϞϦϚοϓ YYGGGGͷ όΠτʹ Կ͕͋Δ͔
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD
Χηοτ
None
ըظతͩͬͨ
ઐ༻ήʔϜػͰͳ͘ ൚༻ήʔϜػ
None
༷ʑͳϝʔΧ͔Β ҆ՁʹήʔϜ͕ڙڅ
None
None
ϓϩάϥϜ30.
ϓϩάϥϜ30. $16όε
ϓϩάϥϜ30. $16όε ΩϟϥΫλ30.
ϓϩάϥϜ30. $16όε ΩϟϥΫλ30. 116όε
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30. $16όε ΩϟϥΫλ30. 116όε
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30. $16όε ΩϟϥΫλ30. 116όε
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30.ͷ ΞυϨεϏοτͰ
දݱͰ͖Δ
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30.ͷ ΞυϨεϏοτͰ
දݱͰ͖Δ
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30.ͷ ΞυϨεϏοτͰ
දݱͰ͖Δ C JUT
$16ͱ wϓϩάϥϜ࣮ߦڥ wϝϞϦʢ30.3".ʣ͔Β໋ྩΛಡΈࠐΜͰ࣮ߦ͢Δ w໋ྩόΠτ wύϥϝλΛ໋࣋ͭྩ͋Δ wϨδελʢมʣΛ࣋ͭ
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD 02 20 10 FB A0 FE A2 05 BD D7 07 C9 0A B0 0C CA 10 F6 AD FF 07 C9 A5 D0 02 A0 D6 20 CC 90 8D 11 40 8D 70 07 A9 A5 8D FF 07 8D A7 07 A9 0F 8D 15 $8000 $8010 $8020 $8030 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS 78 D8 A9 10 8D 00 20 A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
"-%"JNN
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ 78 D8 A9 10 8D 00 20 A2
FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ 78 D8 A9 10 8D 00 20 A2
FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελʹΛೖ͢Δ
%45"BCT
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS "ϨδελʹΛೖ͢Δ
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS "ϨδελʹΛೖ͢Δ "ϨδελͷΛʹ֨ೲ͢Δ
ΤϛϡϨʔλͷ$16໋ྩ࣮
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ ˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ case 'LDA': $this->registers->a = $this->fetch($this->registers->pc); $this->registers->p->negative = !!($this->registers->a
& 0x80); $this->registers->p->zero = !$this->registers->a; break; ˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞
˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞ %45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ
˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞ %45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ case 'STA': $this->write( $this->fetch($this->registers->pc, "Word"), $this->registers->a);
break;
Ͳ͏ࢥ͍·͔͢ʁ͍͠ʁ
ΉͬͪΌ۪ͳίʔυ
$16ͷ໋ྩ࠷খ୯Ґ
$16ͷ໋ྩ࠷খ୯Ґ
$16ͷ໋ྩ࠷খ୯Ґ ͜͏͢Δ͔͠ͳ͍
໘ന͍Ͱ͢Ͷʂ
ͪͳΈʹʜ
QIQUFSNJOBMHBNFCPZFNVMBUPS
ήʔϜϘʔΠ
ήʔϜϘʔΠ #Z5SBOTGSPN+1&(WFSTJPOBOESFNPWFXIJUFCBDLHSPVOE0SJHJOBMCZ&WBO"NPT.FEJB(BNF#PZ'-KQH 1VCMJD%PNBJO IUUQTDPNNPOTXJLJNFEJBPSHXJOEFYQIQ DVSJE
ήʔϜϘʔΠ w;ϕʔεͷΧελϜ$16ʢγϟʔϓʣ
ήʔϜϘʔΠ w;ϕʔεͷΧελϜ$16ʢγϟʔϓʣ wΞυϨεόεCJUσʔλόεCJU ʢϑΝϛίϯͱಉ͡ʣ
/** * Opcode #0x01. * LD BC, nn * @param
Core $core */ public static function opcode1(Core $core) { $core->registerC = $core->memoryRead($core->programCounter); $core->registerB = $core->memoryRead(($core->programCounter + 1) & 0xFFFF); $core->programCounter = ($core->programCounter + 2) & 0xFFFF; }
/** * Opcode #0x01. * LD BC, nn * @param
Core $core */ public static function opcode1(Core $core) { $core->registerC = $core->memoryRead($core->programCounter); $core->registerB = $core->memoryRead(($core->programCounter + 1) & 0xFFFF); $core->programCounter = ($core->programCounter + 2) & 0xFFFF; } #$Ϩδελʹ໋ྩͷ࣍ͷΛ֨ೲ͢Δ
/** * Opcode #0x02. * LD (BC), A * @param
Core $core */ public static function opcode2(Core $core) { $core->memoryWrite( ($core->registerB << 8) + $core->registerC, $core->registerA); }
/** * Opcode #0x02. * LD (BC), A * @param
Core $core */ public static function opcode2(Core $core) { $core->memoryWrite( ($core->registerB << 8) + $core->registerC, $core->registerA); } #$ϨδελͷΞυϨεʹ"ϨδελͷΛ֨ೲ͢Δ
ಉ͡ʂ
$16ͷΤϛϡϨʔγϣϯ ͲΜͳ$16Ͱಉ͡ײ͡ʹͳΔ
·ͱΊ
·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ ·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ wϋʔυΣΞͷ༷Λιʔείʔυͱͯ͠දݱ )BSEXBSFTQFDJpDBUJPOBT$PEF ·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ wϋʔυΣΞͷ༷Λιʔείʔυͱͯ͠දݱ )BSEXBSFTQFDJpDBUJPOBT$PEF w໘ന͍ͷͰΈΜͳಡΜͰΈͯʂͦͯ͠ॻ͍ͯΈͯʂ ࣸܦ͓͢͢Ίɻ ·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ w$16Ҏ֎ฉ͖͔ͨͬͨΒ5XJUUFSʹQIQTUVEZΛ͚ͯ ʮͬͱฉ͖͍ͨʂʯͬͯπΠʔτ͓͍͍ͯͯͩ͘͠͞ʂ wϋʔυΣΞͷ༷Λιʔείʔυͱͯ͠දݱ )BSEXBSFTQFDJpDBUJPOBT$PEF w໘ന͍ͷͰΈΜͳಡΜͰΈͯʂͦͯ͠ॻ͍ͯΈͯʂ ࣸܦ͓͢͢Ίɻ ·ͱΊ
͓ΘΓ !UPN[PI
ࠂ
None
1)1FS,BJHJ 'SJ 4VO .BSEBZT εϙϯαʔืूதʂ IUUQTQIQFSLBJHJKQ
None
1)1ΧϯϑΝϨϯεઋ τʔΫืूத ʢຊʣ ·Ͱ ઋͰͱѲखʂ
༨ஊ
༨ஊ
খֶੜൿٕ ΧηοτࣼΊࠩ͠ ༨ஊ
খֶੜൿٕ ΧηοτࣼΊࠩ͠ ͬͪ͜Λු͔ͤΔͱ ىಈ͠ͳͦ͏ ༨ஊ
খֶੜൿٕ ΧηοτࣼΊࠩ͠ ͬͪ͜Λු͔ͤΔͱ ىಈ͠ͳͦ͏ ͬͪ͜Λු͔ͤΔͱΩϟϥ͕ յΕͨΓͯ͠໘ന͍ͷ͔ʁ ༨ஊ
31"& wϕʔεͷΧελϜ$16ʢϦίʔʣ w 116 %."#$%໋ྩ
CJU$16
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU ΞυϨεόεCJU YYGG YYGGGG ,#
༨ஊ
༨ஊ
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1(
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ YYGGGG
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ ΞυϨεόεʷ ΞυϨ εόε ʷ YYGGGG
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ ΞυϨεόεʷ ΞυϨ εόε ʷ YYGGGG
YYGGGGGF .#
IUUQEPXOMPBEJOUFMDPNEFTJHOQFOUJVNEBUBTIUTQEG $$දࣔܧঝ IUUQTDPNNPOTXJLJNFEJBPSHXJOEFYQIQ DVSJE ༨ஊ
IUUQEPXOMPBEJOUFMDPNEFTJHOQFOUJVNEBUBTIUTQEG $$දࣔܧঝ IUUQTDPNNPOTXJLJNFEJBPSHXJOEFYQIQ DVSJE D0ʙD63 A3ʙA31 ༨ஊ
30.ٵ͍ग़͠ ༨ஊ
༨ஊ
༨ஊ
༨ஊ
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD ಡΈॻ͖͢Δ͜ͱͰपลσόΠεͱ ௨৴ *0 ͢Δ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه फڭઓ૪
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه फڭઓ૪ όΠΤϯσΟΞϯ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه फڭઓ૪ όΠΤϯσΟΞϯ ฏ͕๚Εͨ
͓ΘΓ !UPN[PI