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

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

       找回密碼
       注冊(cè)

      QQ登錄

      只需一步,快速開(kāi)始

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

      [復(fù)制鏈接]
      1#
      發(fā)表于 2008-9-28 16:21:50 | 只看該作者 |倒序?yàn)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>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>3 N+ u  W& p; q+ I
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      : s. u$ Y  ^8 I  o  q( |<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>. Z2 o& [+ b5 m% N! a3 ~
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      0 D: L+ B% U+ m& U, W, P& c0 W<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>- |: r' c2 X9 H- C
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      8 C& d1 |" Z5 G, d" F<P class=MsoNormal><SPAN lang=EN-US>VERSION 5.00</SPAN></P>
      % m4 ]  G; V0 ?9 O( ~<P class=MsoNormal><SPAN lang=EN-US>Begin VB.form form1 </SPAN></P>3 s6 j0 J- J/ K+ X: a; q- l
      <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>& `+ a3 M. G$ p0 Q$ g5 q! o* S
      <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>$ ?8 D; _9 z# j" _2 z% M/ U
      <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>6 ?! S" u) c0 p5 `
      <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>
      6 P. ]; l4 |, ?8 i+ L% z% K1 t<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>2 X5 R* J. M, ^; m1 F0 \' u
      <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>
      3 \. X# B3 t/ x+ Q1 C8 e<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>0 b' N9 u4 C9 Q+ R9 o
      <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>- S4 n3 ~% Z8 x3 x4 X7 I
      <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>6 R7 g! r& W+ n  H9 W! k0 A
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Begin VB.CommandButton Command1 </SPAN></P>$ {4 O/ ]1 w& F/ u8 q% X4 F
      <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>9 m0 S/ ~, s" b8 G9 M
      <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>; C+ j$ e0 G5 e; Q7 B& ?3 w/ C8 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>/ f5 ?" `' F1 \' O
      <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>: j$ |9 S. u( O" e
      <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>! f+ _- w+ _& C& V+ w. U2 @
      <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>6 [* Y" K+ u' p/ ]( I% x
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End</SPAN></P>! m1 I1 t$ P& }2 ?' Q& t
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Begin VB.Label Label2 </SPAN></P>
      ! x) f$ X5 a4 M5 L- f: Q<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>7 i$ Q2 I! @& A- h
      <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>
      , Q+ X! \7 h. H) R2 u# O' B8 y1 O; S<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>BeginProperty Font </SPAN></P>4 ?% O- l7 A' [, b
      <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>
      , R8 x  @6 p5 @* o, L<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>
      # J$ J: b% g5 J. P  r<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>
      3 H7 m* d# O* X& ~/ W<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>
      9 X3 s5 S% g; a8 @<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>
      5 x; J! W7 |# w$ J5 s<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>( {) q2 w- Y3 C, f8 E* |9 N& `
      <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>
      , S0 z% f1 b" _5 y, @' \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>EndProperty</SPAN></P>
      / _7 ?* }! r% `; F: S<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>  E* U+ r& V# h+ w, J$ L6 L$ r3 i' u5 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>
      / |8 y% u/ T8 t, I3 Y! [<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>8 Q& V# t/ P$ m) X+ g
      <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>1 a) B! N: k# Y; o4 J% `6 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>
      + E4 S  f# Y& q* F6 N! P<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End</SPAN></P>/ {. l+ X- ]8 L/ Y
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Begin VB.Label Label1 </SPAN></P>
      ! S% g2 O  R& l0 r<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>$ B" ?  g; S! O+ C3 \
      <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>
      # D- b% A; a4 y$ |8 _<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>BeginProperty Font </SPAN></P>
      5 N' a( K' I4 {5 d: ?& i<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>
        c4 _& R) v  B! \+ r/ K1 \<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>
      4 [' \" b6 g6 m<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>0 o: a6 {) Q5 q% L
      <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>
      7 j( N5 L1 O# T, B; w<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>" [/ ^# j. J& o% n
      <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: X% {7 m+ D9 _<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>$ h) S8 Y- W0 H
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>EndProperty</SPAN></P>  y7 {; j/ O$ 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>285</SPAN></P>9 k6 g- y# f. e& Q& f4 z4 s. K9 R/ i
      <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>
      4 B1 b1 a2 e9 p. I; @% }6 U/ @2 @<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>
      1 @+ Z- X8 ]: h7 }/ i0 C! w<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>
      ( |9 m# O5 x9 p9 Y<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>
      ) V; v) c/ S: Y! }. I7 \<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN>End</SPAN></P>
      2 s3 R3 l1 B4 W# \$ H% I<P class=MsoNormal><SPAN lang=EN-US>End</SPAN></P>
      ' L0 |8 J" N  _* D<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Name = "form1"</SPAN></P>$ ~3 q% p; u( \1 k% L
      <P class=MsoNormal><SPAN lang=EN-US>Attribute VB_GlobalNameSpace = False</SPAN></P>, Q- z" \$ m: V0 `5 |
      <P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Creatable = False</SPAN></P>
      % U6 B5 j. s1 i<P class=MsoNormal><SPAN lang=EN-US>Attribute VB_PredeclaredId = True</SPAN></P>: w8 v, S; Y8 k: _1 V3 U2 [  Z
      <P class=MsoNormal><SPAN lang=EN-US>Attribute VB_Exposed = False</SPAN></P>! j4 `$ H6 R# S' R) f- l* I
      <P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>% `* X0 c! @" z# v; d8 o1 p( n
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      5 T9 a; x+ N1 v9 I, 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>
      7 r' N% B0 S$ s; ]<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>0 c0 C4 z3 ^7 @, p( @
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Label1 = ""</SPAN></P>
      6 l2 S: e) S5 A2 ]# P6 e<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Label2 = ""</SPAN></P>) y% T$ S( R% O& `- d
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      # V; U8 E$ P' B; t<P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
        L. h2 h' E6 s<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P># E" n0 w2 Y. Q4 X  u; U
      <P class=MsoNormal><SPAN lang=EN-US>Private Sub Command1_Click()</SPAN></P>
      * f& x9 }5 V$ s% U2 g9 k' G: `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>- _/ y- c/ f5 F1 C4 C5 [3 ~. K
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>Label1 = GetCpuName() &amp; " CPU"</SPAN></P>
      * j% _) t* j/ f- u1 n/ }<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>. V$ R. N% ^: V, C% D6 |6 \, c
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>. o" ]8 I6 s# T4 c0 j) y
      <P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
      2 b; S% Y) H; \. s$ H<P class=MsoNormal><SPAN lang=EN-US>------------------------------end---------------------------------</SPAN></P>
      5 a( E  I4 U2 L  ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>. I1 Z/ Z* I  \0 ?1 M" H+ I& v. ^
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      ( _2 v1 i) k, a: C<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      . L; m- `6 {. a1 \<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>
      + _3 A- K! c8 D7 e( p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>& q0 b7 i; n8 a' 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># V1 \& A9 Q: T- c3 b4 `) y2 w
      <P class=MsoNormal><SPAN lang=EN-US>Option Explicit</SPAN></P>& H2 K2 n( ]( e) z; w8 Y
      <P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>+ f. Q* l: d1 O5 b) v
      <P class=MsoNormal><SPAN lang=EN-US>'This shows how to incorporate machine code into VB</SPAN></P>
      : E: o- o/ S) L' k  W- p<P class=MsoNormal><SPAN lang=EN-US>'''''''''''''''''''''''''''''''''''''''''''''''''''</SPAN></P>* L0 T3 R8 n6 m, E- v- B* m
      <P class=MsoNormal><SPAN lang=EN-US>'The example fills the array with a few machine instructions and then copies</SPAN></P>7 ?) d2 U1 q! i
      <P class=MsoNormal><SPAN lang=EN-US>'them to a procedure address. The modified procedure is then called thru</SPAN></P>! ^3 F) W7 L2 k& @$ Z" T/ K# }
      <P class=MsoNormal><SPAN lang=EN-US>'CallWindowProc. The result of this specific machine code is your CPU Vendor Name.</SPAN></P>
      6 P9 U0 S- O& ]) A<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>2 z' X$ f4 h3 I8 s
      <P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>
      / ]$ Y0 E# J5 @4 e7 z7 O<P class=MsoNormal><SPAN lang=EN-US>'Apparently it gets a Stack Pointer Error, but I don't know why; if anybody</SPAN></P>9 S3 t% |% [9 m8 D$ ]0 N
      <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>* _6 l2 b: F4 Z+ N  }
      <P class=MsoNormal><SPAN lang=EN-US>'The Error is not present in the native compiled version; so I think it got</SPAN></P># I! P( N; W2 C( l+ g
      <P class=MsoNormal><SPAN lang=EN-US>'something to do with the P-Code Calling Convention (strange though)...</SPAN></P>
      ' z3 R+ |1 _' r4 y) ^. q# f<P class=MsoNormal><SPAN lang=EN-US>'##########################################################################</SPAN></P>! u% m0 v) a7 R& V- c. W
      <P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>9 `& l, o* B4 [2 b5 R8 a
      <P class=MsoNormal><SPAN lang=EN-US>'Sub Dummy serves to reserve some space to copy the machine instructions into.</SPAN></P>
      : C+ H) M& g) S$ ~& k6 d<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      7 L  d& Y) b$ U$ t  t<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>3 Q- ]' W0 P6 N* z% R! X
      <P class=MsoNormal><SPAN lang=EN-US>'Tested on Intel and AMD CPU's (uncompiled and compiled)</SPAN></P># j0 e8 W' Q9 u  d1 o9 D% r
      <P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      " _- X! x1 ~0 X: V<P class=MsoNormal><SPAN lang=EN-US>'</SPAN></P>
      , @5 o% x4 H( k& q& w, K8 q( v<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 S3 Q# r' D: C$ _# |
      <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 Q5 _+ V$ i* _- n( ^<P class=MsoNormal><SPAN lang=EN-US>Private x As Long</SPAN></P>
      1 T4 S& |$ T9 G" a<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      3 G; N1 t! n+ _5 j- Y. |! L<P class=MsoNormal><SPAN lang=EN-US>Public Function GetCpuName() As String</SPAN></P>
      6 U; F6 Q! b! E8 R. {2 b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>1 F; F5 m1 i( q8 w8 L0 S
      <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>& `- C* b( c( W7 Y
      <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>. g/ t8 k. d, m0 h; `" Z$ d
      <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>
      ( G' r* _- y+ w# o7 {4 I  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>5 Y0 [2 ], z2 O* a/ u( I7 w
      <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>
      5 R7 M4 k& y) N) z" c# {<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      + [* o0 V8 S% j; i0 C+ g+ O<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>'set up machine code</SPAN></P># i, |7 ?# U$ K% _3 R
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      ; m: c! V0 [8 F  S7 T. |<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>
      1 R" B: i) ^1 ~9 G0 |! N! ]" b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>+ C" ?% c7 y8 o# d( h0 E
      <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>" B. h* c7 `  g9 n5 ]& D
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(2) = &amp;HEC</SPAN></P>
      & e; s8 C6 N/ C$ Q1 @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      7 x" g, n! r9 R, |8 W! O$ o<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>/ Q8 u; z" r# C& y7 j
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      " y* q$ e+ U  a5 f<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>
      " N1 ]- Q/ h$ E+ a* G; E- G" Q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>9 t9 W+ R5 A# J/ Q7 D' j$ q" J
      <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>
      7 _, h' |( N2 ?: N<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      , @0 l+ ^4 a9 o& Z! w/ I. \: g2 O<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>
        X$ S& n0 F0 d* G: g/ V4 T<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>) ^( C& I: N3 z
      <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>. `: T+ z/ o9 ~1 [) Z) |6 S
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(8) = &amp;H45</SPAN></P>
      & G3 }9 R; q. p! D6 a% `<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(9) = &amp;H8</SPAN></P>! }( q, m) o) e! T  F
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      , |9 y8 H9 X& S( }2 K<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>
      % H5 Q! `7 S5 R. ?<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(11) = &amp;HA2</SPAN></P>. P  P+ O9 T" |( ?  J7 Y! F% N0 Q
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      1 `) d2 y+ e" a5 |; o9 _  l5 n<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>
      7 p( @4 ~7 Q) q# T) ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(13) = &amp;H7D</SPAN></P>3 h! n% G0 H6 h. A4 j, \, z
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(14) = &amp;HC</SPAN></P>
      0 `: O( U# H8 D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      ( W4 \6 O% z, W8 o: u6 p7 T<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>
      ! F4 z+ J) u, W) ?* e<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(16) = &amp;H1F</SPAN></P>
      : B/ d( L0 Y) M2 u<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>5 S# f2 h. `8 m+ i' m- t
      <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>1 t& D( q: t+ L
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(18) = &amp;H7D</SPAN></P>
      + n% M4 \( M: x1 [! h# v<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(19) = &amp;H10</SPAN></P>
      & {6 f$ {7 o) e# y3 W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      7 j: P( i9 D1 Y8 k' z/ a% k<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># S' R4 w: V1 J7 m+ `- ?
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(21) = &amp;HF</SPAN></P>
      , }3 J$ o9 Z. U; H3 D: }/ i<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>- k/ d$ L$ c% t9 |' S6 T
      <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>! {, \( ?( U" O9 u- o
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(23) = &amp;H7D</SPAN></P>
      % Z+ F4 T! ~7 K5 g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(24) = &amp;H14</SPAN></P>
      : Q: k: w& Q: t4 C6 i2 R<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>6 b2 U. i+ }( O7 H) K/ O
      <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>: `9 i3 Q! E/ Q$ t( C7 w
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(26) = &amp;H17</SPAN></P>  d& D( W4 ^" c& ?: m
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      : E+ C  G' s8 O% q$ `<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>1 K1 B$ a, D2 L& d9 D, u
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>) D+ [+ ?( S' G# S, n) u& _* v
      <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>. E5 j  W5 S% F  v8 \
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>2 g9 u7 }: l  \4 A! 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>
      + z) f1 F+ J# H4 F& b! Y  U8 @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      . Y! l/ A" R( \9 n<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>0 S7 Y) [+ y) z/ M  J2 Y
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      , N& B5 m( k8 }<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>% s7 n: N" Y1 n- n- o% R+ R; {
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      ( |5 v8 [: S) _" Z$ q8 T<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>
      ) s7 R2 |  t8 m0 ~$ }+ q<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>
      6 m2 Z& ]$ `$ i8 e, v1 k7 q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>MachineCode(34) = &amp;H0</SPAN></P>" r! d1 e2 G- i% s' v
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      + z' U8 B9 p4 K0 F' ^$ p<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'tell cpuid what we want</SPAN></P>
      1 {4 g3 E- p; ]/ H7 n. \3 W9 X<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>EAX = 0</SPAN></P>+ H+ d$ E& x9 }9 Z# g6 I
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>; _( W1 r! y; }! ^. V  v
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'get address of Machine Code</SPAN></P>
      5 `$ N& h1 P4 h$ F7 G& q<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>VarAddr = VarPtr(MachineCode(0))</SPAN></P>
      : G  d) D& @1 f<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>9 o6 a9 U) ]/ E: W4 S% b
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'get address of Sub Dummy</SPAN></P>, Z5 n1 O# }7 y# V
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>FunctAddr = GetAddress(AddressOf Dummy)</SPAN></P>
      & }4 j! u7 Z/ p9 q# F( A/ @<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>5 L' b+ v* @- V3 O7 \/ m
      <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>/ u3 V8 S) r0 t4 O" v7 w8 M
      <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>7 l0 [2 M: I) m' h$ l- T) N' ^
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>$ A1 Z9 |+ j& P$ d" ~! F, u- L
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>'call it</SPAN></P>
      * @$ D- [  n8 d2 D  z0 V$ l<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>4 J+ v- j( M% P9 a7 F9 }
      <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>
      * @+ k% W" y7 r3 o, \  p! }<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>'Debug.Print Err; Err.Description</SPAN></P>( p# l3 T8 y. I6 c
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </SPAN>'MsgBox Err &amp; Err.Description</SPAN></P>" _+ i! y. |# a  x
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>On Error GoTo 0</SPAN></P>0 l2 ~/ {% ?& b
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>( W# h% j: Q) g* B) V1 c
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>GetCpuName = StrConv(CPUName(), vbUnicode) 'UnicodeName</SPAN></P>" a1 g5 C6 ]; J& a- `
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN></SPAN></P>
      # H5 X1 L, E! R4 t% z<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>4 Q+ ]- n& ]2 C) Z) w. S) R
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      ( r9 i) Z" E4 @9 g, Z! I  C7 z<P class=MsoNormal><SPAN lang=EN-US>Private Function GetAddress(Address As Long) As Long</SPAN></P>7 v9 ~) |& S, i1 K, H
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      $ M# V5 v, ^3 k# S2 h# O/ W<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>GetAddress = Address</SPAN></P>2 D8 T: u6 z8 G% ]$ v$ R
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      3 q5 l( t. z0 x& L4 A<P class=MsoNormal><SPAN lang=EN-US>End Function</SPAN></P>2 F  v$ @0 Q# Z1 |1 j
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>" v4 v8 t% u3 ~% e+ |, T
      <P class=MsoNormal><SPAN lang=EN-US>Private Sub Dummy()</SPAN></P>
      4 W  e( l4 G5 d' |- A+ p4 R- D<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      0 L/ `4 h3 ^: B# 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>' E  D& P# P4 L! W% v4 A
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;</SPAN>'it is never executed</SPAN></P>, S6 j- b/ W1 N" Y
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>8 K! ~' A( E9 ~( A
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 0</SPAN></P># W. R# W" b* z; U
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 1</SPAN></P>! M- S9 J. x4 w& W, F* \
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 2</SPAN></P>
      . }4 \  l' u' z8 w9 J9 C/ q3 ?( b<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 3</SPAN></P>
      4 e: x8 T2 ~3 B( P- K8 a- r9 h<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 4</SPAN></P>, ^4 _8 t: r  ]1 _; H+ y1 L, o
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 5</SPAN></P>! x5 S; m* [$ {: i! Q" _
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 6</SPAN></P>7 U' w& B& C* Q) Q. o1 q9 [
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 7</SPAN></P>8 X% p4 t- K' t# {
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 8</SPAN></P>" l8 |4 e- W# M1 }' n( J
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 9</SPAN></P>; V( E' b; f( q: e1 @
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 10</SPAN></P>! E6 F- |  p* _  h7 A" J
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 0</SPAN></P>
      + X8 v, y! H2 P2 p' J% b4 w  g<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 1</SPAN></P>& w$ I' {+ X5 F  [. r
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 2</SPAN></P>
      : M3 d2 Q. E# M6 W+ R<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 3</SPAN></P>: |# T- i! D& P- N& L) i
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 4</SPAN></P>; `6 O( }! p+ e: X8 h  D( r
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 5</SPAN></P>
      % Q8 ^9 p! ?: S/ I% s<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 6</SPAN></P>
      ! \; H3 v4 N7 K<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 7</SPAN></P>2 q5 s. z5 `: t* U* b! \: V& X
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 8</SPAN></P>. s# Y) {. F5 e: n5 r
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 9</SPAN></P>
      ; T& m$ m) H1 E% F+ z4 L7 U<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>x = 10</SPAN></P># m9 d6 s1 t4 j4 t  l1 l
      <P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">&nbsp; </SPAN></SPAN></P>( P; f; c9 o, A: p& d; N$ k
      <P class=MsoNormal><SPAN lang=EN-US>End Sub</SPAN></P>
      2 a6 X. o; H& O% ~' v! ~<P class=MsoNormal><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"></SPAN></SPAN>&nbsp;</P>
      您需要登錄后才可以回帖 登錄 | 注冊(cè)

      本版積分規(guī)則

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

      GMT+8, 2025-6-28 08:35

      Powered by Discuz! X3.5

      © 2001-2025 Discuz! Team.

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