、ウ、ホ・レ。シ・ク、、マ、ニ、ハ・ヨ・テ・ッ・゙。シ・ッ、ヒトノイテ、ウ、ホ・レ。シ・ク、エ゙、爨マ、ニ、ハ・ヨ・テ・ッ・゙。シ・ッ 、ウ、ホ・レ。シ・ク、livedoor ・ッ・・テ・ラ、ヒトノイテ、ウ、ホ・レ。シ・ク、エ゙、瀝ivedoor ・ッ・・テ・ラ

フワシ。

FPU

  • 。瓰loating Point Processing Unit
    • 。ヨノ簇ーセョソナタス靉・讌ヒ・テ・ネ。ラ。ヨノ簇ーセョソナタ・ウ・ラ・・サ・テ・オ。ラ
  • ツソ、ッ、ホCPU、ホテ讀ヒチネ、゚ケ、゙、、ニ、、、ェ、遙「シツソ、ホキラササヘム、ホサネ、、、。」
  • シツソア鮟サヘム、ホ・・ク・ケ・ソ、ネ、キ、ニ。「・ケ・ソ・テ・ッキチシー、ホFPU・・ク・ケ・ソ、ャ、「、。」
    • IA-32、ホCPU、ホFPU・・ク・ケ・ソ、マ8クトツクコ゚、ケ、。」
      • ・ケ・ソ・テ・ッ・ネ・テ・ラ、ST、「、、、、マST(0)、ネノスオュ、ケ、。」
      • FPU、マ・ケ・ソ・テ・ッキチシー、ハ、ホ、ヌ。「トフセ、マ・皈筵熙ォ、鬣ケ・ソ・テ・ッ・ネ・テ・ラ。ハコヌス鬢マST。ヒ、ヒテヘ、push、ケ、。」・皈筵熙ォ、鯑セタワヌ、ーユ、ホFPU・・ク・ケ・ソ、ヒニノ、゚ケ、爨ウ、ネ、マ、ヌ、ュ、ハ、、。」
  • FPU、ャ、ハ、、・キ・ケ・ニ・*1、ヒ、ェ、、、ニシツソ、サネ、ヲセケ遉マ。「シツソ、ニテハフ、ハキチシー、ヌノスクス、ケ、、ォ。「ノ簇ーセョソナタア鮟サ、ホ・ィ・゚・螂。シ・ソ、サネ、テ、ニ、、、。」
  • FPU、ーキ、ヲ、ヒ、マFPUフソホ皃ヘム、、、、ャ。「、ウ、ホFPUフソホ皃ヒ、マシ。、ホオャツァタュ、ャ、「、。」
    • FPUフソホ皃ホ・ヒ・筵ヒ・テ・ッ、マ"f"、ヌサマ、゙、。」
    • FPUフソホ皃ホタ霹ャ"F"、ス、、、ソノハャ、マターソ、ホニア、クオ。ヌス、ホフソホ皃ネニア、ク、ォサ、ニ、、、。」
    • チリ、莖鮟サ、ホシツケヤク螟ヒpush、ネシ、ヲフソホ皃マコヌク螟ヒ"p"、ャノユ、ッ。」
  • CPU、ヒFPU、ャネ、、テ、ニ、、、セケ遑「シツソ、ホキラササ、ケヤ、ヲ、ソ、皃ホタヘム、ホ・・ク・ケ・ソ、ャ、「、。」
  • FPU、ホ・・ク・ケ・ソ、マCPU、ホネニヘム・・ク・ケ・ソ、ネセッ、キタュウハ、ャーロ、ハ、。」
    • IA-32、ホFPU・・ク・ケ・ソ、マ8クト、゙、ヌ、ホテヘ、ハンツク、ヌ、ュ、・ケ・ソ・テ・ッキチシー、ホ・・ク・ケ・ソ、ヌ、「、。」
      • FPU、ホ・ケ・ソ・テ・ッ・・ク・ケ・ソ、マ・皈、・・皈筵熙ホ・ケ・ソ・テ・ッ、ネ、マーロ、ハ、。」、ソ、タ、キ。「・ケ・ソ・テ・ッケスツ、、ホニテタュ。ハLIFO、ホオュイアホホー隍ヌ、「、、ネ、、、ヲナタ。ヒ、マニア、ク、ヌ、「、。」
  • FPU、ヒ、マタヘム・・ク・ケ・ソ、ャ、「、。」
    • FPU、ヒ、マ・ケ・ニ。シ・ソ・ケ・。シ・ノ・・ク・ケ・ソ。「・ウ・・ネ・。シ・・。シ・ノ・・ク・ケ・ソ。「・ソ・ー・。シ・ノ・・ク・ケ・ソ。「FPU・、・・ケ・ネ・鬣ッ・キ・逾・ン・、・・ソ。「FPU・ェ・レ・鬣・ノ。ハ・ヌ。シ・ソ。ヒ・ン・、・・ソ、ハ、ノ、ネ、ィ、ニ、、、、筅ホ、筅「、。」
      • 、ウ、、鬢ホ・・ク・ケ・ソ、マ・皈、・CPU、ホ・・ク・ケ・ソ、ネ、マセッ、キタュウハ、ャーロ、ハ、。」
  • x86・ユ・。・゚・遙シ、ホFPU・・ク・ケ・ソ、マ8クト、゙、ヌ、ホテヘ、ハンツク、ヌ、ュ、・ケ・ソ・テ・ッキチシー、ホ・・ク・ケ・ソ、ヌ、「、。」
    • ・ケ・ソ・テ・ッ、ホコヌセ衙、ST0。ハST(0)、ハ、ノ、ネ、篷スオュ、オ、、、ウ、ネ、ャ、「、。ヒ、ネノスオュ、キ。「ーハイシST1,ST2,。ト,ST7、ネノスオュ、ケ、。」
    • ・ケ・ソ・テ・ッキチシー、ハ、ホ、ヌトフセ、マ・皈筵熙ォ、鯑セタワ、ウ、、鬢ホウニ・・ク・ケ・ソ、ヒ・「・ッ・サ・ケ、ケ、、ウ、ネ、マ、ヌ、ュ、ハ、、。」・皈筵、ホテヘ、ST、ヒス遉ヒスナ、ヘ、ニハンツク。ハpush。ヒ、キ、ニ、ォ、鬘「ノャヘラ、ヒア、ク、ニST(i)、ヒーワ、ケ。」ノヤヘラ、ヒ、ハ、テ、ソテヘ、マス遉ヒセ螟ォ、鮠隍スミ、キ。ハpop。ヒ、キ、ニセテオ、ケ、。」
  • ネニヘム・・ク・ケ・ソ、ネ、マー网、。「FPUフソホ皃ヌ、マトソ、ホテヘ。ハツィテヘ。ヒ、マサネ、、ハ、、。」
    • セ、ヒ・「・ノ・・ケ、サリト熙キ、ニ、ス、ホ・「・ノ・・ケ、ホテヘ、・ラ・テ・キ・螟ケ、。」、ウ、ホ、隍ヲ、ヒFPU、ホ・・ク・ケ・ソ、ネCPU、ホ・・ク・ケ・ソ、ネ、マサネ、、ハ、ャーロ、ハ、。」

