<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面的例子完全用</SPAN><SPAN lang=EN-US>VB</SPAN><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">進行</SPAN><SPAN lang=EN-US>ASM</SPAN><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">編程的示例,本例獲得</SPAN><SPAN lang=EN-US>CPU ID.</SPAN></P>
% X' S' F# u& B% p, c, _7 ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
( T4 S$ }/ e3 d/ u" i5 [1 P; l<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工程文件分為一個</SPAN><SPAN lang=EN-US>form1.frm </SPAN><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和一個模塊</SPAN><SPAN lang=EN-US>module1.bas</SPAN></P>! O/ O2 V, Q8 h/ N1 ?4 D: m% ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>- l* a. o: \& V' ?( r7 T# X
<P class=MsoNormal><SPAN lang=EN-US>----------------------form1.frm</SPAN><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的源文件</SPAN><SPAN lang=EN-US>---------------------</SPAN></P>. K2 y7 @" I* V7 N; ?
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>3 Z9 G/ I" p8 Y5 v( Q
<P class=MsoNormal><SPAN lang=EN-US>VERSION 5.00</SPAN></P>; {1 @* {* L" z- Q
<P class=MsoNormal><SPAN lang=EN-US>Begin VB.form form1 </SPAN></P>
. Y1 p* m v* W- ~# g. B- e<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Caption<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>"form1"</SPAN></P>
7 v8 g* t) V! l<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>ClientHeight<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1965</SPAN></P>4 S" I3 x( t/ `" ~' a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>ClientLeft<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>60</SPAN></P>
5 K, b6 t/ l) K |( [<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>ClientTop<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>345</SPAN></P>
" a7 z! P, W2 x8 ^. X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>ClientWidth<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>3105</SPAN></P>9 t/ ^2 X& U6 h& M* u+ h# Z% q! l
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>LinkTopic<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>"form1"</SPAN></P># z, r5 u& n( ^7 q0 N
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>ScaleHeight<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1965</SPAN></P>1 U4 p1 u, }5 r* o' d2 N
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>ScaleWidth<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>3105</SPAN></P>
. z" u I' ~. k: e+ ^& o! S<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>StartUpPosition =<SPAN style="mso-spacerun: yes"> </SPAN>2<SPAN style="mso-spacerun: yes"> </SPAN>'Bildschirmmitte</SPAN></P>9 Z; I( c* U1 J1 t0 q8 o
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.CommandButton Command1 </SPAN></P>8 l; A. R) V) h$ f! d+ v6 V5 m
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Caption<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>"Get CPU Name"</SPAN></P>$ w- [0 i6 b R: H& A
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Height<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>495</SPAN></P>
; R, h: q5 r# k9 S5 K$ t5 v( H3 _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Left<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>840</SPAN></P>( o& ?+ t8 i9 ^, Y4 S2 v
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>TabIndex<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0</SPAN></P>" n! b8 F8 y1 D0 P! ~2 u
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Top<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>315</SPAN></P>- y, \3 h7 N+ z* d; j! H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Width<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1425</SPAN></P>$ \4 v2 ^0 k. G$ u* k1 q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>
2 e3 z' |6 b% A: c! o/ `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label2 </SPAN></P>( n a" ]7 ^# S' e2 c
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Alignment<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>2<SPAN style="mso-spacerun: yes"> </SPAN>'Zentriert</SPAN></P>; @1 O) M) A( M' Q' d$ q) n3 I
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>AutoSize<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>-1<SPAN style="mso-spacerun: yes"> </SPAN>'True</SPAN></P>
; ]; f" ~& U5 [; X& \0 A5 }+ F! X2 P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>! K1 o7 y# o" V; g; H& Y9 m: ~2 R1 k9 Z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Name<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>"MS Sans Serif"</SPAN></P># N. }' Q: U9 O; j# R7 U
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Size<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>9.75</SPAN></P>( x# \# j0 G0 }1 C( V
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Charset<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0</SPAN></P>
2 W8 i9 z- z; B3 V. Y3 l9 ^# J o4 n1 B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Weight<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>400</SPAN></P>( z/ L/ i N( B7 f1 X" q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Underline<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0<SPAN style="mso-spacerun: yes"> </SPAN>'False</SPAN></P>
; ?$ K& a" K% Z; z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Italic<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0<SPAN style="mso-spacerun: yes"> </SPAN>'False</SPAN></P>
9 g. K# s) a. Z! I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Strikethrough<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0<SPAN style="mso-spacerun: yes"> </SPAN>'False</SPAN></P>3 ?! n- k! @5 W2 x* ~! L+ {
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>0 k" J: [% B' Z3 B0 D; w9 t" ^
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Height<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>240</SPAN></P>
% G* R. g( B% X9 V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Left<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1515</SPAN></P>" J, O: t& T* O" k: J3 ]
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>TabIndex<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>2</SPAN></P>
5 S9 E# M# C6 f% H<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Top<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1065</SPAN></P>
3 N2 c6 R6 a; K+ G% w* i. n<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Width<SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>60</SPAN></P>, m7 e' a" q( X. A7 Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>
& F& X* j A# T1 \5 ?; B* T' g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label1 </SPAN></P>- X6 E/ ~5 i% b& [, q/ Y, _* ~' R
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Alignment<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>2<SPAN style="mso-spacerun: yes"> </SPAN>'Zentriert</SPAN></P>& g. ?' b/ }; k& \7 j. U, j( S
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>AutoSize<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>-1<SPAN style="mso-spacerun: yes"> </SPAN>'True</SPAN></P> |$ }2 X2 r0 v8 P" U
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>; H0 z. w7 I9 Z4 B* Q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Name<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>"Arial"</SPAN></P>. y; F" z* M4 z- H; v; J; d z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Size<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>12</SPAN></P>
4 ~0 Y3 }6 Z1 `$ @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Charset<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0</SPAN></P>3 ]6 G* s& [( i) S S% |+ m" B
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Weight<SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>700</SPAN></P>
1 i4 L( b5 ^) ~- u: c<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Underline<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0<SPAN style="mso-spacerun: yes"> </SPAN>'False</SPAN></P>
. ^2 f- I2 m+ X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Italic<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0<SPAN style="mso-spacerun: yes"> </SPAN>'False</SPAN></P>$ [: `4 @" L9 {8 } I" a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Strikethrough<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0<SPAN style="mso-spacerun: yes"> </SPAN>'False</SPAN></P>
! p" ` G7 j4 D( `' w<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>! K* i0 t4 Y& s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Height<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>285</SPAN></P>
x; v8 [9 P- o) e<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Left<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1515</SPAN></P>) i2 ^8 T- i8 _4 l9 u, y- j
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>TabIndex<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1</SPAN></P># f+ ~7 W! X( R
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Top<SPAN style="mso-spacerun: yes"> </SPAN>= <SPAN style="mso-spacerun: yes"> </SPAN>1350</SPAN></P> y/ ~$ @# Q/ h
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Width<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>75</SPAN></P>
- t5 F! i0 w; Z: q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>
: }. }# y- F, [" k<P class=MsoNormal><SPAN lang=EN-US>End</SPAN></P>
2 M& s. W+ ^" B+ }- v4 v) t0 \<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Name = "form1"</SPAN></P>
( B" Q1 f c9 g2 s: F% x6 S& a<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_GlobalNameSpace = False</SPAN></P>
) ^; J0 \% J( ~/ u. W. a l<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Creatable = False</SPAN></P>
) J1 J$ x# n4 [) }; C<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_PredeclaredId = True</SPAN></P>& _3 H8 U7 B7 Z! L5 A* Z
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Exposed = False</SPAN></P>/ K3 x7 R2 Q4 ]* {9 ?. ^! @
<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
4 f6 M$ O' D7 H s$ M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
9 E: f, h. g) ^) n/ s1 R<P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)</SPAN></P>8 J: a8 W# d/ }3 M/ m* d# U
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>; ^- I0 g/ ] X' R6 o) q* `* G/ ?9 l
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = ""</SPAN></P>) m3 v7 D* B5 K# T( d8 S; o- }! d
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label2 = ""</SPAN></P>- g! ]. S& A6 E$ W4 ~) c6 J# y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
& [! Z0 M2 _$ ~( B9 v<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
. F' {0 p4 h; y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>/ y4 f) P/ A1 |7 d" Y
<P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_Click()</SPAN></P>
& T5 S5 {1 J- t4 V, S! w1 o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
, k! K* R# v/ @4 b& E$ m- C) W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = GetCpuName() & " CPU"</SPAN></P>
% _: O6 B9 L% Z" k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label2 = "You have a" & IIf(InStr("AEIOU", Left$(Label1, 1)), "n", "")</SPAN></P>( o$ z& I6 m j4 q/ t" A( m
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
9 e8 | }- Q# s$ m<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
& n+ q' `7 K7 F. I4 o5 m& {( Z<P class=MsoNormal><SPAN lang=EN-US>------------------------------end---------------------------------</SPAN></P>
% U3 a- G/ z! c2 J$ e7 H<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
" z/ Y* |# u7 X! L: J% T% ] q# {. x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>. _, s. T9 j0 e( r: `5 A2 a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
0 g0 D6 w @4 O' s6 a% ^<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面是</SPAN><SPAN lang=EN-US>modu1e.bas</SPAN><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的源代碼</SPAN></P>6 X) V- |6 P; F8 I7 E
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
: u3 o% \: n+ E$ K3 A" `<P class=MsoNormal><SPAN lang=EN-US>----------------------module1.bas</SPAN><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的源文件</SPAN><SPAN lang=EN-US>--------------------------</SPAN></P>3 w V i! c p2 h/ U
<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
! o3 T" @ V8 G: S4 }<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>4 X7 I3 j6 @9 c: o7 c
<P class=MsoNormal><SPAN lang=EN-US>'This shows how to incorporate machine code into VB</SPAN></P>4 ~& V' U4 K( s/ T
<P class=MsoNormal><SPAN lang=EN-US>'''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN></P>
3 a( ?8 H- t5 `5 E$ }1 G/ Y<P class=MsoNormal><SPAN lang=EN-US>'The example fills the array with a few machine instructions and then copies</SPAN></P>
: J/ F$ Z5 \" |$ t<P class=MsoNormal><SPAN lang=EN-US>'them to a procedure address. The modified procedure is then called thru</SPAN></P>
0 u: n& @% R- E# a<P class=MsoNormal><SPAN lang=EN-US>'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.</SPAN></P>
& `9 k; J: L% C5 h) j9 o/ K<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>% C! P- R+ q3 y6 Y
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>7 a. q5 L( ~" S6 ~$ M1 K: c
<P class=MsoNormal><SPAN lang=EN-US>'Apparently it gets a Stack Pointer Error, but I don't know why; if anybody</SPAN></P>
# o- b8 U, f! \' S% y' ]# V<P class=MsoNormal><SPAN lang=EN-US>'can fix that please let me know...<SPAN style="mso-spacerun: yes"> </SPAN>UMGEDV@AOL.COM</SPAN></P>
: U/ V5 y8 e: d3 [" @( K' f<P class=MsoNormal><SPAN lang=EN-US>'The Error is not present in the native compiled version; so I think it got</SPAN></P>
& X3 B# j V. G# a% B<P class=MsoNormal><SPAN lang=EN-US>'something to do with the P-Code Calling Convention (strange though)...</SPAN></P>8 t0 R2 A+ t( n5 @ }
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>
6 G' u( C0 C/ _<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
5 e* f( B0 w1 b( @& L<P class=MsoNormal><SPAN lang=EN-US>'Sub Dummy serves to reserve some space to copy the machine instructions into.</SPAN></P>. p1 h! V0 [3 z
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>* n9 B P; O1 u) T4 i) b
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>" I* y1 T0 g7 ~
<P class=MsoNormal><SPAN lang=EN-US>'Tested on Intel and AMD CPU's (uncompiled and compiled)</SPAN></P>
/ t0 E7 x4 f5 W2 S: ~<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
6 |& h Z3 X9 Y$ h, o9 x( c<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
5 B3 \% o; D0 M( e: I0 {7 s1 h, q+ @8 b<P class=MsoNormal><SPAN lang=EN-US>Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long</SPAN></P>
: ^% C. R- @1 P9 y<P class=MsoNormal><SPAN lang=EN-US>Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)</SPAN></P>& ^- z& T; X( q1 ^2 \& g. G& i& m
<P class=MsoNormal><SPAN lang=EN-US>Private x As Long</SPAN></P>
0 l% [0 B$ @; N7 Z! r P' q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
1 Y( q9 y& _" j6 D' B5 ~; [<P class=MsoNormal><SPAN lang=EN-US>Public Function GetCpuName() As String</SPAN></P>3 T1 B/ ]; v, r4 [+ [+ A
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>, b$ ^# |- y9 |4 `: Q/ E# \" B$ X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Dim MachineCode(0 To 35)<SPAN style="mso-spacerun: yes"> </SPAN>As Byte</SPAN></P>
1 x# k- ^0 |) o& @/ k5 F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Dim VarAddr<SPAN style="mso-spacerun: yes"> </SPAN>As Long</SPAN></P>
: u- C9 D* @) \' ?( U& X' V! z( [<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Dim FunctAddr<SPAN style="mso-spacerun: yes"> </SPAN>As Long</SPAN></P>
3 I6 @; S$ A* v+ q$ ]<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Dim EAX<SPAN style="mso-spacerun: yes"> </SPAN>As Long</SPAN></P>
7 `& G" V1 w9 \( A+ V4 R* G5 X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Dim CPUName(1 To 12)<SPAN style="mso-spacerun: yes"> </SPAN>As Byte</SPAN></P>8 i, ~9 ^& l3 p
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
( A* {; i3 V+ Z' G+ A: T/ L: W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'set up machine code</SPAN></P>
8 P C) | q8 O, v, e. W- k; S8 _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
& o& q. k% U8 X' d<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(0) = &H55<SPAN style="mso-spacerun: yes"> </SPAN>'push ebp</SPAN></P>: Q) g' |9 l5 W5 D d# ?5 g
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
6 \; h9 h2 b+ S: l3 B. D" X) h<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(1) = &H8B<SPAN style="mso-spacerun: yes"> </SPAN>'move ebp,esp</SPAN></P>! J/ y* }) C8 J, H8 {+ ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(2) = &HEC</SPAN></P> J5 M$ x' G. O" t; C! c" b( p
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>7 R9 ]/ z: w1 |$ J2 N1 H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(3) = &H57<SPAN style="mso-spacerun: yes"> </SPAN>'push edi</SPAN></P>/ t" H( G! l3 N) ?
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
( K+ `& r9 U6 a2 \% J% M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(4) = &H52<SPAN style="mso-spacerun: yes"> </SPAN>'push edx</SPAN></P>
' q" E z) Z0 F1 z0 o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
. {5 @4 J, E( t% N7 U<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(5) = &H51<SPAN style="mso-spacerun: yes"> </SPAN>'push ecx</SPAN></P>
9 |' j) A3 f, c# t/ T. ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>7 _% }6 Z: G7 e% c: x1 l3 q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(6) = &H53<SPAN style="mso-spacerun: yes"> </SPAN>'push ebx</SPAN></P>
0 ^/ K3 U' a- E- [5 k. ~, j/ C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
0 p) X, l2 G( u2 b2 t" e0 ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(7) = &H8B<SPAN style="mso-spacerun: yes"> </SPAN>'move eax,dword ptr [ebp+8]</SPAN></P>2 Z2 \) Z& B, Y# P
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(8) = &H45</SPAN></P>
8 ^! j% }5 x0 R, A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(9) = &H8</SPAN></P>
0 v; N# ?! A0 ~8 k1 o" ?% ^- x M* f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>8 J, C6 q$ j3 n. c! B8 q; d
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(10) = &HF<SPAN style="mso-spacerun: yes"> </SPAN>'cpuid</SPAN></P>! ]+ d$ i( `" a' |& q- w& s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(11) = &HA2</SPAN></P>, ?& E) m) o8 s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>( B2 b7 o! `- Q& w/ g' A; L2 T
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(12) = &H8B<SPAN style="mso-spacerun: yes"> </SPAN>'mov edi,dword ptr [ebp+12]</SPAN></P>
* O7 H7 S& P! K* M1 B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(13) = &H7D</SPAN></P>
% A% W. R2 F! B- ?; v8 T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(14) = &HC</SPAN></P>
# e" n3 |- v5 t+ i<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
6 b' L( I/ G3 O6 ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(15) = &H89<SPAN style="mso-spacerun: yes"> </SPAN>'move dword ptr [edi],ebx</SPAN></P>
, u2 B2 p( ~% S1 Z( I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(16) = &H1F</SPAN></P>' ?- F( O2 l/ t! O
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>) ~8 q5 t( A( c$ G- e
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(17) = &H8B<SPAN style="mso-spacerun: yes"> </SPAN>'mov edi,dword ptr [ebp+16]</SPAN></P>/ t- c6 w9 v4 B" ^, d
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(18) = &H7D</SPAN></P>$ v( [( S @5 q3 F& |1 }, k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(19) = &H10</SPAN></P>
7 t( U' T& b' i! r1 S; O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>( m# Q3 P# {* A8 A
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(20) = &H89<SPAN style="mso-spacerun: yes"> </SPAN>'move dword ptr [edi],ecx</SPAN></P>9 l; F2 E7 N. m5 Z5 K6 A; Q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(21) = &HF</SPAN></P>$ V& Y f" ?- ?$ P" t
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
) C0 i0 q" e6 d: B4 u7 Q6 l% d# O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(22) = &H8B<SPAN style="mso-spacerun: yes"> </SPAN>'mov edi,dword ptr [ebp+20]</SPAN></P>
9 b% ?% y. P& P) z" f! K2 l<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(23) = &H7D</SPAN></P>
$ D! q8 q6 I6 f+ w; q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(24) = &H14</SPAN></P>
. x5 t/ ]" s3 B# P, n<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
; ^2 a5 r6 W/ p3 U<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(25) = &H89<SPAN style="mso-spacerun: yes"> </SPAN>'move dword ptr [edi],edx</SPAN></P>- O( k! u0 A2 V% f
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(26) = &H17</SPAN></P>
7 j3 Q+ O; x) T4 q& e; s<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>3 G. O% q) M2 J0 K4 u
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(27) = &H58<SPAN style="mso-spacerun: yes"> </SPAN>'pop ebx</SPAN></P>* a( q) p/ p. n& g% l$ o9 f" u- P$ y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
1 r) L2 z0 X. K7 a% d* U; ^: X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(28) = &H59<SPAN style="mso-spacerun: yes"> </SPAN>'pop ecx</SPAN></P>
- E6 ^- I( S. K R<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
* ^& k' D) M. e9 H1 \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(29) = &H5A<SPAN style="mso-spacerun: yes"> </SPAN>'pop edx</SPAN></P>
8 t% H6 U! Z& X* w3 U<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
6 l: B8 H9 G- Z3 B% T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(30) = &H55<SPAN style="mso-spacerun: yes"> </SPAN>'pop edi</SPAN></P>! x( N% u: Z# C
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>0 `' H U- A: I! Y: p8 f
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(31) = &HC9<SPAN style="mso-spacerun: yes"> </SPAN>'leave</SPAN></P>3 J0 p( X/ B, }3 E0 X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
- F$ z% T/ d1 X/ B ?& N( R0 H2 o0 d$ a" ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(32) = &HC2<SPAN style="mso-spacerun: yes"> </SPAN>'ret 16<SPAN style="mso-spacerun: yes"> </SPAN>I tried everything from 0 to 24</SPAN></P>$ K8 a& a. {/ M9 N4 k* B
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(33) = &H10<SPAN style="mso-spacerun: yes"> </SPAN>'<SPAN style="mso-spacerun: yes"> </SPAN>but all produce the stack error</SPAN></P>$ b( {1 Z# ^) p" I
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(34) = &H0</SPAN></P> W/ d, l5 d4 A. Z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>% B. e/ Q. |$ [8 A2 V8 a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'tell cpuid what we want</SPAN></P>
* W7 D( m/ Q, B+ ^4 j: x1 O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EAX = 0</SPAN></P>/ J8 U P( W1 J
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
6 ?8 d8 a) p! Y5 N' ~ R<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Machine Code</SPAN></P>
: |- ?% r( L5 s6 x! W* I4 }6 c& c<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>VarAddr = VarPtr(MachineCode(0))</SPAN></P>+ q* O4 t& A) {& @
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P> y3 f5 f8 r# y, p
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Sub Dummy</SPAN></P>$ `( ~; ]+ _1 Z5 p* |: t* I
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>FunctAddr = GetAddress(AddressOf Dummy)</SPAN></P>
1 E- E4 @2 J- }; b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
J; e' o" A4 q! B2 t. @. u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'copy the Machine Code to where it can be called</SPAN></P>) G; @/ u- b- B+ p- C
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>CopyMemory ByVal FunctAddr, ByVal VarAddr, 35 '35 bytes machine code</SPAN></P>8 x* i S8 n- e! ^# f7 F
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>+ w- J0 |' ^, h3 ~+ F7 F5 ~6 \
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'call it</SPAN></P>
# }& {5 _; x2 N' E7 f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>On Error Resume Next 'apparently it gets a stack pointer error when in P-Code but i dont know why</SPAN></P>
5 u9 m# Q5 Y' Q; X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>CallWindowProc FunctAddr, EAX, VarPtr(CPUName(1)), VarPtr(CPUName(9)), VarPtr(CPUName(5))</SPAN></P>$ B# ^' O/ l M4 k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'Debug.Print Err; Err.Description</SPAN></P>& ~. Q% v, K: a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'MsgBox Err & Err.Description</SPAN></P>
* G' ]2 H7 R G5 p! Z4 q7 _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>On Error GoTo 0</SPAN></P>
! E7 s: T6 J1 S8 U- `. z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
( Y& {: p$ z9 ~- e* X2 v: u8 }<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName</SPAN></P>: T' K2 N3 U! i0 v
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P> ^) m8 {7 {( n; Q4 H
<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>
) t) `, z K$ L1 p" M# s( L<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>) @" |% z: C! P2 t; Z1 ^
<P class=MsoNormal><SPAN lang=EN-US>Private Function GetAddress(Address As Long) As Long</SPAN></P>
9 Y, K- A+ k4 T( x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
( N8 G1 ^) Y2 j- O. \/ r, b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetAddress = Address</SPAN></P>8 M$ O9 p- f2 b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>$ g d2 [0 l/ A! F4 h
<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>
+ D0 Y6 M. Q5 P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P># }, X1 }2 z, J& A& J
<P class=MsoNormal><SPAN lang=EN-US>Private Sub Dummy()</SPAN></P>; [, D6 s: e0 G' n0 m
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
& _3 D: x" J$ l<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'the code below just reserves some space to copy the machine code into</SPAN></P>
7 M# }$ W) A4 X7 [& K; I; b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'it is never executed</SPAN></P>
5 @! e" q# x1 Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
6 Z% Y: \; _$ y& ~: I6 A0 A# i<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>
- W. Z; V$ d! ?/ l<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>
+ H! m1 f8 \ X. o# X4 C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>
, ^; A' I, x8 }6 P `8 c<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>
8 r- H# | p7 ~3 n<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>6 m8 L7 @) q3 m' ?" E
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>
0 x) t2 w) M1 s r D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>! U* u; e0 J$ R) m, J5 E1 a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>8 [4 }1 U/ X, }$ D5 h2 E
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>7 r* X$ _& f0 a9 J7 _ ]
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>
i4 n% {- X) |: g8 C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>
) h2 ^& ?0 |1 O6 F9 K% B* V% s: h# u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>. m% D) P" u" y" y! ~/ ]5 x
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>& z0 X5 N3 p: c; S
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>
) q5 G* Y. \. `( o2 Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>& N4 c, A+ {0 E$ j7 N) d: H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>
- v; [; M) a1 f' ~: K' M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>
2 Z5 h4 T5 i+ W. o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>" P* }9 i# ~+ G7 q) i4 V
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>; Y' b4 ^' P& I4 H! u- }5 |
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>
" c7 w7 b( A( x1 y3 k. b' w<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>
) C- C9 @1 Y1 q3 l* c/ p5 h<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>
: L$ o) w' u9 C y0 M4 z3 N! w" C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
( m; c5 I" X) p0 f& S9 p% C3 K0 G<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
6 c4 ~2 {7 l$ A; K0 W# F6 ~) ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P> |