<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>1 g1 h4 D$ F! ?
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P> \% Z# x4 E V& G
<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>
) W! h2 Y& H; {/ C* A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>; q4 M9 V: K7 q# {! ^7 k
<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>
8 \! d* Q ? u, S6 B& U<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>" k4 x9 R( J6 z5 M1 ^- Q5 D! q. e
<P class=MsoNormal><SPAN lang=EN-US>VERSION 5.00</SPAN></P>; i3 u8 h. y! E. x1 D
<P class=MsoNormal><SPAN lang=EN-US>Begin VB.form form1 </SPAN></P>/ {, f9 S* C8 b
<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>
F0 n% y+ k& J) ]) v8 z<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>; I+ _" F. l+ ~5 ?! A7 ?6 ^' Z( v
<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>
! O: q1 A7 Z$ b) q8 \3 C4 P$ Y<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>
- x3 U. J3 c, v0 V+ A- U" e M. V<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>! j$ G: p* h' n
<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>9 C1 R; a/ v) U8 a! S
<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>8 P& I9 l! s) @0 \8 U$ t; L; 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>
/ @' ? k' T: i9 b4 Y% [3 Y<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>+ x9 j/ U4 b6 i1 H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.CommandButton Command1 </SPAN></P>
% p& t+ d n z" j/ t<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>4 g3 F6 Z0 U$ F. B
<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>
! O, v8 |) S8 `; o. x" p<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>
" f! r" C- R8 \7 i3 a/ ?' m% C<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>, i4 c' c; |8 ^2 F+ ^% i
<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>
+ S6 p0 v! v& \/ g) C& ?8 C<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>
3 X' `9 I. V, `" m<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>" b1 h ?( l) a# D
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label2 </SPAN></P>
" ?- a" i1 S5 q' C& i<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>. J. N& M6 s6 s6 Y: q8 C
<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>
6 Q3 c7 M; i1 u5 ~, v; ~& G<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>: ?' n: c3 t5 m; x5 o) C2 i) o7 X
<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>+ o4 V1 i+ f& m+ a
<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>, K' k. b9 V8 m8 R3 h3 C3 y% T
<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>
4 s3 z8 d0 b7 d3 ^3 o<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>3 Q) C8 n. U8 {
<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>" o- c. J- Q* {0 I( k+ n
<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>
6 t6 `4 t- T1 p# {<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>
; f$ w% l" s Z8 e/ \. i1 u, `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>
* Y% {% H% w- j<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> Q+ C6 Y7 A: D- z3 |6 D
<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>
) Q! ]9 _/ b* Z6 I<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>
6 h" U$ ^3 s9 e( Y& D4 @- q+ v<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>
! w1 N* j: Y: m0 B( X9 U<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>3 a) J% D' n ?/ }" U) t/ s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>, C' D s* q2 y/ B' x
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label1 </SPAN></P>5 K* [( {5 L7 P+ Z/ g5 O! `4 J
<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>
: q! D4 Z; B" `1 \<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>
8 ~1 I! R+ _* z2 _: F3 p3 F# [. I+ y" g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>
" ], E! ]6 f7 y" ^1 F+ y7 y<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>
4 H2 Y- B8 o, v' @<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>
# W; g6 [/ W2 b o- ?7 a3 p<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>
% L/ R: n; X+ _<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>/ P Z" L$ _8 d& g- K p: |4 H5 {. W
<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>' t- } n( d7 m- t& 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>$ w4 T' P4 Q, V' G1 u) ?9 s9 ]- Y" O7 W
<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>
" E" Q u1 k1 V% x6 W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>
- C! T" x, @; J0 v- k2 T' W+ R! Z. V' F<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>* m5 K W$ E( U+ M6 Y
<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>' | I8 `( Q, x1 A' {" m
<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>- h* T6 R/ L, Z4 G& \3 w, I1 h. D
<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>
) u1 Q" P0 N2 m9 a% O" P% @<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>. f- G1 {7 y7 T$ T
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>& X% E: W% M/ _- P. Z+ W+ e9 f4 |
<P class=MsoNormal><SPAN lang=EN-US>End</SPAN></P>
. i7 h2 k, [6 k; ^<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Name = "form1"</SPAN></P>6 c6 M$ F7 c4 a! d+ Z
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_GlobalNameSpace = False</SPAN></P># v% D7 y& a: [6 Z9 \/ _
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Creatable = False</SPAN></P>5 w" B: ^# f. ^% J
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_PredeclaredId = True</SPAN></P>$ K7 U" J0 @( a& Q' Y; G
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Exposed = False</SPAN></P>& i$ t; t% k/ a
<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
, x3 a& _/ ~. w% y7 t. w5 |<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>0 m' @. j% g. E7 f' a2 x z
<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>
, a5 s* w# _2 t2 n& A" ]6 F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
( Z& @% r: G0 w9 ?% w/ M, E8 m1 N3 a<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = ""</SPAN></P>* B) K- L1 U j5 f6 G# h
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label2 = ""</SPAN></P>3 v5 g) O7 R) n* z' E6 I& q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>" C. k O0 h+ P& ]/ L
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
: t: f3 p; E" x5 Q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
! {) ~; e4 f; b<P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_Click()</SPAN></P>
! O: T3 v% X3 O; Q0 P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
( k5 r# c2 |" l<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = GetCpuName() & " CPU"</SPAN></P>. Y& L: A2 i" Q4 O
<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>/ j* j: m5 c$ v0 ^; o
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>; j9 v1 t/ I8 N: I2 ^ Z
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>8 N, U6 }: ]$ E o3 O
<P class=MsoNormal><SPAN lang=EN-US>------------------------------end---------------------------------</SPAN></P>1 a8 ? O* M& M3 X: E' ?0 z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>5 L# [3 h9 X1 L8 G2 v: Y: H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>" M' [( \' ~+ h* f( n/ u0 E; A( K
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>2 [7 s* d5 ], J$ g" f
<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>: U2 x9 B8 U! h' L( X* A; U
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P> ]; J: b! _7 s" e U! d
<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 N# R; j$ [- B<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P># q; P6 H& e7 }# O- h- X; r1 T' O
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>. H# J) q: A9 _) x0 q+ o5 l" I" r
<P class=MsoNormal><SPAN lang=EN-US>'This shows how to incorporate machine code into VB</SPAN></P>
! x& X6 z' [. |' U' R, k7 X9 Y: i<P class=MsoNormal><SPAN lang=EN-US>'''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN></P>5 H8 y* s( c6 K! Q6 M: I
<P class=MsoNormal><SPAN lang=EN-US>'The example fills the array with a few machine instructions and then copies</SPAN></P>
7 a8 L& k) F+ V5 }<P class=MsoNormal><SPAN lang=EN-US>'them to a procedure address. The modified procedure is then called thru</SPAN></P>
$ ], {7 w( e/ D" N<P class=MsoNormal><SPAN lang=EN-US>'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.</SPAN></P>: t- u3 v" P3 s) h
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>- |- y8 n# k$ z* P2 I7 ], X- ?
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>
, o. l% J( ~! {: S( e$ ~/ A<P class=MsoNormal><SPAN lang=EN-US>'Apparently it gets a Stack Pointer Error, but I don't know why; if anybody</SPAN></P>0 N2 M" u. k' {5 Z
<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>0 K' A/ I0 r u5 k+ A
<P class=MsoNormal><SPAN lang=EN-US>'The Error is not present in the native compiled version; so I think it got</SPAN></P>
2 y4 e4 Q' i. H2 m<P class=MsoNormal><SPAN lang=EN-US>'something to do with the P-Code Calling Convention (strange though)...</SPAN></P>3 H1 d, W2 u. z) P5 \& j
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>% u! Q2 u: {# M4 I- ~0 l) g5 |' t! l
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
- U# c8 x, z4 d/ W! ]$ j<P class=MsoNormal><SPAN lang=EN-US>'Sub Dummy serves to reserve some space to copy the machine instructions into.</SPAN></P>3 C8 V) b1 W, k# a5 m# E
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
1 p- ?" n' k* D0 n, a1 D<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
4 y! I( V$ I( D" ]<P class=MsoNormal><SPAN lang=EN-US>'Tested on Intel and AMD CPU's (uncompiled and compiled)</SPAN></P>1 M6 F& @( I& {+ |$ |3 c9 E
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
$ l# Q+ y- z% f: n. m<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
8 y( B9 v" z1 z8 ^<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>: A, g- c( H5 p" [* K
<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>. U8 z/ w$ i+ h8 M* h: P( |
<P class=MsoNormal><SPAN lang=EN-US>Private x As Long</SPAN></P>
; e7 r3 M: H5 p$ s9 p# c1 F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>* T; |! N M: \7 q3 c! d% Y2 ~
<P class=MsoNormal><SPAN lang=EN-US>Public Function GetCpuName() As String</SPAN></P>
3 {6 E" Q$ l8 q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>0 h0 Q# o+ C) F2 B
<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>
8 e4 O2 a: ]% Q. U' H<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>/ \% h( Z0 X3 {) I: d
<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>
) E/ P6 M, I, R# s( D: K' R" u<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>3 ~ ~! X8 j, G. B* g; ~
<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>6 }5 z" f1 p( A. e9 k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P># K( m0 V, d8 P, G9 Q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'set up machine code</SPAN></P>* p: }: G a# W8 k1 N9 D2 j4 Z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>' _; x# c6 A" A- Q) L; Q
<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>
. M7 Z: C( q+ ~5 r<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
& ]" T- I6 r4 I5 J' D$ s<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& N5 k& Q6 p9 X$ a: O; O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(2) = &HEC</SPAN></P>
. [2 N5 k5 L, \! F/ [1 Y. m' u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>( \9 Z1 X7 b; A7 z( D
<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>* W1 T$ |' r6 C) T
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>6 l% l9 w6 d( [% n6 ]+ v9 O
<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>
$ Z& N) J& `4 P9 e- M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
4 t! B1 ]! K, P; O" ~<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>" R! e# W8 D2 Z3 ` ~7 Z: }
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
& H- u; ?7 w" x- ]" }4 P3 ?<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>3 b, O. X7 k% B. D* k/ n: a0 k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
A4 U' J- `$ C( Y% Z6 ^4 I# q<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>
. {& t9 S% l+ _" W( \# o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(8) = &H45</SPAN></P>
7 I9 D j9 g, f$ E<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(9) = &H8</SPAN></P>- M/ @" a6 ]7 n3 e) i0 k1 c8 r( I2 g5 c
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
: `& l& L/ r5 z" x0 x<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>
0 I! }. Z. W( K" Y z4 m/ p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(11) = &HA2</SPAN></P>
% ^! i0 ~% W8 G& i% j<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
; i9 B a/ F: {( F$ O<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>
9 i( T/ z9 i2 k# h3 e6 f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(13) = &H7D</SPAN></P>! ~: m9 w( i8 v0 J' \" q! z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(14) = &HC</SPAN></P>
$ {$ T8 e6 k: [1 e `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>& h. f5 j* A+ b5 g* w; }
<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>
3 D, ^1 c, E# f+ s<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(16) = &H1F</SPAN></P>, s9 t/ B, c, u8 }# A7 W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>( {3 E+ G& g& j5 @+ l
<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>0 K$ g- q) W3 u' O. c
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(18) = &H7D</SPAN></P>1 o0 \/ i+ K9 D& w: p
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(19) = &H10</SPAN></P>* }- @. j- \% |# J* f% c) x# N
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>" P9 ~2 d( ~* h, _/ M* Q
<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>5 t& b1 v& r. E/ {# i% B
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(21) = &HF</SPAN></P>& k+ I0 n! U2 {
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
# b6 _6 z' s5 ?: I# A+ p5 m! E) t' J- z<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>, H6 i/ c0 V. o
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(23) = &H7D</SPAN></P>% }: B7 d" I% y2 O7 x
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(24) = &H14</SPAN></P>0 g; ]8 r& k# U0 v9 M8 v
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>4 [+ g5 I/ M, o% b! M/ r9 u0 O
<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>
$ @7 {5 ^/ q2 D! a<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(26) = &H17</SPAN></P>
& Y/ `. i$ s& a/ f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>7 y5 E& Z) n- t$ U7 B' K8 Y, Y
<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># s4 r/ R" L2 \8 O
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P># D6 l6 |' n3 S B4 M0 E* b' ]$ C' c
<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>
4 n x; P- w+ D; ]: ]<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
$ Q- {2 C3 K4 A" j<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>
: a7 h1 z- X4 s* k) L! L<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
( f. N5 l/ f _! B: v<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>4 K G5 z8 [: d% A. o" N; }! |5 {
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
* i2 t4 D l4 P Z<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>
% ]. j S+ f" m; }& r<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
9 L. O7 j4 V1 Y+ J' C0 Q- m: B<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>
7 d# V1 g: D0 q! j<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>) c6 [/ a0 K3 p0 H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(34) = &H0</SPAN></P>3 _3 ]3 b& k: s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P> ^8 r% D$ ?- `) X7 x9 p8 {8 j
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'tell cpuid what we want</SPAN></P>
4 T) t* D$ a: z* S+ h4 h<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EAX = 0</SPAN></P>
! Q4 o, E2 l1 B/ u+ F$ ^9 [<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
- @! B4 G$ }1 u% [<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Machine Code</SPAN></P>* V( R9 {. t1 q- R% E
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>VarAddr = VarPtr(MachineCode(0))</SPAN></P>
+ H2 g$ y' m% c- W) n/ a<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P> y" s& Y8 j9 s$ l- G) {
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Sub Dummy</SPAN></P> _& A/ k5 a8 |* S m3 ], x
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>FunctAddr = GetAddress(AddressOf Dummy)</SPAN></P>7 l& f: |& i% c4 E" t9 X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>* I+ e, F& E0 {3 \) N
<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>$ w" O! u. s7 ^: d2 K
<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>: s' O f3 I3 p: l0 W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
7 |. r1 _; `9 d8 b% `4 r<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'call it</SPAN></P>
+ s: G7 s$ b, g' T+ 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>
- }% \6 ~& m; Q0 j4 Q4 I<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>
6 Z$ R9 C. g' \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'Debug.Print Err; Err.Description</SPAN></P>7 ~+ Z% Q* z' i( E5 J/ w. V) `- h
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'MsgBox Err & Err.Description</SPAN></P>
* @/ b" ~8 l8 g# E<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>On Error GoTo 0</SPAN></P>
2 n& b3 X" s* ~" z' j# F Q4 g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
" s" v- U: e# }3 s$ {3 G% O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName</SPAN></P>
S6 P) B8 g" O" H9 B: @% \4 G0 F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>0 A7 n8 W1 Y0 ]8 B0 B9 Q
<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>3 `* l; X4 U" G; ]) \% A
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
( t* `2 }2 N o7 X4 Q* b% a( l/ q<P class=MsoNormal><SPAN lang=EN-US>Private Function GetAddress(Address As Long) As Long</SPAN></P>. j8 V+ V4 c8 j m
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>! g/ B4 O- U3 w1 g, V. x
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetAddress = Address</SPAN></P>; N, r- @& k7 u1 x
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>- ?+ l6 p! V8 X8 _# }/ [7 H
<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P># J: P1 \, P/ B6 Q0 D' c8 h
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
1 E7 r3 K" P' |2 E<P class=MsoNormal><SPAN lang=EN-US>Private Sub Dummy()</SPAN></P>
. H2 @- z1 w& P1 d* R- j C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
0 l- }8 H* d0 |) x6 G<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>) u. \$ J6 B/ ]
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'it is never executed</SPAN></P>
: Z( f. S3 n9 |9 C6 I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>* u9 U- P! E. ^ Y8 j" @' L+ _
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>
9 w. @: L9 Q7 B2 f2 \; i7 I# K1 V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>
) S$ M2 }, h2 x3 F9 k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>6 i' X& d' [; [ H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>0 t4 n( R4 ^. ^8 I2 M. r5 I( _
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>: U1 I5 _; F7 v: ?) j
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>0 X6 @* U: ^1 a- O0 f( W6 @
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>3 h* A7 M. d* I0 }- w6 o
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>% z/ O' U2 G, }' M; U
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>
+ R" Y6 Y1 {# E. c<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>
) k6 O) r! a& v5 \$ ^. S# z! S5 g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>, ?5 r- v9 ]- D
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>
! Y8 D) U" {! i, t: p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>
0 P. D! A" P3 Y; Q8 C6 ]$ l; F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>
& ^$ o0 Y# k/ y1 L; u. H& {<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>
8 ^1 ] k6 F F9 f# d" ?, L<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>& t* o, o% s4 C% s+ c( |
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>4 u8 @1 z* O* e0 R' S6 v6 ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>
; O7 i' l n" I9 z4 P3 G2 C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>
# d" I p/ ?+ c2 d/ J1 {! J+ k5 e5 W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>
. F4 b: U& b3 e" S- o3 u: v+ U! z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>( X( \. H3 w* s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>
, P3 o0 [( F5 ?: @2 K- q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>' m1 E+ Q0 F9 \+ |
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
7 @( {7 d$ d2 N: w* E" o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P> |