IA-32、ホFPU、ホ・ケ・ソ・テ・ッ・・ク・ケ・ソ

  • コヌセ衙、ST0。ハST、゙、ソ、マST(0)。ヒ、ネノスオュ、キ。「ーハイシST1,。ト,ST7、ネノスオュ、ケ、。」
  • ハンツク、ヌ、ュ、テヘ、マ8クト、゙、ヌ、ハ、ホ、ヌ。「9クトフワ、ホテヘ、・ラ・テ・キ・螟ケ、、ネホ羌ー、ャネッタク、ケ、。」
  • ネニヘム・・ク・ケ・ソ、ネーロ、ハ、遙「FPUフソホ皃ヌ、マトソ、ホテヘ。ハツィテヘ。ヒ、マサネ、、ハ、、。」セ、ヒ・「・ノ・・ケ、サリト熙キ、ニ、ス、ホ・「・ノ・・ケ、ホテヘ、・ラ・テ・キ・螟ケ、。」

シツソ、ホア鮟サ

  • クスコ゚、ホ、ロ、ネ、、ノ、ホCPU、マFPU、ナコワ、キ、ニ、、、。」
    • 4・モ・テ・ネ、8・モ・テ・ネ、ホチネ、゚ケ、゚オ。エヘム、ホCPU、ヒ、マFPU、ャ、ハ、、、筅ホ、筅「、。」、ウ、ヲ、キ、ソFPU、ャ、ハ、、・キ・ケ・ニ・爨ホセケ遉マ。「シツソ、ニテハフ、ハキチシー、ヌノスクス、ケ、、ォ。「ノ簇ーセョソナタア鮟サ、ホ・ィ・゚・螂。シ・ソ、サネ、ヲ。」
  • FPU、ホア鮟サ、ケヤ、ヲ、ネ、ュ、ヒ、マ。「コヌス鬢ヒア鮟サ、ヒサネ、ヲテヘ、・ケ・ソ・テ・ッ・・ク・ケ・ソ。ハST0。チST7。ヒ、ヒテヘ、・。シ・ノ、ケ、。」、ス、キ、ニ。「、ス、ホク螟ヌア鮟サ、ホフソホ皃シツケヤ、ケ、、ホ、ャナオキソナェ、ハサネ、、ハ、ヌ、「、。」
  • ノ簇ーセョソナタソ、ホイテササ、ケヤ、、、ソ、、セケ遉マ。「コヌス鬢ヒイテササ、キ、ソ、、ーハ、ホテヘ、fldフソホ皃サネ、テ、ニ。「ST0、ヒハンツク、キ。「シ。、ヒfaddフソホ皃シツケヤ、ケ、。」

