<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>
( W8 j: L- x5 t6 [2 S<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
: o! R5 f( [7 p. ]3 U9 |+ `3 p* B" e<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>: L' ]/ R0 t* v- M
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>7 m$ K5 Z- w, v9 K0 X3 d% e. y
<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>
- x9 o9 W2 w: {% A3 r<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>$ d; ?# x: k8 w( W/ U7 t5 T+ L
<P class=MsoNormal><SPAN lang=EN-US>VERSION 5.00</SPAN></P>
6 Y) m3 Y- O/ [ V l<P class=MsoNormal><SPAN lang=EN-US>Begin VB.form form1 </SPAN></P>
, u8 n; B" d d7 b: l, d<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>
5 u) a/ C" I& q8 I1 X" _<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>
$ ]: g' O9 J; Q2 t4 m) o<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>- w* V1 G3 k) j" P
<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>, A/ \3 t6 O* \4 G
<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>
$ m- e9 U& F1 F, @, {<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># S& d E( U4 K Z
<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>
9 O V2 \" d8 Z<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>
& z5 ?5 H+ i, t2 j6 h. 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>/ B" S6 B/ s0 S. ?6 G; O, s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.CommandButton Command1 </SPAN></P>3 M" G3 i) g# @! c
<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>! L& V! @7 l! Q8 u( C; z, N4 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>495</SPAN></P>
* X0 _8 G' z, T; ~; 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>840</SPAN></P> o. g& w$ v' R2 w% n
<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>* Z5 l7 _# v( |1 P" k
<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>
& z$ A1 H6 U& Q/ E<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>
$ f& M, F" s& q, c4 Y! B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>; i' e3 B5 s, {" B$ J; ]4 A0 b3 F- \
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label2 </SPAN></P>5 u. p; ], T- |$ l3 u) k
<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>+ L+ V1 Z/ Y9 j6 R
<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>1 m! X- Z4 i1 w/ B
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>
# g9 R, O9 V8 N<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>( w6 Y5 J/ A- L r1 \( L; K
<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>
& f8 n$ k/ F9 h* o! w# O' s<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>
! y) S5 a" w3 n# C<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>
/ P) ^5 H3 P1 D7 ~" {* n8 W4 s1 g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Underline<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>0<SPAN style="mso-spacerun: yes"> </SPAN>'False</SPAN></P>
2 \' r0 r4 C1 D' o5 L( 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># i% {% N0 q* q- z* w, b
<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>( [6 |; k9 J. n [( R) @
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>! j, F. m4 g+ C& z" H7 d( ]
<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> \. x' D; k X& F. [1 @, ?& O6 p$ H
<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>
0 z1 G1 x( @' o) w3 `! 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>2</SPAN></P> K; ]% W) M7 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>1065</SPAN></P>% W1 J2 @ h5 I# j9 O$ R% H" i% L
<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>0 j1 l, D7 b6 D4 \; l: l% [% l
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>* F6 H3 ^; s7 {% |1 c3 j$ F6 G
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Begin VB.Label Label1 </SPAN></P>/ C+ k9 u" i a1 M1 C8 P4 P
<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>$ Z( i9 a0 B9 G! j4 _) X7 D8 Z
<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>3 J7 c' T- c' c+ w" i9 z2 ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>BeginProperty Font </SPAN></P>5 m$ j. f- g5 m, D8 x' m
<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> h( z" V) R$ W* x+ M% Q
<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>
) }. }; t& \4 W4 R+ W<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>
0 U' X" H1 R, z' V/ B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Weight<SPAN style="mso-spacerun: yes"> </SPAN><SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>700</SPAN></P>
9 u- n$ x& M0 m$ [1 ~7 U<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$ T; n7 X; o F# T# I2 c# 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>
k1 o! O* c" p7 a, j. z3 O3 u<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>
; Y0 I8 T; c( B. a6 b$ L# m; t<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EndProperty</SPAN></P>7 @6 ^7 M( Z% s- s) A& D" R
<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>* f6 z6 x, _: E
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Left<SPAN style="mso-spacerun: yes"> </SPAN>=<SPAN style="mso-spacerun: yes"> </SPAN>1515</SPAN></P>8 y, P3 S2 s' v0 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>
3 A1 _) Y2 L* I8 _# |<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>( ?+ |1 {* c9 q( O8 G1 Y5 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>75</SPAN></P>$ v$ | `" x5 B+ k: B- ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>End</SPAN></P>
$ H# Y& _, q( e7 A- _5 T; P<P class=MsoNormal><SPAN lang=EN-US>End</SPAN></P>. A A+ E1 W, G0 X$ i1 _- l
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Name = "form1"</SPAN></P>) `, T' J8 v5 R+ \
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_GlobalNameSpace = False</SPAN></P>
% H% J/ B- g( g+ N& M7 B<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Creatable = False</SPAN></P> ^3 S: C3 u/ A4 _
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_PredeclaredId = True</SPAN></P>5 V0 _. V- G( f2 {7 q2 o
<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Exposed = False</SPAN></P>
! b$ s! p3 X+ X" r<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
0 R0 V% [. l' ^5 o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
f5 c0 q- g5 b( q& s<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>5 z2 N ]6 R: v) z! U( c+ v
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
" R$ {& x( ~ ^$ Q2 g1 d<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = ""</SPAN></P>
8 J k* R2 G; u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label2 = ""</SPAN></P>
8 L% n$ N3 k6 |1 a$ T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>3 ]" l. C4 f8 b- G; g7 b% Y3 d( Y
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>/ j, m( Z" x# o( c- q, Y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
2 W- [) C2 A* @, p* F" d<P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_Click()</SPAN></P>
. o6 b& _- F2 V- e2 E<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
$ |0 P9 e9 C% t( E( M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>Label1 = GetCpuName() & " CPU"</SPAN></P>( o6 T' N2 A$ U9 h
<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>! X) y: z3 z. l& f0 ?+ {) X5 t6 {
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
' ]9 f5 q) G9 b/ ?4 [" e7 s! I<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>) N5 _" S# T+ ~4 Z" Q# e
<P class=MsoNormal><SPAN lang=EN-US>------------------------------end---------------------------------</SPAN></P>& ^) Z( V% w* I$ [1 I
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>! `# e3 X% S2 g! Z0 [- b" g! g2 A7 k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
# V7 Q9 L. {3 o5 ^<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
; J# y( w" M9 C3 t0 l ^<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面是</SPAN><SPAN lang=EN-US>modu1e.bas</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的源代码</SPAN></P>
( t2 G9 z4 m5 i! [# t- B8 _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
; M6 O: B: W. _6 p4 m<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 M9 e3 x0 m/ h( J$ S<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
7 X$ y7 A. T, Z! l<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>3 T9 [8 U; D( m% Q
<P class=MsoNormal><SPAN lang=EN-US>'This shows how to incorporate machine code into VB</SPAN></P>$ s4 s+ b, F. M* r9 ]
<P class=MsoNormal><SPAN lang=EN-US>'''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN></P>0 H/ m2 [. @- C8 A/ R) v' c% d
<P class=MsoNormal><SPAN lang=EN-US>'The example fills the array with a few machine instructions and then copies</SPAN></P>
6 R6 m& L+ i! m* M<P class=MsoNormal><SPAN lang=EN-US>'them to a procedure address. The modified procedure is then called thru</SPAN></P>
! i& t+ I, z1 o! l$ A<P class=MsoNormal><SPAN lang=EN-US>'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.</SPAN></P>
, D; r7 K1 U4 D6 [2 v<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>" s& ^3 d: I" l7 Z
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>/ J; d M) E" r* }* B
<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 L, H# ~/ p( ?' K
<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>
4 j# q* b! E3 O) W, B! ^<P class=MsoNormal><SPAN lang=EN-US>'The Error is not present in the native compiled version; so I think it got</SPAN></P>9 z1 e/ c, r; O$ `
<P class=MsoNormal><SPAN lang=EN-US>'something to do with the P-Code Calling Convention (strange though)...</SPAN></P> x1 U) |/ C& _ o. C2 L
<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>7 g5 k7 g& |) R. r1 m
<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>- T2 P! w' C* ?1 W
<P class=MsoNormal><SPAN lang=EN-US>'Sub Dummy serves to reserve some space to copy the machine instructions into.</SPAN></P>
, l" V e$ }5 m, v7 q4 ^+ e<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
9 M* W/ D5 u! X4 F* X2 H, H<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>) \5 r6 i) [: a) X
<P class=MsoNormal><SPAN lang=EN-US>'Tested on Intel and AMD CPU's (uncompiled and compiled)</SPAN></P>
# T0 P. X, G7 T, N6 c- N9 b4 \<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
q9 B4 u9 U) A4 N* o1 j<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P># c5 I$ a9 n0 o8 h- ~
<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>! b P8 C! E/ R8 n
<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>2 H4 y ?6 A& l- l. L& t) ?
<P class=MsoNormal><SPAN lang=EN-US>Private x As Long</SPAN></P>
- I6 l9 [, j: o+ U, x% j' x( ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
8 E8 O! y) v; [( }3 @) @<P class=MsoNormal><SPAN lang=EN-US>Public Function GetCpuName() As String</SPAN></P>
8 t# d. [1 k2 i, W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
: D* z+ A# n# |6 F7 R<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) h, I% t: B8 o9 ?! u<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>' r4 p8 p; R9 D, 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>
6 ~ W! r1 V8 \( c2 }4 ~<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>
! D4 b2 l/ z a1 A) U/ n<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>5 n0 J( R! r- M1 b% y/ j
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>. i, r0 H8 G' D: ]# J0 I; |
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'set up machine code</SPAN></P>4 Z/ x- R% j. T
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
" _4 y5 \, S( \' Z2 i) c# B<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>
B. G+ ~& M' A8 r" _' |& o# B( r<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>- }/ a8 ~5 V1 N( K# y3 Z
<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>
) c8 p2 ?$ r5 k# W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(2) = &HEC</SPAN></P>
5 Q6 y3 {: a. k7 E) L<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>6 e# b8 f0 K$ Y; g9 h# G
<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>
7 Q) P+ a, I- ?4 L! D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
- R, k* ?* j/ F* _6 E F. W<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>
g- J* }, m/ O. l( }) n" @' D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>! F) ^- U8 Z& r" }" _7 s0 P6 ~8 C. e
<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>
/ j5 g) v4 v( a( O9 b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>( X+ \( Q0 A1 ^" z0 P' a6 o
<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>
. @! l) t$ H9 u' ]) v7 x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>, u, _( D2 I, `, T% c+ `0 F
<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>! T# }* ^( @$ D7 Y+ g; G
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(8) = &H45</SPAN></P>8 k+ _9 v: B( X. l7 G
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(9) = &H8</SPAN></P>
: J$ W7 F5 y7 T! M8 k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
! z9 M3 p8 g o: m1 ~, 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>
7 o" F9 i$ a8 j3 A, y. p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(11) = &HA2</SPAN></P>
$ g- G: X x3 a& p2 R$ K1 u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
+ j! a; z0 l! t1 }( ]1 j+ x<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 _. z% X% [* K5 y
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(13) = &H7D</SPAN></P>+ {9 j2 X. I" B) ~; ^& x
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(14) = &HC</SPAN></P>
4 X! |+ }% M! j# y0 g8 y8 I+ P5 Q q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
7 E7 J9 O) t3 d' d# Y. {<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># v5 b0 h* Y$ z# I, y l* Y% u
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(16) = &H1F</SPAN></P>: b9 ^0 V# E- i8 t! [4 k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>) g9 B3 p: ^0 o# `* F- f _8 |
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(17) = &H8B<SPAN style="mso-spacerun: yes"> </SPAN>'mov edi,dword ptr [ebp+16]</SPAN></P>
; t/ m7 _ V% D; c7 |<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(18) = &H7D</SPAN></P>
0 I5 l6 t0 T' v r8 ^<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(19) = &H10</SPAN></P>2 c4 o/ F$ x& Z8 D# Q! X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>' P& D8 A K+ T6 ^
<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>
! d+ n$ w- @) P& b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(21) = &HF</SPAN></P>
! v( g/ @$ B3 v1 n" h) i<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>2 J& Q: m) i) X a- X& D0 ^" ~
<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>3 I' h2 o1 G1 W; Z( C4 X& n) h
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(23) = &H7D</SPAN></P>! g4 |4 S" u3 r& e n! h: W$ }
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(24) = &H14</SPAN></P>/ T. j. @. C% E6 z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
6 A+ e& e2 b2 t0 S$ y8 }$ F<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>% a) J- Q' L- g) j2 p
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(26) = &H17</SPAN></P>, X% d& e5 m( `& f; f; R9 w
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
" e; O+ ]2 P" v+ a<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>
9 ^: `* M* @" }! h" G; z) I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
9 j' E+ c' C C% Q* ]3 S f# ]<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>$ a! J# x7 }! A
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
5 h1 X- h5 ]. ~<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>
{; C* D8 B$ A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>& L$ e+ P8 t R. M9 M# A
<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>
1 T5 j9 h$ }: i& T$ C+ r, m<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>4 S/ Y; I$ b, p+ Z; E- c6 l' J
<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>
4 S% E. N5 Y0 _6 I! ~# C. E<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
+ p4 {& Y/ e! S6 }1 t<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>
; B5 m4 T' A7 D, S5 R' E% b" W X4 @<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>
0 Z7 ~" O; {- y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>MachineCode(34) = &H0</SPAN></P>7 K0 H6 [3 ]0 h6 j* P! y" j/ g
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
& y% d% T1 Q D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'tell cpuid what we want</SPAN></P>- s- u' G; ^: e% [) ?
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>EAX = 0</SPAN></P>, k. t6 f! ~# m* E7 k# i$ F& ]
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>9 s, ]( m2 n; L$ a
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Machine Code</SPAN></P>7 g2 o# S+ i0 P9 ]- }/ X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>VarAddr = VarPtr(MachineCode(0))</SPAN></P>3 i7 G! o& s1 n# b
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
8 u* X3 k9 t. Z, z" C7 ?( P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'get address of Sub Dummy</SPAN></P>( a5 R- T |. Z6 n
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>FunctAddr = GetAddress(AddressOf Dummy)</SPAN></P>8 V8 _6 L9 s) Z* r! V
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>7 x* M$ I7 Z- r& l* \$ Y5 a7 G
<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>8 |2 {$ W1 t, B5 V1 q) W6 t4 z1 X! y
<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* y, \. R, b9 o" w<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
4 h* D$ z, q7 ], F& Q6 V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'call it</SPAN></P>
7 c7 I; R% U* ~8 [2 g8 ?" L<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>" B+ [, m/ }4 U4 ^- }+ z
<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>
( I, r: C' l7 e1 r+ u4 I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'Debug.Print Err; Err.Description</SPAN></P>5 P% r, |! U' `8 w" b0 A& Q
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'MsgBox Err & Err.Description</SPAN></P>6 S3 n/ H$ e$ p u% K0 f5 i
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>On Error GoTo 0</SPAN></P>
* ~" d3 H! N' W- J) Q7 i<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>& p Z/ B4 _( D7 W; P9 J4 k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName</SPAN></P>
! ?5 {" n. N% D% s<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>
$ [$ n6 A, n' h5 o; |4 K3 s<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>
, f0 _" C2 L" v. T, f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>) A, D" ]/ l) C
<P class=MsoNormal><SPAN lang=EN-US>Private Function GetAddress(Address As Long) As Long</SPAN></P>( |4 D9 @7 v7 i# H% t1 J
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>- h8 J) |' o7 G, ]: v6 _
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>GetAddress = Address</SPAN></P>
5 U7 ~) {# J, p- g5 g+ c, Y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>4 d5 k4 X/ Q" o5 J$ I4 G
<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>
$ R% `+ K+ }: e8 s<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
7 u8 }" Z: M# A0 M<P class=MsoNormal><SPAN lang=EN-US>Private Sub Dummy()</SPAN></P>( j, E, f( _/ {' S
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>
! f1 g1 Q8 ?5 _. n2 m<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>
5 W! K' k- }) L6 R4 `# y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>'it is never executed</SPAN></P>5 `9 s" O6 A. ]5 m# q( W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P>) z- i3 p, P- Y: q, `% A; k
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>0 R+ ?" A6 a8 g
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>% M* e6 v3 q: g* V8 W
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>3 @" S; \! h9 `, J7 z. S. Z; x0 n* y: C
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>! H7 R- N2 }, Z
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>
) X9 Q# ~+ Y6 o" G8 `' `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>
; E* j, R# y f1 H* x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P>
# }9 ] j) g$ e e. [* R! P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>
: z8 G" P' Z9 x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>
: n6 [9 z& }3 y+ e9 {<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>
0 M3 @7 O- T2 X! O0 K( C# n<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>3 F) Q3 ?/ p/ J
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 0</SPAN></P>
6 P7 _* k+ Q6 n8 {<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 1</SPAN></P>
8 o: k, T4 K% w2 v# P" c+ _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 2</SPAN></P>
7 ~, b% j; L2 l6 [<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 3</SPAN></P>
* m# i$ P3 C8 P2 x& Z+ G<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 4</SPAN></P>: H+ C$ g. P! S6 f' [+ T6 Y2 ?
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 5</SPAN></P>
5 B7 v) r8 p C V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 6</SPAN></P># N- Z+ f$ c/ ~
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 7</SPAN></P>& L8 S% \& o8 c9 K9 t
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 8</SPAN></P>% i0 G g! a$ q4 N4 e7 _, L. O" X
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 9</SPAN></P>5 J) n7 k$ V9 n- s
<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN>x = 10</SPAN></P>
% F( d* T% j: |- i3 W2 z4 a3 A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN></SPAN></P>$ ?: S0 n9 ?/ U" i% b
<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
+ @1 d% c' g/ H: @7 G; ^- u3 ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN> </P> |