By And Large http://www.grenvillecollege.co.uk/ payday loan Loans Are perfect lets you stop . * JITコンパイラの中身 -(by [[K]], 2013.03.27) ** もくてき -JITコンパイラっていうのは、結局バイト列をバイト列に変換しているだけで、しかもその変換パターンは単純で簡単なんだという実例。 -最適化があるともっと複雑になるだろうけど、最適化なんていうものは普通のが余裕でできる人がやるものなので、当面は気にしなくていい。僕も気にしてない。 ** ver.0.07 (x86-32bitへのJITCの例) -基本 --レジスタはすべてメモリに割り当てています。手抜きです。 ---R00: (int) [EBP+0] ---R01: (int) [EBP+4] ---R3F: (int) [EBP+252] --Pxxレジスタには256bit(32バイト)を割り当てています。 ---P01: [EBP+288] ---P02: [EBP+320] ---P1F: [EBP+1248] -JITC実例 NOP 00 (何も出力していません) LOADINT R12, 0x01234567 02 12 01 23 45 67 MOV EAX,0x01234567 B8 67 45 23 01 MOV [EBP+72],EAX 89 85 48 00 00 00 /* R12:[EBP+72] */ COPYINT R12, R34 10 12 34 FF MOV EAX,[EBP+208] 8B 85 D0 00 00 00 /* R34:[EBP+208] */ MOV [EBP+72],EAX 89 85 48 00 00 00 /* R12:[EBP+72] */ ANDINT R12, R23, R34 12 12 23 34 MOV EAX,[EBP+140] 8B 85 8C 00 00 00 /* R23:[EBP+140] */ AND EAX,[EBP+208] 23 85 D0 00 00 00 /* R34:[EBP+208] */ MOV [EBP+72],EAX 89 85 48 00 00 00 /* R12:[EBP+72] */ SUBINT R12, R23, R34 15 12 23 34 MOV EAX,[EBP+140] 8B 85 8C 00 00 00 SUB EAX,[EBP+208] 2B 85 D0 00 00 00 MOV [EBP+72],EAX 89 85 48 00 00 00 COPYPTR P01, P12 1E 01 12 MOV EAX,[EBP+832] MOV [EBP+288],EAX MOV EAX,[EBP+836] MOV [EBP+292],EAX MOV EAX,[EBP+840] MOV [EBP+296],EAX MOV EAX,[EBP+844] MOV [EBP+300],EAX MOV EAX,[EBP+848] MOV [EBP+304],EAX MOV EAX,[EBP+852] MOV [EBP+308],EAX MOV EAX,[EBP+856] MOV [EBP+312],EAX MOV EAX,[EBP+860] MOV [EBP+316],EAX COMPL R12, R23, R34 22 12 23 34 MOV EAX,[EBP+140] 8B 85 8C 00 00 00 CMP EAX,[EBP+208] 3B 85 D0 00 00 00 SETL AL 0F 9C C0 MOVZX EAX,AL 0F B6 C0 NEG EAX F7 D8 MOV [EBP+72],EAX 89 85 48 00 00 00 ** こめんと欄 -このページにこめんと欄はありません。このページの内容にコメントしたいときは[[impressions]]にお願いします。