ホ罍ァ

fld	r1	;ST0、ヒ・。シ・ノ、ケ、
fadd	r2	;ST9、ヒr2、イテササ、キ。「キイフ、マST0、ヒハンツク、オ、、

シツソ、ホキラササ

call	__main
fldl	LC0

。。fldフソホ皃マ・ェ・レ・鬣・ノ、ホテヘ、FPU・・ク・ケ・ソ、ホ・ケ・ソ・テ・ッ・ネ・テ・ラ、ヒpush、ケ、。」、隍テ、ニ。「、ウ、ホ・ウ。シ・ノ、ヌ、マLC0・鬣ル・。ハ。3.2。ヒ、FPU・・ク・ケ・ソ、ホST、ヒpush、オ、、。」

|------------------|
| 3.2、ホ2ソハノスシィ     | ST
|------------------|
|                  | ST1
|------------------|
|                  | ST2
|------------------|
|                  | ST3
|------------------|
|                  | ST4
|------------------|
|                  | ST5
|------------------|
|                  | ST6
|------------------|
|                  | ST7
|------------------|
|<-----8byte------>|

。。fstpフソホ皃マFPU・・ク・ケ・ソ、ホ・ケ・ソ・テ・ッ・ネ・テ・ラ。ハコ」、マST。ヒ、ホテヘ、。「サリト熙キ、ソ・ェ・レ・鬣・ノ、ヒpop、ケ、。」

fstpl	-8(%ebp)

。。、ウ、ホ・ウ。シ・ノ、ヒ、隍遙「EBP-8、ヒST、ホテヘ。ハ3.2。ヒ、ウハヌシ、ケ、。」、ソ、タ、キ。「double、ホテヘ、ホ・オ・、・コ、マ8・ミ・、・ネ、ハ、ホ、ヌ。「EBP-8、ネEBP-4、サネヘム、ケ、。」

|------------------|
| 3.2、ホ2ソハノスシィ     | ST ------
|------------------|         |
|                  | ST1     |
|------------------|         |
|                  | ST2     |
|------------------|         |
|                  | ST3     |
|------------------|         |
|                  | ST4     |
|------------------|         |
|                  | ST5     |
|------------------|         |
|                  | ST6     |
|------------------|         |
|                  | ST7     |
|------------------|         |
|<-----8byte------>|         |
                             |popク螟マST、ホテ豼ネ、マ、ハ、、
                             |
|------------------|         |
| y=3.2、ホ2ソハノスクス   | EBP-8 <--
|                  | EBP-4
|------------------|
|                  | EBP
|------------------|
|<-----4byte------>|

。。シ。、ホ・ウ。シ・ノ、ヌEBP-8、ホテヘ、ST、ヒpush、キ、ニ、ォ、鬘「LC1、ホテヘ。ハ1.5。ヒ、ST1、ヒpush、ケ、。」

fldl	-8(%ebp)
fldl	LC1
|------------------|
| 3.2、ホ2ソハノスシィ     | ST
|------------------|
| 1.5、ホ2ソハノスシィ     | ST1
|------------------|
|                  | ST2
|------------------|
|                  | ST3
|------------------|
|                  | ST4
|------------------|
|                  | ST5
|------------------|
|                  | ST6
|------------------|
|                  | ST7
|------------------|
|<-----8byte------>|

