<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>
2 E2 ~( X$ T3 t9 K- |<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
- t5 U, D8 B; h& R+ l E3 X8 e8 C/ i<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>
q) W) h: a$ P/ k4 D$ Q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>- T7 N3 K- N6 D- W7 o( _" p
<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>9 n# F8 d& K/ R
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
! u, {4 \9 J$ h0 u. e) y<P class=MsoNormal><SPAN lang=EN-US>VERSION 5.00</SPAN></P>) y) d9 l: C% L
<P class=MsoNormal><SPAN lang=EN-US>Begin VB.form form1 </SPAN></P>8 f, F; N" l2 Z- E b e& j
<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>. P9 B$ z# i- l/ C3 D
<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>* J! P# w6 O& u7 h9 U
<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>
) `; u6 P4 y! \+ a. E7 {<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> z" U2 @ i3 Y, u8 ]- D' S* T4 H
<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>
- ]" N& R2 l# d1 A) ?<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>" |+ @. A: i0 n- P( f. Z5 X7 d
<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>6 S: e: ], A/ o8 z; V" d
<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>
1 _$ E6 a* Y4 w) z4 E: 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>8 q" Y. b" N( a! D
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.CommandButton Command1 </SPAN></P>
; L: ~1 ~ M' B1 R& I4 F+ |<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>
- {) k* H: Z! @) A+ ?5 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>
* f# N E+ W p5 z& T<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>. F8 D9 R$ U- r2 T6 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>0</SPAN></P>
3 a1 T- r+ @) v- m<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>2 r7 m3 @$ t2 U; t
<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>
1 w7 v; I- \" L" B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P># j; ?4 Q {$ W- z+ Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label2 </SPAN></P>- m1 O6 r/ U( ]
<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>% T8 V1 z5 F( K9 V
<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># Y8 y4 G6 x8 x' ]3 f5 U
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>0 v3 s3 z# L0 s9 E" E
<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>
# ~$ v$ r/ p0 Z+ h# `0 N<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>
7 A, |& t+ i/ d7 @+ R$ L' f<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>
, _7 l/ n0 l4 x0 {& E7 t<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> ^' B, ?+ ^ ?+ l R
<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>& Q8 l' J( c" t# G: F& h
<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>0 |) Z8 q; `0 ~5 S; y2 \
<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>
+ s6 a5 w3 ]% x/ i. |$ F! w0 [7 s3 l<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>
5 E/ k: b! ]$ T6 q$ e<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>2 g# v* ~# X$ v: N8 E3 r q" ?0 A
<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>
8 O. r( Y3 o) i5 p& X' l" 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>2</SPAN></P>
1 u* z3 w6 F7 F5 c4 P8 B- s8 P/ L<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>
m d6 c8 M% @0 N" u% H/ d<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>
! F) v! `; O. e: o2 M/ z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>: B8 B+ o3 N. ]$ Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label1 </SPAN></P>, [, {* w, Y# s2 K) A+ E; S
<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>9 j% Z# r: h5 ] t! x8 y1 |- b
<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 r3 O5 Q6 {- v% m/ [0 n4 p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>1 U4 @8 k5 }3 F. 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>"Arial"</SPAN></P>8 ]7 _: U' a+ u4 o2 _( e' d/ y$ L( 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>12</SPAN></P>
4 G/ P' ~' {4 `- }<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>. o. V, f( t4 F1 k: z/ e a, E
<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>/ G3 E3 Y8 Q: e; F, }
<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>/ r3 S: n$ C1 p, Q0 o. a
<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>& {2 F+ M6 R0 h) s* H7 l
<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>
) }4 x* F: _( p! l3 ?) U' [, G<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>0 e& b9 x3 C0 [/ \ L. Q N! H
<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>
- p, b/ F3 x% r! j<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>9 d! |* m: u& \
<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>7 g8 n" g1 W4 \1 Y7 ^+ b
<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>3 N" m1 B/ E3 u8 y6 I) k5 X" C/ 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>
1 z7 `* Y( P% f; @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>
2 O3 o/ U$ k, ^* e% M<P class=MsoNormal><SPAN lang=EN-US>End</SPAN></P>
* X; T4 ?: q+ F& D1 Q<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Name = "form1"</SPAN></P>
: C, Q9 R) _+ Y& h4 o9 O<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_GlobalNameSpace = False</SPAN></P>+ l X( R/ P9 G3 s0 i
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Creatable = False</SPAN></P>
' u1 n( X. M7 l1 w<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_PredeclaredId = True</SPAN></P>3 O3 ]3 m, u1 N) u: P- h
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Exposed = False</SPAN></P>6 G! c6 ^# E; N1 p+ @
<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
$ [5 m) @/ }& r, f& j+ _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>3 u! _/ D1 x9 E/ w3 o
<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>
! H9 r) w- s3 v! C4 k. Z" _, \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
/ L9 F0 {) f7 m0 D+ s7 B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = ""</SPAN></P>& S; m) @- y+ H" S5 _% X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label2 = ""</SPAN></P>& ]: @! n% j6 r" \. `
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
! U2 W4 \! J9 \6 V- G: p<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>' x) D6 \; R& L7 i
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
" E: d1 f7 I9 M5 U3 I/ t4 I, A) o<P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_Click()</SPAN></P>; N D7 c! L: Q+ e' p) ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>+ h0 y9 O( w+ n; D& L, \ f6 C- ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = GetCpuName() & " CPU"</SPAN></P>
3 x6 V' F# l: k6 T2 t+ ?5 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>; e% P4 H. w1 f
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>" C. S* d. y! }' k. f& M# B/ @+ K3 @5 m
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P># l* a, K. o4 a* v+ O7 y2 M# S
<P class=MsoNormal><SPAN lang=EN-US>------------------------------end---------------------------------</SPAN></P>8 w2 {6 c" z8 V( h$ p3 \; D2 a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>1 s! B' y# N% n4 X1 y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
: r8 O Q8 ]2 J( i0 e' `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
/ I3 U' U$ b% s7 o5 x<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>
! y7 h; _1 E$ D( V8 L; F5 X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
4 b8 h* I& ?8 v' Q) A u% ` R+ W" U<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>
. a. z- `0 M0 W0 J+ F$ w<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
* y; q- f9 m' {- k+ N% U J<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
) ~% L; ^6 t: T. }, V7 D. U, w<P class=MsoNormal><SPAN lang=EN-US>'This shows how to incorporate machine code into VB</SPAN></P># @7 }2 e/ }) k/ V6 a
<P class=MsoNormal><SPAN lang=EN-US>'''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN></P>! { x3 g+ I A/ }
<P class=MsoNormal><SPAN lang=EN-US>'The example fills the array with a few machine instructions and then copies</SPAN></P>( \: W& H+ g2 A
<P class=MsoNormal><SPAN lang=EN-US>'them to a procedure address. The modified procedure is then called thru</SPAN></P>
3 l4 T. b, `/ c4 v$ V. [<P class=MsoNormal><SPAN lang=EN-US>'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.</SPAN></P>
* j: R. q. y5 Y/ l( D3 j, b<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>3 u7 f( N; b1 H8 D
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>/ p9 h) R+ L T
<P class=MsoNormal><SPAN lang=EN-US>'Apparently it gets a Stack Pointer Error, but I don't know why; if anybody</SPAN></P>
. j/ {6 B% [1 Q; ^( B<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> d* g0 v' R2 U: {: S1 S# a$ M
<P class=MsoNormal><SPAN lang=EN-US>'The Error is not present in the native compiled version; so I think it got</SPAN></P>) s7 ?. Y/ T& t( ]. K! j
<P class=MsoNormal><SPAN lang=EN-US>'something to do with the P-Code Calling Convention (strange though)...</SPAN></P>, F. V( H9 g7 a( U$ U0 @1 l
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>+ r/ Y: Y# ?* G2 y" w" ~! u
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>& W4 k( e! o( Y* z
<P class=MsoNormal><SPAN lang=EN-US>'Sub Dummy serves to reserve some space to copy the machine instructions into.</SPAN></P>
. \3 v# H0 c# z! v. n+ ]# b<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
0 P) o( l) K& U1 b- r<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>: K! [3 [# [9 ?/ w+ v7 F& {
<P class=MsoNormal><SPAN lang=EN-US>'Tested on Intel and AMD CPU's (uncompiled and compiled)</SPAN></P>
! O0 i+ F" [/ L- l) \7 l q<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
+ z( a/ Q2 Z- T* Y6 x5 ]$ I& ]<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
) x3 k! }: q& `$ J1 M9 b% O* ]<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>
/ ~6 Z& T) b+ o& v/ [0 ~" t2 j; L<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>
. ^7 u) h7 E8 K1 P$ V/ l<P class=MsoNormal><SPAN lang=EN-US>Private x As Long</SPAN></P>; I7 R- ?4 p _$ K+ M5 }3 r
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
' x) V* J6 Y) i9 u. s2 V<P class=MsoNormal><SPAN lang=EN-US>Public Function GetCpuName() As String</SPAN></P>7 M9 `- e u/ U; q0 O9 {+ U* k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
6 ]' h/ g/ N+ Y6 @<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>
/ {; ~$ K+ G3 h) d' M! Y2 s$ 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>
) C! @# j+ f* p) h% h, n<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>
) y0 {, @+ j: C7 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>6 h$ Z0 j: Q* O# t- N* Q
<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>
0 Z' w- k0 ]# x+ T: y$ |<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
" X/ O& d0 C. E: M# P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'set up machine code</SPAN></P>) \2 @ I/ S% {: z" k- k. |, g
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>" c c* G) ^2 i6 ^, M3 q0 q) G; z
<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>
" ]$ o4 X# e0 [# W- N' x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>2 K9 N9 i& b3 y/ v7 Y
<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>( | ~0 D2 g5 i* C6 H9 O
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(2) = &HEC</SPAN></P>- ^: a4 _6 s- O+ s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
% e0 P% i- n5 L+ q# c0 X<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>
3 v1 B6 N# Y( J j* [<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>. x! J0 o4 L4 `
<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" W7 y9 w: x: b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
% L) _3 A# w: _- M; Y<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& _# V; b/ y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>) c' [. }9 M# {) A) [" p0 [
<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 g' Y; X* V8 X" ]<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
7 w% X( p; J ^3 I' b: L<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>
7 y" ` I+ w1 A( _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(8) = &H45</SPAN></P>
3 U4 B0 }8 o/ M% B2 M. F5 L<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(9) = &H8</SPAN></P>
' @) G0 ?9 q) _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>: s% O' P; _! G& S/ S
<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>! m$ k6 m2 \% {+ ~3 d8 D
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(11) = &HA2</SPAN></P>
0 T, Q6 G% G) K. h _3 K<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P> C2 K2 D' ]- d1 Z! 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>
0 l4 A0 [* B: x3 l5 d7 n<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(13) = &H7D</SPAN></P>& @! r8 h) }: x" L9 S
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(14) = &HC</SPAN></P>
5 n! g( n" W! N<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>5 B3 \1 U' O6 L+ \3 I
<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>* D P8 U* }4 ]1 Y C- k1 Y: Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(16) = &H1F</SPAN></P>4 y% g/ C8 T! j9 T o$ W/ |, _
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>' Z* j4 z7 V% X" d$ \
<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>
' h* e; ]! A! T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(18) = &H7D</SPAN></P>5 Q& s* Q: ~1 V* ^/ ] T
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(19) = &H10</SPAN></P>
/ O+ Y: w6 U# R5 b3 `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>$ l- Q# j# K# j' p U
<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 S5 u- R5 d+ O; @' ]
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(21) = &HF</SPAN></P>* l) z) n/ r: [
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>) G/ x3 F! f+ d5 U% L
<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>
. X8 Z3 j% n) x" y1 R O; m2 [; i<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(23) = &H7D</SPAN></P>: A6 I$ ?# x( L$ ?; u, \' X( L6 M
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(24) = &H14</SPAN></P>
% ?5 H, U. ?: N1 t1 d# J<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
# o/ U# n9 W; C' A& R% l: `! {' |<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>
. H0 ]) O; X- z& `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(26) = &H17</SPAN></P>
" T- {4 I& Z$ z" i8 Y: C+ D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>2 g7 z- F9 J8 f ]
<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>
2 w( v9 B2 L- b$ H R& F5 e<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>( N7 b8 u" u. ~; N6 x* x- K
<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 q7 z) K' E% W5 Y. a9 e
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>- z) m/ e# r* o4 m1 F" y8 P% h$ [
<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>' O7 ^9 ?8 X) W+ v" k1 n& C" S# G J
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
2 g- V8 n( R# h" g<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>
9 a& i$ `" u6 Q2 d( g# `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>( M$ l$ T- }. \6 x# ?
<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>
& i& a5 g' R3 S* L8 U7 F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
' {4 E8 ?, {. G- Y. L% a4 c<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>' l, i% q! P2 H3 _
<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>& ^) D& @/ g- D1 B- H4 S$ A
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(34) = &H0</SPAN></P>5 S, X! u2 g& G$ D9 k' G
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
. m! n g8 s* W8 N<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'tell cpuid what we want</SPAN></P>0 |: q( F/ Y( T. ]5 v1 g
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EAX = 0</SPAN></P>
" v1 f+ S( c9 H: w$ ?, @8 t" Y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
7 [+ g! P2 B0 W! u3 S k# A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Machine Code</SPAN></P>
5 Y# Q; Y4 @( o7 L$ I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>VarAddr = VarPtr(MachineCode(0))</SPAN></P>) d$ b( b+ G, k4 N- h3 v/ O" n* G
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
- p4 v! r' A+ J( b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Sub Dummy</SPAN></P>0 O6 k' z' y0 U. v \7 F D4 w; u( g
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>FunctAddr = GetAddress(AddressOf Dummy)</SPAN></P>2 C* D- ^* |- `6 R/ o8 W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
% k5 L. P/ t; | ^% u& `2 F<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>
; r5 u1 k: }1 y) u* J1 v<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>5 s( b! x/ u, o
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
, u3 C9 B0 Z& D6 T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'call it</SPAN></P>8 a1 }5 y$ R3 O4 A* C: U; s- d
<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>
2 k- O0 t6 R9 K* q- |# o<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>3 O: M, |8 W( C, t# g
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'Debug.Print Err; Err.Description</SPAN></P>5 q0 e# B! z' E/ K1 z3 O! o" V/ e8 t
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'MsgBox Err & Err.Description</SPAN></P>2 g% Y4 Y7 J8 s6 g, Z e' d
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>On Error GoTo 0</SPAN></P>
* k5 b3 {+ [ E D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
7 r, A% L O2 ]2 x; ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName</SPAN></P>/ d6 T, `' b$ ^5 w" _( I; a$ J( }/ j9 u( o
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
9 l3 n9 c k5 F8 z2 e<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>
* v4 V. F' S0 d0 m! ^2 q+ B5 ]<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
" c" P$ F1 U' f9 i6 n+ J& Q<P class=MsoNormal><SPAN lang=EN-US>Private Function GetAddress(Address As Long) As Long</SPAN></P>
7 l7 N2 [& \+ S2 g4 P( }( Q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
3 \2 t+ Q6 _. O! @# _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetAddress = Address</SPAN></P>9 ?! d( a! T) c# q B/ i( Z9 \
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>6 w1 E* ^' x1 \; z9 Y
<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>% C. k+ B- m o/ Q8 o9 s5 h& e
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
" |+ Y- s. l4 W' G<P class=MsoNormal><SPAN lang=EN-US>Private Sub Dummy()</SPAN></P>) f# o* q4 O- }9 H& H2 p
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>% `3 C9 E. L2 F6 n- i$ X$ o5 Y
<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>: Q) i3 W& z6 m1 d4 U% R4 n, b5 [% p
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'it is never executed</SPAN></P>2 P6 b, O- P7 p/ y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
4 d$ l( y3 D& `8 i$ L# G- ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>
1 g+ R" }' t0 p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>
; r/ @5 q- q& D2 M% E+ F( E* x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>
; c% e6 o7 n, Q' |+ L7 ]4 D# \2 v<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>3 M* R* H3 V% X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>
* B" d! [7 D' r v2 v; ^( a j$ e: Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>2 P$ j, U4 `7 ] q5 a( ^' y; |
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>; W7 }+ x, q5 |
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>
. N# t7 n& J6 G' Z! q: p3 x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>& k' c# H! R6 X! L. x- U( `- f
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>2 Y& y0 {$ k7 _, [0 e" X4 R9 r
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>3 w% W4 B& b2 f' D" y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>
8 _, i8 l, g' B9 `: x# }. b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>- O5 r3 W! U1 y3 I1 ^- k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>, T1 q$ q5 g+ w, d
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>
& l- w: d4 U) T; O) i# U# `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>3 m% o8 L# ]/ _! ^2 V2 w8 b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>
2 o8 C, Z! C. D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>- X; n% N2 U" } |
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>
( o, m3 u5 P1 J0 G' l<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>
3 P6 P2 N* k/ k: F/ @' ^& k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>/ C- }8 f) V) X+ \
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>
3 [- V+ x7 V; H<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>: Z: P7 T6 f; N3 H7 t
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>5 |( m% Z% b+ P' P* O2 z- `
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P> |