<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'">進(jìn)行</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>
5 }) M3 R2 R- f3 S" h* X( P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>6 N. J' }6 ~+ M' f, M0 i, k, {
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工程文件分為一個(gè)</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'">和一個(gè)模塊</SPAN><SPAN lang=EN-US>module1.bas</SPAN></P>( d0 M b; d6 R7 O8 g% G' O: ?6 T
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
) S6 K( L( `/ J& ]$ [<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>5 Q0 T. l2 b1 ?; U- ], Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>2 U( A7 q7 n( s$ R) \# K' J
<P class=MsoNormal><SPAN lang=EN-US>VERSION 5.00</SPAN></P>
2 l' A* V. `$ V1 E- l<P class=MsoNormal><SPAN lang=EN-US>Begin VB.form form1 </SPAN></P>% @6 v4 N7 E$ h! S
<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>% [/ e; Y. W& P0 k
<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>% d6 A" A! K) I J e" K
<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>
$ [0 D; n" b7 q4 ]- b0 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>
1 y; S0 U N4 _6 }' z/ N& i) X+ l<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>5 o9 c7 `; G. _- F7 w5 e4 c( ?
<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>
2 L5 Z L& z1 d! Q. w! p2 c<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>
0 g3 Q a. i4 A7 v6 f6 ~<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># s4 m( W& M) \% E' |
<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>- |# {0 R! ~: b; C
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.CommandButton Command1 </SPAN></P>: ]) f2 c6 F% N8 s
<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>
8 r* Y( _( G* E& W<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>9 B. I# U0 F: n, D8 K$ _
<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>
0 H! ?! Z6 a P<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>
/ v) E% V: M4 P7 D, W0 j- g<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>9 x" u0 N! o0 f/ q, [% ^
<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>
! J" u( ^) `3 k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>$ b7 L/ ?$ l+ v* m' E' w5 ]
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label2 </SPAN></P>, N: Z1 L+ f' }! r3 H' b4 ^
<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>* v9 C7 [, }: d) A; \# 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>4 u9 U* S; i& J+ b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>
8 ?7 w2 o. o- s/ A/ 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>"MS Sans Serif"</SPAN></P>. g2 L4 L) f7 k4 l
<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>- D% L- n( D7 e
<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>
5 e4 U) }9 j" k( v% M! G7 @0 y/ c+ r' j<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>& w) x7 K* ?7 n; B$ I
<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>' d, |' N& t3 d/ i) o
<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>
3 T: b- m+ y) y# v* X" J# h<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>& v' n9 g( F4 N$ R+ N5 s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>
0 L% l. E% u2 }3 g<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>
9 B4 f8 c, Q& u. [: a$ G7 \<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>+ g. k: T& k6 m+ w# ?/ `
<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>
) A' c4 `' u! b9 F<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>5 p H! }$ |1 y# m
<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>
7 ?% G4 P* x, H7 e+ e% e! t2 I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>
$ l; o# a& a. d) A3 {8 J; T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label1 </SPAN></P>
: H) N4 Z* z9 o* M" n. v4 V<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>2 E, H# A' w7 Z8 g
<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>0 p8 \8 ]) Y3 N3 }5 o
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>
. L: e0 F& m, ~5 k v$ u<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>
7 C" q1 _) k3 o# _& k7 r<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>+ J+ | @' b# y: o" {
<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>, d$ _; ~" D/ f' J- ~) J
<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># g$ i$ Q ?4 [) e+ t& 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>' @3 Y( p' \* T8 p+ q
<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>
* m4 E- A! `4 a/ L/ m. H, ^( o; [<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>
: [8 l! C5 Z( K6 d! w6 Y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>- j& X: {* P6 O4 @0 K9 m( c' V9 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>0 g+ T. u% Y+ Q6 n) E* `' O& 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>
1 [' O$ N3 l+ f<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>
3 G2 z: s6 I( F- C( h- t- ]: Q<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>
" f' p0 p, G8 X% p, S<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$ x9 J3 q, M0 b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>
- x' W' ], O0 T0 M. [5 k* R% D0 Y<P class=MsoNormal><SPAN lang=EN-US>End</SPAN></P>( L$ g5 z2 R1 t; J2 }! a
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Name = "form1"</SPAN></P>
+ e/ ]3 S8 @( S4 |8 _& H<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_GlobalNameSpace = False</SPAN></P>
3 A8 m Q2 w9 s1 n2 I% O6 X _% J: v<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Creatable = False</SPAN></P>+ B# f5 m/ R" o; Y) ^5 C7 o
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_PredeclaredId = True</SPAN></P>
& c. c# [* [0 H<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Exposed = False</SPAN></P>) q8 V6 R6 V2 u! S3 N
<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>6 j7 k: W+ }7 a S3 a' y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>7 T) h& x+ w% a6 Q0 K9 D$ E
<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>
6 M( \' J; H, R' `3 p4 _; ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
5 P$ A1 k; E. J6 h, `3 D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = ""</SPAN></P>
0 p S3 O" x" J1 @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label2 = ""</SPAN></P>
0 }3 ^, y8 W: y2 p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
, G; F. U2 |: Z3 @7 X0 q<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
% h4 X2 ~& l7 ~* {<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>$ S1 @' ?0 H- n
<P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_Click()</SPAN></P>
) P, Y. r Q8 s" C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
2 \% q8 f+ w* B, O; Q3 Y5 a& T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = GetCpuName() & " CPU"</SPAN></P>! e P% e4 g7 b: [; U3 K& v E
<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>" P. E+ {' k4 \2 s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
4 |) h" s* D" F) s<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>4 A& N$ j8 b. h/ k7 |. @
<P class=MsoNormal><SPAN lang=EN-US>------------------------------end---------------------------------</SPAN></P>8 T/ W" r# t+ K
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>% K' r9 W2 g, l0 ^& Q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>0 E5 @6 x* @. a( n( r
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>3 ?. f# s+ m+ Y2 I9 ~9 G6 d0 M' q
<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>
" L$ w0 i- t0 y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>9 N7 ]7 g# x2 ]8 W/ X" X
<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>8 }* e5 y( ?$ v0 R
<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
# }# }( X _* |: w: l# M0 h7 s<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>6 ?/ N1 }$ l4 a) [0 ]
<P class=MsoNormal><SPAN lang=EN-US>'This shows how to incorporate machine code into VB</SPAN></P>
" Q$ \) G' }6 B, i, ^& [& e<P class=MsoNormal><SPAN lang=EN-US>'''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN></P>
5 k# T U& w3 n+ e) q1 r2 v2 ^* N<P class=MsoNormal><SPAN lang=EN-US>'The example fills the array with a few machine instructions and then copies</SPAN></P>) \7 R# X: H2 ^% K A
<P class=MsoNormal><SPAN lang=EN-US>'them to a procedure address. The modified procedure is then called thru</SPAN></P>
6 }4 h. U! N$ p. N- c<P class=MsoNormal><SPAN lang=EN-US>'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.</SPAN></P>3 R/ k% f- j& a6 ?# d6 s
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
3 V4 H2 g' {+ V, B0 f9 J<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>7 E6 \" Y: ]2 b+ y0 i; r9 w* D' J
<P class=MsoNormal><SPAN lang=EN-US>'Apparently it gets a Stack Pointer Error, but I don't know why; if anybody</SPAN></P>3 ^/ ^ e( C) p6 R3 H
<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>
b+ `8 K0 C3 @7 l( d- R<P class=MsoNormal><SPAN lang=EN-US>'The Error is not present in the native compiled version; so I think it got</SPAN></P>1 }; M& o9 U/ h5 D& }
<P class=MsoNormal><SPAN lang=EN-US>'something to do with the P-Code Calling Convention (strange though)...</SPAN></P>+ Q/ Y& [6 p) a
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>( c! y2 M, s* x
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
# S1 r/ J* k- k0 W, t7 @<P class=MsoNormal><SPAN lang=EN-US>'Sub Dummy serves to reserve some space to copy the machine instructions into.</SPAN></P>, V5 _, F6 ]" s, T
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
: H; J9 C: R3 ]3 t" c<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>. H. K* Y2 M- V; ~+ t
<P class=MsoNormal><SPAN lang=EN-US>'Tested on Intel and AMD CPU's (uncompiled and compiled)</SPAN></P>+ j+ Y9 J& [3 f& B5 S" Y
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>( E: z5 O$ D% B. I
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>, B Y4 z2 i8 B2 R$ t/ o$ x) D2 ]
<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>' T6 ^8 z* J- c% 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>
; H1 c6 X0 j# h0 b& v<P class=MsoNormal><SPAN lang=EN-US>Private x As Long</SPAN></P> B$ D- L8 g; m2 D
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
! h+ W0 i+ c( |<P class=MsoNormal><SPAN lang=EN-US>Public Function GetCpuName() As String</SPAN></P>
' U p) g5 q1 s' T9 H, b$ F5 ~7 I' p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
, u3 Z% A! o/ b3 d- N4 Q8 \<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>
, p. }5 a( }8 \0 L<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>
8 \4 \8 @6 O) f" 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>1 Y0 t4 x5 L. X0 J, t' F
<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>
% U3 i" G d' v) f5 u2 `) U<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>+ _$ P' p6 m/ R
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
) a1 O k# b. f) Q! A* U<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'set up machine code</SPAN></P>
$ ]9 u) E( K) X: N4 I# q; x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>& r2 W$ U) _3 l: G; L: C; k
<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>
, {9 r9 i, |5 l2 H' X4 W4 W7 E<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
8 r2 i P* a- ^1 w3 O<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>
& t5 i ]8 m8 c7 y) o5 s<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(2) = &HEC</SPAN></P>& ]/ M# [5 L) }1 L1 B+ v3 J
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>4 ~. y6 G/ {/ N: r
<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>
) O: M9 r2 v- `& u4 Z# U1 y' n<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
, k+ Q- D7 n1 q! @<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>
! r6 j$ l* l% b! q# q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>2 J/ T) E @- b$ R" E4 c
<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>0 e1 ]- k, f$ @. } ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
5 D5 U/ T- E- O) _3 Y<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>
7 n& y7 \' k( Y# d Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
/ I1 O4 u8 P7 ~# d4 L3 b. r- z0 y<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>- A; U+ g0 N- A4 [
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(8) = &H45</SPAN></P>
! \* J8 I. i, S! \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(9) = &H8</SPAN></P>" D: o$ r* D& R% b2 X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>* i7 p( L5 K9 t- {8 l- F' C* P9 X: q
<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>
3 B! L9 z$ z9 H6 E, v( P5 S7 Y! C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(11) = &HA2</SPAN></P>' @& s# _4 Y7 r) P! q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
7 F0 P5 b! h# b4 F$ Z' X0 [<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>8 u7 H3 N" |1 c. a- W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(13) = &H7D</SPAN></P>
& H! X; L* C8 {0 N/ C& O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(14) = &HC</SPAN></P>: n( m+ } y0 I
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
4 S# N# T0 Z4 h9 j# c9 S<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>' W {) m! Y! K4 W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(16) = &H1F</SPAN></P>+ o' a5 [8 j( S7 \! I" q7 a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>% Z0 N; f, G$ u9 `+ y2 F; N
<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>1 \2 b3 m3 X$ o0 L; D/ P
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(18) = &H7D</SPAN></P>) B9 @" a2 g; l( {6 @2 N' h: Q3 l
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(19) = &H10</SPAN></P>1 w! @; g9 J1 d
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
% C: o% p& b- O/ T, Y<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>
0 h- ~" i8 P+ e1 L7 \5 G! U R<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(21) = &HF</SPAN></P>3 @: ]% [, |6 g0 s7 x: e
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>! ?* \# O3 b4 ~6 Y
<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>. l5 e2 Y4 m9 w7 G* u
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(23) = &H7D</SPAN></P>' a+ p& y E7 Q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(24) = &H14</SPAN></P>
" M2 B _3 I/ u3 l. D+ D2 F; ~3 A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>& j) G3 j+ C+ R' ]6 G; n2 g
<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>9 ^# m' o5 r# w* H
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(26) = &H17</SPAN></P>( T5 d- A( |+ G( b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>! a; @! a' K0 L. ]
<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>
1 s% H9 F3 {8 u" O7 r* Q2 x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
8 c3 o f, c; J$ k+ 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>1 g. V7 Z" _+ a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>/ k9 ?/ J! U* D3 C- k
<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>1 r/ |3 A& @# s1 S* X, @, x+ Y5 o7 d& @
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
& A/ v. \6 z; F! {* d6 [, a. g) k<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>/ [* f1 v! a2 k% V+ S- |% w
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
7 ]" r: A9 M5 P7 c0 _- s: L<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>+ d. `' X5 p8 J, { U7 v
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>( ^5 p4 } M) D4 }3 F1 E
<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>- [8 {; m* l' b( g5 g! M. s+ {
<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> {6 B/ b" V& t: N* D; a4 W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(34) = &H0</SPAN></P>5 v' C N; ^6 q u
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
" E. D' O% S1 ?' H6 ?: N! j<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'tell cpuid what we want</SPAN></P>
1 X; j2 y9 v4 j, V1 u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EAX = 0</SPAN></P>
9 J* E9 A* A) |<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
* c8 N5 ]$ B. I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Machine Code</SPAN></P>2 a6 N- P! G1 z: g% d+ @) q: y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>VarAddr = VarPtr(MachineCode(0))</SPAN></P>8 D* s* p% y% w
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
0 e' d4 u+ E& b; { {<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Sub Dummy</SPAN></P>, H' o; a+ [$ [8 v# X1 n
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>FunctAddr = GetAddress(AddressOf Dummy)</SPAN></P>
* ~ k& M$ v- z' z1 \& f; M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>6 r0 F* Q! c: ` m) L% ?- o9 P( t
<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>
% Q# V+ a* a4 ^<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>, b& ^$ p- H Y4 V
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>3 x+ ^2 s4 U$ y; r5 F9 Z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'call it</SPAN></P>
% w3 r( a" T( F# X/ g' T4 E5 N<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>' {- S( D- \7 q
<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>5 l- D8 w! h# n& R( Z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'Debug.Print Err; Err.Description</SPAN></P>2 i" x8 C3 F4 z( t6 Q. |; J
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'MsgBox Err & Err.Description</SPAN></P>
) q# s4 {( T3 u* H. Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>On Error GoTo 0</SPAN></P>
X+ m! t! [" s# v2 Y7 M5 b( |8 t<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>9 e6 {# Y( N8 v6 ]
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName</SPAN></P>+ a v4 N F# R4 a' a6 {; Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
' O6 i6 {1 T( ^ K$ U<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>
" ^: F, O# [. r" G<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>+ |) Z% D- r! q$ H4 d
<P class=MsoNormal><SPAN lang=EN-US>Private Function GetAddress(Address As Long) As Long</SPAN></P>
# V7 I5 K# ~7 Y' D& H) }; ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
{; N3 c7 _. D D; X' c<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetAddress = Address</SPAN></P>
" w2 t- v4 S/ [$ y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>* s0 o: y! G( u- D9 y3 b2 V
<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>
2 n1 k0 p1 \9 Y- G<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>% K' P `' x3 d! W6 M( c$ s
<P class=MsoNormal><SPAN lang=EN-US>Private Sub Dummy()</SPAN></P>
( |9 R) i% J2 E+ N5 F6 S4 }<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
9 J5 u5 O# S0 `<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>
- f: K; F" P- S) n4 d1 j<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'it is never executed</SPAN></P># `$ ]8 S! c+ ~: z" f2 j
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>. U" O6 ?8 e7 N
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>: y1 H$ t' I' S; i/ m
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>
/ z7 x# ^ j+ A6 ^7 W, D( c* p. S<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>1 O0 x- J4 e: }( b7 {8 k' Y, p# E
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P># X$ J) H' c1 I# o, Y' c
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>
: i: j( G9 N: d# j<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>
3 ^3 t9 p( y. w& X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>
- l# e, j" y) {+ K" l7 d<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>
% K4 v( p- W( u; ^' L& f5 Q8 h<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>
" Y% {, q( q; W+ T+ J' D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>2 |' d4 P8 v& u* h
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>
8 A) s0 l6 ~9 v& ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>
F/ m! R9 L, Z, ^<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>
/ N+ D2 H$ R; O7 O8 B& }- S1 G+ G$ A V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>
. |; [5 F# p& q0 ^' Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>
J: i' c. U- `4 C" U( G9 v; g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P># Q# l p7 y6 b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>/ v6 W4 r+ v- H+ u3 V- ^9 O
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>! F; Z& g* I9 o; [
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>8 s" x$ B% J! p9 Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>4 t/ p) `* ]8 Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>+ l2 C; f8 Q; G. J* c7 M* c
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P># n) x+ Z J5 q; e+ F' h
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>. M; F. S6 F0 V! |" z7 Z4 L
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
. c# n: [# r1 \5 h7 ]* Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P> |