。。シ。、ホ・ウ。シ・ノ、ヒ、隍鶸T、ネST(1)、ホテヘ、イテササ、キ、ニ。「キイフ、ST、ヒハンツク、ケ、。」、ト、゙、遙「キイフ、ネ、キ、ニST、ヒ、マ4.7(=3.2+1.5)、ャウハヌシ、オ、、。」、ス、ホコン。「ST1、ホテヘ、マ、ハ、ッ、ハ、、ウ、ネ、ヒテーユ。」

faddp	%st, %st(1)
|------------------|
| 4.7、ホ2ソハノスシィ     | ST
|------------------|
|                  | ST1
|------------------|
|                  | ST2
|------------------|
|                  | ST3
|------------------|
|                  | ST4
|------------------|
|                  | ST5
|------------------|
|                  | ST6
|------------------|
|                  | ST7
|------------------|
|<-----8byte------>|

。。、ス、キ、ニ。「シ。、ホ・ウ。シ・ノ、ヌFPU・・ク・ケ・ソ、ホ・ケ・ソ・テ・ッ、ホテヘ、EBP-16、ヒハンツク、オ、、。」

fstpl	-16(%ebp)
|------------------|
| 4.7、ホ2ソハノスシィ     | ST ------
|------------------|         |
|                  | ST1     |
|------------------|         |
|                  | ST2     |
|------------------|         |
|                  | ST3     |
|------------------|         |
|                  | ST4     |
|------------------|         |
|                  | ST5     |
|------------------|         |
|                  | ST6     |
|------------------|         |
|                  | ST7     |
|------------------|         |
|<-----8byte------>|         |
                             |popク螟マST、ホテ豼ネ、マ、ハ、、
                             |
|------------------|         |
| y=4.7、ホ2ソハノスクス   | EBP-16<--
|                  | EBP-12
|------------------|
| y=3.2、ホ2ソハノスクス   | EBP-8
|                  | EBP-4
|------------------|
|                  | EBP
|------------------|
|<-----4byte------>|

。。コヌク螟ヒx,y、スミホマ、ケ、、ソ、皃ホス猜、ャサト、テ、ソ。」 。。シ。、ホ・ウ。シ・ノ、ヌy、マEBP-16、ォ、颶PU・・ク・ケ・ソ、ホST、ヒpush、オ、、ニ、ォ、鬘「FPU・・ク・ケ・ソ、ホST、ォ、鬣ケ・ソ・テ・ッ、ホESP+12、ヒpop、オ、、。」、オ、鬢ヒ。「x、マEBP-8、ォ、颶PU・・ク・ケ・ソ、ホST、ヒpush、オ、、ニ、ォ、鬘「FPU・・ク・ケ・ソ、ホST、ォ、鬣ケ・ソ・テ・ッ、ホESP+4、ヒpop、オ、、。」 。。、ス、ホク蝪「printf()、ヌサネ、ヲスシーハクサホ"x = %e, y = %e\12\0"、ESP、ヒハンツク、キ、ニ。「printf()、クニ、モスミ、ケ。」

fldl	-16(%ebp)
fstpl	12(%esp)
fldl	-8(%ebp)
fstpl	4(%esp)
movl	$LC2, (%esp)
call _printf
|------------------|
| y=4.7、ホ2ソハノスクス   | ESP+12 <---ST、ォ、鬢ホpopキイフ
|                  | ESP+11
|                  | ESP+10
|                  | ESP+9
|                  | ESP+8
|                  | ESP+7
|                  | ESP+6
|                  | ESP+5
|------------------|
| x=3.2、ホ2ソハノスクス   | ESP+4 <---ST、ォ、鬢ホpopキイフ
|                  | ESP+3
|                  | ESP+2
|                  | ESP+1
|------------------|
| スシーハクサホ       | ESP <---LC2
|------------------|
|<-----1byte------>|

サイケヘハクク・

  • 。リ・ウ・・ヤ・蝪シ・ソ・オ・、・ィ・・ケニフ遑ル
  • 。リ、荀オ、キ、、・「・サ・・ヨ・鯣フ遑ル


*1 4,8・モ・テ・ネ、ホチネ、゚ケ、゚オ。エヘム、ホCPU、ヒ、マFPU、ャ、ハ、、、筅ホ、ャ、「、