天天爱天天做天天做天天吃中文|久久综合给久合久久综合|亚洲视频一区二区三区|亚洲国产综合精品2022

  • 
    
    <delect id="ixd07"></delect>

       找回密碼
       注冊

      QQ登錄

      只需一步,快速開始

      完全用VB進(jìn)行ASM編程的示例

      [復(fù)制鏈接]
      1#
      發(fā)表于 2008-9-28 16:21:50 | 只看該作者 |倒序瀏覽 |閱讀模式
      <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>+ q' b; h6 d; b" k1 K, S
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>/ u$ l+ c3 i, n2 g
      <P class=MsoNormal><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工程文件分為一個</SPAN><SPAN lang=EN-US>form1.frm </SPAN><SPAN style="FONT-FAMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和一個模塊</SPAN><SPAN lang=EN-US>module1.bas</SPAN></P>
      0 g( p! f9 F  i2 W7 f9 a2 W8 t$ G( Y<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      0 d# h" O" L; b2 V1 F! E<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>$ v2 g8 R. j! \( t/ N: r
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>3 B  h2 D1 ]1 j; a& _8 ?
      <P class=MsoNormal><SPAN lang=EN-US>VERSION 5.00</SPAN></P>
      " x$ M) V0 }! j$ S4 a9 Q" X1 s<P class=MsoNormal><SPAN lang=EN-US>Begin VB.form form1 </SPAN></P>
      ; Y! _) _5 K" o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Caption<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>"form1"</SPAN></P>
        [: h! o) T) A6 X0 v<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ClientHeight<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>1965</SPAN></P>
      6 g0 h9 `4 H4 F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ClientLeft<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>60</SPAN></P>( Y  W7 V4 l* g. c
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ClientTop<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>345</SPAN></P>& n1 M* O- K4 t( O
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ClientWidth<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>3105</SPAN></P>
      : V& `8 w- N% V) V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>LinkTopic<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>"form1"</SPAN></P>
      8 X$ t+ t7 _2 I- z, V5 S- p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ScaleHeight<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>1965</SPAN></P>  ]; e. v9 T" F/ f6 m0 d$ g
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>ScaleWidth<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>3105</SPAN></P>! x/ N  _& ]  k
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>StartUpPosition =<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>2<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>'Bildschirmmitte</SPAN></P>7 k9 K% n  i% e0 {1 P
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Begin VB.CommandButton Command1 </SPAN></P>
        o! K* i$ {' s8 S; S<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Caption<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>"Get CPU Name"</SPAN></P>
      % I0 r" P" {- h2 q" C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Height<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>495</SPAN></P>" \8 ?" |5 f( |) e( ~1 k# n4 p
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Left<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>840</SPAN></P>
      7 v! d6 ?8 K9 a6 y- n& w<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>TabIndex<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0</SPAN></P>: C* B6 }; w% A- D5 J; A: ~
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Top<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>315</SPAN></P>
      ' m3 m+ Y6 a6 @1 g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Width<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>1425</SPAN></P>
      0 L6 B( c9 o! K; I* k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End</SPAN></P>
      . V0 ?' L5 \/ p1 Z% D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Begin VB.Label Label2 </SPAN></P>. K$ y' V0 |# [) O3 I
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Alignment<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>2<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>'Zentriert</SPAN></P>
      " ~+ O. J! }; y, [" v% Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>AutoSize<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>-1<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>'True</SPAN></P>7 P* {, d6 L6 r5 A
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>BeginProperty Font </SPAN></P>
      1 r' E& U- T# Q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Name<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>"MS Sans Serif"</SPAN></P>
      1 b" f) n* W. a/ i<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Size<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>9.75</SPAN></P>
      ( ^/ \' k* M1 M: r# ]5 Y0 F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Charset<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0</SPAN></P>
      * u/ q8 X5 [  M+ V6 m5 ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Weight<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>400</SPAN></P>0 d: O* E9 o: O$ k  Q4 b; d
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Underline<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'False</SPAN></P>
      1 I. ~: p" A: w0 k6 `! @/ w<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Italic<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'False</SPAN></P>
      / ], u4 Z( Q0 k5 q" L8 M9 X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Strikethrough<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'False</SPAN></P>& s9 k# S5 L2 V/ k5 d4 ~
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>EndProperty</SPAN></P>
      / z0 n2 j8 C5 |, v<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Height<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>240</SPAN></P>
      " Q9 o2 g3 K( I: f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Left<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>1515</SPAN></P>+ S$ w* Q: C. a, j( w- n6 M+ R% z  \
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>TabIndex<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>2</SPAN></P>5 j7 \. L0 h$ u) A7 _
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Top<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>1065</SPAN></P>
      5 r2 o* w- k$ Y8 r<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Width<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;</SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>60</SPAN></P>9 c% q6 Z1 M' }( K4 x
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End</SPAN></P>
      3 R4 l) L7 {9 ]0 f& l/ k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Begin VB.Label Label1 </SPAN></P>% {) D# {$ ]7 i: P+ B8 I9 u
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Alignment<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>2<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>'Zentriert</SPAN></P>+ L2 w8 f: ~& i- O) a
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>AutoSize<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>-1<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>'True</SPAN></P>
      ( B6 s$ A; k4 b, w. Y3 y# p# M# v<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>BeginProperty Font </SPAN></P>* f. b& n" g$ x9 N( g
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Name<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>"Arial"</SPAN></P>( {! P1 z, a1 b) U( v! a. k
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Size<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>12</SPAN></P>
      # E7 z2 e' E' b/ z3 j& V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Charset<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0</SPAN></P>
      # |: l( v0 B8 j, B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Weight<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>700</SPAN></P>
      1 s% W) Z9 o# s0 l$ I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Underline<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'False</SPAN></P>/ E7 b5 h/ H; n2 ?
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Italic<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'False</SPAN></P>
      , D% N( E: \% V" l7 a9 h" ?. @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Strikethrough<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>0<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'False</SPAN></P>
      ) _5 D: c" e6 u) P3 T6 O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>EndProperty</SPAN></P>
      ; j* l3 s; E* e1 i/ ^0 Y8 E% [7 e<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Height<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>285</SPAN></P>) O$ p9 |( r! y' G0 e$ w$ {
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Left<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>1515</SPAN></P>
      , @5 `. Z% |/ \# g3 @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>TabIndex<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>1</SPAN></P>
      ' b  j1 m1 j4 |7 F' t<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Top<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>= <SPAN style="mso-spacerun: yes">&nbsp;&nbsp;</SPAN>1350</SPAN></P>% c$ j' |0 _! X# ~, C% @
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>Width<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>=<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>75</SPAN></P>
      ; G& g6 j5 F! i$ m2 p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End</SPAN></P>+ z2 j) R0 a) M0 h
      <P class=MsoNormal><SPAN lang=EN-US>End</SPAN></P>& l' g6 h( q; m/ y4 `& R' o
      <P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Name = "form1"</SPAN></P>; |2 b  ]9 W4 g- O1 r
      <P class=MsoNormal><SPAN lang=EN-US>Attribute VB_GlobalNameSpace = False</SPAN></P>
      3 D6 Y" f' b6 u5 `- M8 l! S<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Creatable = False</SPAN></P>
      + G5 t5 ?+ j, p% @# k) J<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_PredeclaredId = True</SPAN></P>  U* J9 h# u0 j. R: x
      <P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Exposed = False</SPAN></P>2 c. ]0 c% N$ M1 B) M5 ]+ ]9 d
      <P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>
      3 f6 y) m; F: G8 O4 N<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>' r* b/ I. F  s* s0 d0 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>: L& p& W* |1 X6 z4 S
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      5 h# y' U* @. Y" i3 N3 A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Label1 = ""</SPAN></P>
      0 U* q* ?. o* H<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Label2 = ""</SPAN></P>* D! Y' E0 Z: y
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      ' Y0 n6 @9 f1 S2 ~) `# T7 G% K<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
      ; M* M8 {7 x5 Q% c& W5 u2 }8 \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      + w6 z  |6 \& ]6 r/ E<P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_Click()</SPAN></P>7 a9 L: g% k$ k& q5 G+ g) ^4 H
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
        L7 w2 V  J, Y2 ~$ f6 m<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Label1 = GetCpuName() &amp; " CPU"</SPAN></P>
      2 ]) l4 B% E- @+ L<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Label2 = "You have a" &amp; IIf(InStr("AEIOU", Left$(Label1, 1)), "n", "")</SPAN></P>  T  S8 N9 `5 r5 ]4 l
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>/ \4 ^, u0 i; w
      <P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>$ g9 x1 F/ Y% a3 O! Q* I
      <P class=MsoNormal><SPAN lang=EN-US>------------------------------end---------------------------------</SPAN></P>
      0 }& ]! K6 a, u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>5 x' y& e. j* N- C$ q7 c
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      ! o( _7 @4 y  x/ a; x9 u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      : X9 O$ z9 O5 e9 R% `9 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>
      $ ^8 @( b; F6 [2 s: j0 x% x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      - J  y, x. I1 l7 b  ^! L7 }<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>
      5 P$ m1 W  q  ]4 A8 G: s<P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>) ?; R! v; s: p
      <P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      - h' W' O! |% G6 y5 O% t5 L<P class=MsoNormal><SPAN lang=EN-US>'This shows how to incorporate machine code into VB</SPAN></P>
      0 X# G! o: d, i6 m3 Y  C% n. z<P class=MsoNormal><SPAN lang=EN-US>'''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN></P>5 i0 K9 @7 y! G3 U/ E9 G2 L9 K, z
      <P class=MsoNormal><SPAN lang=EN-US>'The example fills the array with a few machine instructions and then copies</SPAN></P>; f1 d; O: g; H* Y
      <P class=MsoNormal><SPAN lang=EN-US>'them to a procedure address. The modified procedure is then called thru</SPAN></P>8 v, P' [3 P. z5 m' q6 T
      <P class=MsoNormal><SPAN lang=EN-US>'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.</SPAN></P>' K* W. y: f5 q% P9 e
      <P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      $ r. W8 E- p/ b& M8 d# U7 |<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>! C+ I; Q! B4 n
      <P class=MsoNormal><SPAN lang=EN-US>'Apparently it gets a Stack Pointer Error, but I don't know why; if anybody</SPAN></P>, U3 ~8 B' I; B+ z2 B* a$ x
      <P class=MsoNormal><SPAN lang=EN-US>'can fix that please let me know...<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>UMGEDV@AOL.COM</SPAN></P>. H! T' G0 V3 B+ e8 _
      <P class=MsoNormal><SPAN lang=EN-US>'The Error is not present in the native compiled version; so I think it got</SPAN></P>7 M, X# e: h8 _
      <P class=MsoNormal><SPAN lang=EN-US>'something to do with the P-Code Calling Convention (strange though)...</SPAN></P>
      3 v' t1 U1 l: N" S1 R1 j+ _<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>
      0 @6 y9 m) }/ ]5 F" f" y* k# J<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      2 C$ W+ k* u: w" ^6 E- E<P class=MsoNormal><SPAN lang=EN-US>'Sub Dummy serves to reserve some space to copy the machine instructions into.</SPAN></P>; W/ i9 ~# m$ @
      <P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      4 G. s% S1 }. b, W! k% R<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>" G$ Q4 B* K5 C  P
      <P class=MsoNormal><SPAN lang=EN-US>'Tested on Intel and AMD CPU's (uncompiled and compiled)</SPAN></P>
      & E, J: y6 o0 V7 C# R# Y<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>3 E4 p( E2 C  D, w
      <P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      6 J8 H) m- s& r3 R2 [. n$ E6 S3 u<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>
      % A0 ^; o/ L) X" v' o: K7 T<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>6 d9 Y% i8 T( z
      <P class=MsoNormal><SPAN lang=EN-US>Private x As Long</SPAN></P>. z6 c( l  f) ?2 k8 ~- O
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>3 y/ v7 [% J1 u+ [
      <P class=MsoNormal><SPAN lang=EN-US>Public Function GetCpuName() As String</SPAN></P>
      ; u5 I5 J$ m7 g& t) K<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>9 F6 `. Q2 k) f5 f% s) h
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim MachineCode(0 To 35)<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>As Byte</SPAN></P>
      : I2 A6 m4 j1 {1 g4 V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim VarAddr<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>As Long</SPAN></P>
        U  S/ k* I2 q+ |% a0 g) b+ |7 l5 N<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim FunctAddr<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>As Long</SPAN></P>2 Q/ M2 Q- g6 S% Y8 F
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim EAX<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>As Long</SPAN></P>8 @& |' p) L4 c7 y$ T2 A
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>Dim CPUName(1 To 12)<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>As Byte</SPAN></P>0 j4 O9 V3 N  Y* m( C5 X
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      * h& K' b1 |1 b  B+ r5 `' _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>'set up machine code</SPAN></P># v4 M0 V+ C5 U8 O; d4 r+ Y
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>0 R2 n! i7 P- M# |: v8 G
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(0) = &amp;H55<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'push ebp</SPAN></P>
      $ V4 g/ H" J* j0 w  [6 G9 s; x<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>4 s4 d" F8 {, y1 p; o7 p
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(1) = &amp;H8B<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'move ebp,esp</SPAN></P>! M4 r5 g7 @% z9 t4 |
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(2) = &amp;HEC</SPAN></P>( U' B; X4 m: H2 b/ R, O6 A+ n
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>* b8 ~) g" m- {( |/ D  z
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(3) = &amp;H57<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'push edi</SPAN></P>
      ' [  G4 M2 o1 N7 ]' |9 p% U$ L<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>/ E2 g- L8 o; J( K, I! L' E; m
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(4) = &amp;H52<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'push edx</SPAN></P>
      3 O1 F4 E& V6 G8 J  H% S<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      ) c( Q2 B% e: {  N2 Y, C7 A<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(5) = &amp;H51<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'push ecx</SPAN></P>! Q7 ]8 }( `" [* K% G" r' c' G) W# o
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>' G/ R7 {5 F8 b6 V" S: R% J
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(6) = &amp;H53<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'push ebx</SPAN></P>- J- t8 m2 y% u: i( w+ D" h
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      0 a8 _2 C: H: Z! X  H  S( k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(7) = &amp;H8B<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'move eax,dword ptr [ebp+8]</SPAN></P>
      # F. \; H. W2 ?& @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(8) = &amp;H45</SPAN></P>: O) B# y( c! }
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(9) = &amp;H8</SPAN></P>9 V+ m6 @. e+ K: E( @9 ^
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      # l5 [1 U) \6 L' J5 R0 J+ l# f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(10) = &amp;HF<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </SPAN>'cpuid</SPAN></P>* @, v# ~2 Z4 v1 t, Y
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(11) = &amp;HA2</SPAN></P>
      ' v+ L  J7 [7 `' H8 s# H# r) z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      $ W/ F3 K0 O, j3 f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(12) = &amp;H8B<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'mov edi,dword ptr [ebp+12]</SPAN></P>
      8 ?" l) C3 y& r" n, t<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(13) = &amp;H7D</SPAN></P>
      + p, A: C& m+ L  @# a  N' W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(14) = &amp;HC</SPAN></P>
      " M; ]! `1 a" D1 Q. Y0 ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      7 y0 }# v$ I: L% l& Q% d, K<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(15) = &amp;H89<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'move dword ptr [edi],ebx</SPAN></P>2 ?: R+ d( v- M3 C
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(16) = &amp;H1F</SPAN></P>% @; N- W- [' @' w% _" t
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
        B. T: e1 W2 q6 Q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(17) = &amp;H8B<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'mov edi,dword ptr [ebp+16]</SPAN></P>
      ! L! m. }3 Z$ H& {1 p6 H: ]<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(18) = &amp;H7D</SPAN></P>9 \# ~4 G7 b; S2 ]7 S) o
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(19) = &amp;H10</SPAN></P>/ e9 S+ ?9 ?: ^
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>" [/ W, e1 C. @3 X! p3 Y
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(20) = &amp;H89<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'move dword ptr [edi],ecx</SPAN></P>8 e; I, g" j% S1 _  ^$ [8 }+ J
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(21) = &amp;HF</SPAN></P>: Y" }/ U1 ?. O2 W7 f" C
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      ( f) m- g9 U3 \0 O- K<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(22) = &amp;H8B<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'mov edi,dword ptr [ebp+20]</SPAN></P>1 [/ [9 ^5 a4 n4 B% A
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(23) = &amp;H7D</SPAN></P>; i8 [" x0 P$ a3 B0 c  [6 V+ G4 w
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(24) = &amp;H14</SPAN></P>
      2 B& r* @( o4 g1 A; F( O2 I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      ) O/ Q! V7 k9 _5 q& T1 Z2 Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(25) = &amp;H89<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'move dword ptr [edi],edx</SPAN></P>: j1 n9 C/ h( I' M8 }$ h  u4 [8 g
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(26) = &amp;H17</SPAN></P>0 v$ v" V) Q9 w6 a- _
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>; T/ i1 a0 K: B5 _; M( E
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(27) = &amp;H58<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'pop ebx</SPAN></P>
      $ }0 F! I, x" c9 P: N<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>- k# e) Y4 k1 _# X% N
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(28) = &amp;H59<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'pop ecx</SPAN></P>4 s4 [6 C) e# d- E( M8 v
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      . T9 c1 e' D$ R0 I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(29) = &amp;H5A<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'pop edx</SPAN></P>9 D" m" K) V- B& ^4 H' f, }
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
        S8 R% @6 Y, F<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(30) = &amp;H55<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'pop edi</SPAN></P>+ A* v% m; n, |* D
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>' b" N* O+ e3 c" |- d
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(31) = &amp;HC9<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'leave</SPAN></P>
      - c) p& [' Z& @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      ! l( l( e3 A7 i) `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(32) = &amp;HC2<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'ret 16<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>I tried everything from 0 to 24</SPAN></P>
      9 q6 Z; s" b# X; z" E* \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(33) = &amp;H10<SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'<SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>but all produce the stack error</SPAN></P>7 a, p9 y$ G* f" i. N: k7 U& H
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(34) = &amp;H0</SPAN></P>
      " G. C# e, q# L9 ^  N* h+ \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P># [2 Q0 G5 q3 u8 K5 P7 m
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'tell cpuid what we want</SPAN></P>. n# s4 O$ J" H( b) O  v
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>EAX = 0</SPAN></P>! z& H% U) h" p
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      " r( {% t# [% \& k<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'get address of Machine Code</SPAN></P># Z& Z4 |* B1 v( E% {7 `7 X) \* ]
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>VarAddr = VarPtr(MachineCode(0))</SPAN></P>
      / T- I" q5 ^$ P* W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      + r; E/ e4 t* A* E% D. I<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'get address of Sub Dummy</SPAN></P>, o: T3 a! \& q6 q# B1 |
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>FunctAddr = GetAddress(AddressOf Dummy)</SPAN></P>& g0 X# g# M' P3 H, v% D. s6 L
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      7 n7 U- D9 v" w  y; b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'copy the Machine Code to where it can be called</SPAN></P>
      7 y- ]; Q7 E4 O6 u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>CopyMemory ByVal FunctAddr, ByVal VarAddr, 35 '35 bytes machine code</SPAN></P>
        E  o7 q; r) D* s5 u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>5 p$ S0 S5 H2 e1 H
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'call it</SPAN></P>
      - r* |  p8 |7 h2 C2 l  r6 X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>On Error Resume Next 'apparently it gets a stack pointer error when in P-Code but i dont know why</SPAN></P>+ L8 s* K  c" J9 ?& P
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>CallWindowProc FunctAddr, EAX, VarPtr(CPUName(1)), VarPtr(CPUName(9)), VarPtr(CPUName(5))</SPAN></P>& @3 ?( h5 `8 H- @8 F
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>'Debug.Print Err; Err.Description</SPAN></P>
      . U0 r* d0 K9 a9 G6 K: O+ B<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>'MsgBox Err &amp; Err.Description</SPAN></P>1 u9 D7 B, m0 @% B$ q
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>On Error GoTo 0</SPAN></P>
      ; O9 D) O$ J6 }1 k- X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      / P; R/ H# g$ M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName</SPAN></P>
      - @* L4 w; |: G1 o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      ( M- v# g( o- |9 G* |<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>: U$ {! y0 u. y, e, Y1 s8 j4 \5 `
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>$ f8 J8 `( G5 u: D9 I0 k
      <P class=MsoNormal><SPAN lang=EN-US>Private Function GetAddress(Address As Long) As Long</SPAN></P>+ v) _7 E- c" Y3 M3 U/ \% s8 L7 N
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>2 p: [/ ?2 n( L( t
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>GetAddress = Address</SPAN></P>
      6 }4 l0 ]! C7 |$ t<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      3 m; W( l9 @4 e, ~2 S. U$ J6 N" h<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>1 B% s/ |5 g0 X% f$ P1 p) }7 X
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      % b2 I( H% X* u7 s7 }+ S' a<P class=MsoNormal><SPAN lang=EN-US>Private Sub Dummy()</SPAN></P>4 L$ w5 E! G# L' f; w. N8 g. M: h
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      9 O/ B6 z; M3 Y' \" o<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>'the code below just reserves some space to copy the machine code into</SPAN></P>  X% z' I4 S; V6 _" k- H- C5 M
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>'it is never executed</SPAN></P>5 j9 _& X+ r# P8 B
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      + P6 q8 F5 R8 P. r* I) A- ]<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 0</SPAN></P>& v  R- X0 r0 ^: U8 n7 L
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 1</SPAN></P>) {/ u4 O$ r$ N1 Q" D$ L5 O
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 2</SPAN></P>2 Z4 l6 x3 a0 J1 O% c5 ~
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 3</SPAN></P>5 c, C* S* j3 }: g% h
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 4</SPAN></P>9 b9 _7 w0 a- U
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 5</SPAN></P>
      : S* D$ o# l8 a9 t+ V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 6</SPAN></P>' E2 |" }9 [; K* P1 R. n- _4 L
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 7</SPAN></P>
      9 i* P; A) @/ X7 k+ M<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 8</SPAN></P># d2 y' E1 r. o( z! a5 f! T
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 9</SPAN></P>
      . y- L$ K  p2 s/ I5 ^<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 10</SPAN></P>
      : R1 O2 E2 O6 h! @- [. I6 a/ C! Z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 0</SPAN></P>
      ' Z5 f& q$ v0 [9 D0 j3 S/ H$ g  `" A8 V<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 1</SPAN></P>) I4 I1 |( |4 W; \2 L# Q. v% \9 {
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 2</SPAN></P>
      5 F. _: |9 [, Y5 @% X7 a<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 3</SPAN></P>+ W- G$ x& z7 m7 g0 `
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 4</SPAN></P>) ^8 M6 l$ }* o0 W: T0 r' l2 E
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 5</SPAN></P>9 m" v9 ^7 \0 m/ a
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 6</SPAN></P>
      ; H; ]/ r9 e8 B/ M* z<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 7</SPAN></P>  W0 R1 S8 K. S" [8 C- d
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 8</SPAN></P>
      8 A$ n# a0 D9 l9 K. \5 o* p8 T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 9</SPAN></P>! z. M6 n. L% T. s& t9 G
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 10</SPAN></P>- R' Y# A: Y% r. d# e- j
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN></SPAN></P>
      # }7 q3 k$ w& v9 B4 f<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>2 V$ j6 y+ U! v
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      您需要登錄后才可以回帖 登錄 | 注冊

      本版積分規(guī)則

      QQ|本地廣告聯(lián)系: QQ:905790666 TEL:13176190456|Archiver|手機(jī)版|小黑屋|汶上信息港 ( 魯ICP備19052200號-1 )

      GMT+8, 2025-4-15 18:20

      Powered by Discuz! X3.5

      © 2001-2025 Discuz! Team.

      快速回復(fù) 返回頂部 返回列表