找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 29192|回复: 11

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
5 f+ d% Q* @% v, j. U7 l1 E# [4 S' W. O, j
这是C的
  1. /********************************************************************; ?/ v, }! t& e) G6 b8 r( _
  2. *    File: DOS4G.H                                                  *) W8 u% y9 `* c) l3 c: Q+ d
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    5 p& X) Z' m+ g8 G+ t: k6 e# f
  4. *                                                                   *
    8 T' x+ ]+ n) t
  5. *    ========================Title===============================   *  _) U7 N% j' h5 g: l$ w
  6. *        这个函数是让系统进入DOS 4G模式                             *% T$ b3 x$ A% q% l* z
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *+ {9 a% c# ]6 s: B9 J7 f9 U
  8. *                                                                   *
    + }* {  I) {2 \: t1 ?
  9. *       使用: openA20(); set4gb();                                  *
    - I4 y& ~4 o% W0 R
  10. *                                                                   *
    6 B# Z$ s9 X, ]6 g$ ~8 B' l
  11. *   ===========================History==========================    *
    , n2 o3 R% y5 u0 a
  12. *    author: bini                                                   *
    . H0 g3 q8 l' P5 U# [5 l
  13. *      date: 2004-11-30  Frist version.                             *
    5 w8 C1 h& u. ?: l  J. H7 z. e
  14. ********************************************************************/
    4 o! T9 K! |: K  L" i4 p
  15. ( f: n* ?/ s1 i3 [- H* J3 H
  16. #include <conio.h>! K$ ^+ u; F6 ]/ I2 F! K  M) Y
  17. #pragma inline0 G  F7 t, i8 H3 c* ^
  18. 6 n0 {7 ?4 K5 [, K$ v
  19. /***********************************************
    8 }0 U! c2 V% K2 Z
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    3 J! ^) V2 f7 ?& x8 \8 \- P
  21. *    第二个为一个数据段,没有代码段。           *
    : O  ^& z3 i& {7 r6 u  @
  22. ***********************************************/
    3 H$ j( \+ Z8 ?8 P
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/; _" x3 M; V) w* v
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, 8 `, i+ Z( C) ^- s( {1 T& d: q
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
    % S/ R/ ]( f& B
  26.                                       */
    + x1 h% e9 V6 _' m3 J5 X
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    1 L* ]+ H  g7 k; d8 \  X
  28.                                          最高字节为 base( bit 24~31 )
    & s1 i( X; w$ \% |' Q
  29.                                          * y4 f+ n+ h9 ^: V
  30.                                          属性Attrib = 0x8F92
    $ g! y: ?' Y- I
  31.                                          
    $ R/ N4 o' N8 X' D5 R% y
  32.                                              属性位Hibyte低四位为
    2 z. o6 v! u3 W2 J( N
  33.                                                  Limit( 16~19 )=F
    6 u' {+ [2 D7 L* @
  34.                                              属性位Hibyte bit7 为粒度
    + m) a/ C$ n8 w( n
  35.                                                  (值1=4KB粒度)+ s; o) y0 Y9 }7 E
  36.                                                  8F & 0x80 = 10 \; L' Y- M. |4 K2 M( U3 r' r
  37.                                                 
    2 ]4 [" o# P$ K% V9 D
  38.                                              属性位Lowbyte低四位为段类型,值=2
    ' U2 k1 P/ s; O5 x
  39.                                                  表示为可读/写段
    $ ?+ S- R3 J" Q+ w, @3 Q/ P& m+ A
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    & @5 D+ k/ r% T: J" N3 J  y
  41.                                                  描述符对地址转换是有效的。3 f1 y! V! E4 T) U' ^6 ~% U& L
  42.                                                  bit0=1表示为:
    # v4 P! A4 U2 v
  43.                                                  系统段描述符。而不是门描述符。' A3 U- z9 m' Q7 z( _- Q0 l
  44.                                              
    + E4 s# F" y' l6 g: H
  45.                                          */
    4 j3 C  r& Y  P" z6 }7 _
  46.   }1 n% o* L2 ~- l; I
  47. /****************************************
    6 j4 D0 w& Z, B# a
  48. *    GDTR寄存器, 48bit=6bytes            *
    % ]8 `0 f5 H+ x# Y" N5 w
  49. *    +-------------------------------+   *
    + b7 V& L- C& v! t% K
  50. *    |   32bit基地址       |16bit界限|   ** k& J& c! W# p) Q
  51. *    +-------------------------------+   *' D2 I% w4 ~% T7 z, q3 W
  52. ****************************************/' t  {8 l1 o1 j" `
  53. unsigned char GDT_Addr[6]={0};
    * Q7 l; o+ ~- i- e6 W

  54. + t; T0 V0 x- m- q/ O
  55. /****************; m, G& K( l3 k  E
  56. *    打开A20门    *) d8 l2 s$ n4 u1 L
  57. ****************/
    8 W* g3 K5 B* i2 C8 t. T/ W
  58. void openA20(void)
    ! `1 J7 C  ^1 c% Y, x( i& n
  59. {
    / k; w3 a) _: x! T
  60.     asm{% }- a. ~/ C( Y" n/ M4 y! I; x
  61.         pusha
    2 r+ K3 g& \, y. W' T7 i: p5 a2 E
  62.         in         al, 92H, s: x, _" ?) A% u5 q9 F! \3 p
  63.         or         al, 0x02
    - w2 P, s+ X- g
  64.         out        0x92, al
    , N! `! G7 j4 w1 o, N, i' ~
  65.         out        0xed, al
    " o) V9 C9 ]6 P
  66.         popa' {4 d5 {. g8 f& n6 Z9 g8 v; ^
  67.     }* M0 c9 e- V  r0 s2 j0 p
  68. }
    . z/ [1 Z# u' b+ G3 x

  69. ! V7 l0 Z  Q% a6 S; P
  70. /***********************************************9 @- d( i+ @0 f1 c9 Y4 U
  71. *    函数功能:进入DOS4G                       *
    , b4 U3 G* J: G. `( a& c- \
  72. *    ====================                      *" p2 x1 H+ S1 l: m5 r
  73. *                                              *
    " g. Q( w( w' F. Y* \
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *( Y6 c4 h, a" @7 a4 k6 Y3 X
  75. *   如:                                       *
    ! c. A; ?2 n5 W" E) ^- D2 S1 R; ]
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *7 v6 |) o# `! i1 C& ]
  77. *       表示为 2个GTD                          *
    5 [* Q$ o) H" K8 i9 ]- q$ l
  78. *                                              *5 E- J5 V7 K/ q- ]
  79. *    选择子为所在描述符内的字节偏移。          *
    & g* @2 i: M3 |" K+ a' f( D
  80. *                                              */ V/ L/ m! Q" }6 \& X7 y/ Y9 J
  81. ***********************************************/
    ( p/ U& y, Q6 k" k
  82. void set4gb(void)1 E, g$ a! a' h- F
  83. {9 O' Q' J6 L) D  W. y
  84.     asm{9 T8 a% S! P0 ?
  85.         cli
    / i1 b! Q$ e( [  x
  86.         /****************************************
    ( g: W3 G: w% J+ O9 T% p+ i" K1 T
  87.         *    GDTR寄存器                          *6 s( U6 w& d. e; d
  88.         *    +-------------------------------+   */ ^1 h) Q+ P' ~$ B$ ^: z* X
  89.         *    |   32bit基地址       |16bit界限|   *0 j+ |0 h  Q  |) G( V$ E8 H
  90.         *    +-------------------------------+   *
    0 L0 e4 P/ l  B. C, D6 b* X( D
  91.         *****************************************/5 ?$ q% ~# j# `' ~4 g
  92.         /*********************
    2 N/ Z0 \. z0 i$ U
  93.         *        得出段界限       *- x) E* z. |1 l: Z9 u" j3 k6 @
  94.         *********************/
    ; E( S( I$ ~( P, o& a/ \. _
  95.         mov        word ptr GDT_Addr[0], (2*8-1);/ T3 e  w- V: d# P, c
  96.         /********************************************' ~" D& w! ^& ?  r1 `6 e
  97.         *    计算GDT表的32位基地址,存入GDTR        *
    $ R. p2 t4 j  ^, c
  98.         ********************************************/
    * ^4 {/ T+ c4 o9 y
  99.         mov        eax, ds
    % K9 y' Z2 _, z. v& C2 E
  100.         shl        eax, 4+ a1 Y- b" i6 Q/ c
  101.         xor        ebx, ebx
    & t2 |  U; u+ b* l- l
  102.         mov        bx, offset GDT_def* j1 R7 ~2 Z' o/ ]" \3 A/ W8 P) [
  103.         add        eax, ebx
    ) a; Y3 C  y/ c+ T- I2 H" H
  104.         mov        dword ptr GDT_Addr[2], eax. \" U: p% ~2 U2 K6 f/ {
  105.         lgdt       fword ptr GDT_Addr( b, G3 s6 r; u" X1 J' Z- E7 t
  106.         /********************# }" }3 z# K% y4 d0 h. E. z* ^
  107.         *   选择子偏移      *2 m, b4 `% d3 m; W/ X8 ~
  108.         ********************/* D* M3 s" e: |
  109.         mov        bx, 80 x- i1 {$ O' c# t
  110.         mov        eax, cr0
    . }' h# U' z, m, N+ K* R3 n
  111.         or         al, 1
    + N7 }& ~4 |3 P: h
  112.         /**********************2 T8 j2 [8 U3 H2 X( e, u4 w
  113.         *     进入保护模式    *
    $ K9 i! J+ w; q- E! E7 n- J
  114.         **********************/
    4 L& k! \6 K+ g" k" P
  115.         mov        cr0, eax* G* L) p& a& [) B3 N2 I
  116.         jmp        pMod
    - w8 I. B$ P$ ~2 X) ^; Q. \& T
  117.     }
    4 `  N$ I6 K- X  @3 I( U, L

  118. " M# _7 k2 h% g8 k4 ~5 Q
  119.     pMod: asm{% Y) K7 V3 Z  `. U
  120.            /************************************************************8 h, w, x2 i  Q* q0 c+ I
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *
    ; K. o3 V7 _2 ]+ w( W. s
  122.            ************************************************************/
    ! U3 Z( }' X3 R/ t, ]% p9 ^
  123.         mov        fs, bx
    ( r! N7 M! Q# ?
  124.         mov        gs, bx! d  j, k* U3 @% _4 r+ C( s
  125.         and        al, 0x0FE
    ) n3 Q8 ]1 E( b# {# t$ Z
  126.         /******************# S' m0 V8 t0 |9 L" P6 K7 J( t
  127.         * 进入实模式      *# P( Q' k/ l0 \: H
  128.         ******************/
    / }2 _' w; {* c+ ~: h* w- p
  129.         mov        cr0, eax
    7 q$ \- q: h( r4 f& c+ y! m
  130.         jmp        rMod
    : I! y) }" l2 }+ t$ G4 S! U
  131.        }
    ( D, C& n' G, r3 S

  132. 6 A  d# ^7 J  T
  133.     rMod: asm{7 t3 ?; I) N$ |" s1 N: l! q
  134.         /* ******************************************************************' G2 Z$ Q. O( N' ^
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    ) k) O2 m6 p; m
  136.         ********************************************************************/! Z! V! O5 V7 c0 M
  137.         mov        ax, 0; N4 ^! j: E/ t7 u; u, h
  138.         mov        fs, ax" f7 s. {# C/ R1 N, m- E* S3 C
  139.         mov        gs, ax' v+ o4 W' x$ s- K* v
  140.         sti4 X2 \; t, M4 ~8 J
  141.     }6 B' \2 S' A( v
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    ( m8 ^8 y3 Y. [3 `0 U6 c
  2. ;*    File: DOS4G.asm                                                *. D) W. _) d, c6 _% `: p
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    ) w6 I% H) b, E
  4. ;*                                                                   *
    2 O) o. x# w7 P0 R7 f
  5. ;*    ========================Title===============================   *
      y  m) @3 _" z
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *% S) G5 E! O2 F5 S& p
  7. ;*                                                                   *
    & j" Q' p5 ^, q- s/ X
  8. ;*   ===========================History==========================    *7 f; z0 c" U- e8 t, {" x" i
  9. ;*    author: bini                                                   *8 i* ?0 J- _  J0 `$ z: m
  10. ;*      date: 2008-10-08  Frist version.                             *1 F0 Z/ ]' Z4 x8 E& R6 w$ Z
  11. ;********************************************************************/
    $ P* h  A( `1 Z/ q6 e. c9 ~9 I2 {
  12. .model small/ [/ [3 X. n6 ?" P; ]- ~
  13. .586p
      b6 f: W& Y1 E7 i

  14. , o/ a) o& G& M5 L0 }" v& P( O4 v
  15. DSEG  SEGMENT   USE16                 ;16位数据段
    ; W0 \4 L4 a0 }7 }5 s

  16. : C: c, V# s5 R* Y7 Y1 D
  17. DESC            STRUC
    * {" Y3 w" P8 s6 z& ], C
  18.         LimitL          DW      0 ;段界限(BIT0-15)
    ! B8 Z& W. s. s9 L- G
  19.         BaseL           DW      0 ;段基地址(BIT0-15)/ C7 Y4 Q2 E3 s- d. [, d
  20.         BaseM           DB      0 ;段基地址(BIT16-23)7 z) F' d: z; r! s4 o( J! ~% o
  21.         Attributes      DB      0 ;段属性
    6 }. y9 ~2 F) [, i) h( u% [
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)! N- \# n7 _" p
  23.         BaseH           DB      0 ;段基地址(BIT24-31)
    % ?% L+ h8 y( f4 |1 |+ V. w2 m+ K# v- ^
  24. DESC            ENDS
    $ I* u5 C4 |# N$ e: D% w

  25. # g' d3 F! p2 `- ]
  26. PDesc           STRUC
    # T3 d" `# }; Z
  27.         Limit           DW      0 ;16位界限
    . o4 I& B" L  X/ P/ R4 Q' Z9 M% q
  28.         Base            DD      0 ;32位基地址( p' ^+ L# g$ _2 L  R6 K7 e
  29. PDesc           ENDS
      }4 f2 U0 d0 y! c( l' u& v9 V

  30. 0 ]0 ]+ p8 ^% P; k& h5 ^
  31. GDT_def         Label   Fword* T: V% i; m; ]$ W! ~
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    / A$ x3 k, }% R! W1 q9 m
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>$ _( U, y  \8 a! s

  34. ! E0 a) W, H3 {, N  O) a
  35. GDT_Addr        PDesc   <$-GDT_def-1, >
    * |9 M( x+ @0 Q% g7 ]5 m3 O3 m5 K" T2 L
  36. DSEG            ENDS                          ;数据段定义结束
    5 L* s( E  v# n& Y5 u
  37. / I) ^! E) F3 G# t. x1 S
  38. CSEG            SEGMENT USE16                 ;16位代码段
    2 d* C' Y1 |9 W6 v9 ]
  39.                 ASSUME  CS:CSEG,DS:DSEG- M3 a% Y5 B5 D/ H# f
  40. .Startup
    + H+ D2 E4 ?& v. b# t" e
  41.         call      Set4gb
    # R2 N! G% f# k& r2 p
  42. ;8 d( B7 S% `, R4 i4 z8 I
  43. ;       fs, gs即能访问4GB空间; r0 x- ]2 c5 k) h, M+ r
  44. ;       write your code in here.5 h3 g3 A. Q, Z7 a- [& P
  45. ;+ d' S# j# T& X2 k0 q$ W
  46.         .exit
    " p( K$ F- l4 L# H2 k  ^
  47.         ' T6 }1 P' \/ \8 g7 ]- q5 u% U
  48. Set4gb          PROC      NEAR* j! @- u; E" r0 i
  49.         in        al, 92h8 G5 j+ `& |! i
  50.         or        al, 002
    4 n7 _! O- x. [+ e) l
  51.         out       092h, al# V2 |. }6 V% r! |
  52.         out       0edh, al2 `* b6 [, x' R- X/ V+ ]& T# D

  53. / l% o5 R: K+ P% s' s+ Q/ ?4 [
  54.         cli* C0 v5 h4 Y% Z& i  u6 L' p6 K

  55. ( r0 c# T5 S9 z) D8 u
  56. ;        mov      word ptr GDT_Addr, (2*8-1);( b. j. j1 l0 q

  57. 2 K8 C. h- c  L1 v( _1 }7 k. w
  58.         mov       eax, ds7 a7 s: E" ?% c* H- ?) A, U% K% u
  59.         shl       eax, 4  B, L4 D$ c: D, Q) K2 |3 |
  60.         xor       ebx, ebx
      e  A/ \0 h1 u1 f5 Z5 [: J
  61.         mov       bx, offset GDT_def$ P% X! P# E4 W  c* d
  62.         add       eax, ebx
    $ z. k' g' o& K! r2 z9 ]
  63.         mov       dword ptr GDT_Addr.Base, eax
    7 u: \" P8 n& m* X# N
  64.         lgdt      fword ptr GDT_Addr
    # L) [6 E9 C; T7 e/ K7 |- I. s- o+ p( {

  65. + @8 m: d6 A# a
  66.         mov       bx, 8
    4 S8 @, I! M: n. `' |$ Q
  67.         mov       eax, cr0# ~; x6 t2 o3 |/ j( t9 Y* P! v
  68.         or        al, 1
    + S8 [2 e5 U1 g7 O+ |5 |
  69.         mov       cr0, eax
    # |! d4 R- Z+ k6 }8 }; [
  70. 2 _& f  g, D% k1 u+ `+ H; o
  71.         jmp       pMod
    7 m- X: s5 m4 k1 e7 w
  72.     pMod:6 Q9 C7 i, f) Q( C3 w+ x+ ~& t
  73. ( M1 c- s" I8 O: J4 f
  74.         mov       fs, bx: `8 K: L, `3 P
  75.         mov       gs, bx
      J7 \" ~/ p9 E: B1 c, ]+ H0 u, V
  76.         and       al, 0FEh
    * e& \) P- O4 d9 J
  77.         mov       cr0, eax) P/ Z7 F$ p5 n- S
  78.         
    ) X" t& `0 k0 K% E
  79.         jmp       rMod
    1 ^' `- V8 I) a% M2 o+ Q
  80.     rMod:/ n$ g, d1 m1 @9 w; u( H) }/ U- ^

  81. , J: [3 _  [) i* p
  82.         mov       ax, 0
    7 i, Q* H& C- j3 G/ x. y$ `8 G
  83.         mov       fs, ax
      X7 @5 N) C% E3 x1 L" T8 L7 W- X0 c
  84.         mov       gs, ax/ {/ I3 q! l, m3 m" T) Y* q
  85.         $ a# E& T  I, ~! L) I
  86.         ; 在2M的位置测试写一下数据
    9 @, _# x& C2 q5 Y
  87.         mov       esi, 200000h
    / T; s$ f/ x$ H
  88.         mov       dword ptr fs:[esi], 055aa55aah8 ~+ U* @! s$ |1 ^! }( v% }2 z( Q
  89.         ; 用RU去看看200000h的位置是否是此数据....
    - L, O: ]# @* t+ E. k3 U
  90. & P$ E$ C# K, Q' `9 O& ?
  91.         sti9 D' m0 g% r# o, u0 U" N
  92.         ret
    7 v; {, R; l" b* Q$ G) u5 [
  93. Set4gb  ENDP- e5 Y2 B2 `% u7 G# M& ]" |
  94.        . c* e/ O# ]$ t3 ~+ ]; V
  95. CSEG           ENDS                              ;代码段定义结束
    + T1 x7 x* z! w
  96.         end
复制代码
发表于 2008-10-14 14:48:07 | 显示全部楼层
学习,学习了,楼主辛苦了
回复

使用道具 举报

发表于 2008-12-15 17:20:53 | 显示全部楼层
有一个问题,我用BC31为什么没法编译32位的汇编指令呢?要设置哪儿吗?
回复

使用道具 举报

发表于 2008-12-18 17:11:16 | 显示全部楼层
option->compiler->advanced code generation中的instruction set选 80386
7 p4 t0 E  R& {- H9 d7 L( O7 Q0 C! {0 p/ B, m
option->compiler->code generation中的option选中, [X] compile via assembler5 t, X" z/ X' O9 ^2 }$ c0 [
1 H* H( x2 b9 |7 M% S/ J
[ 本帖最后由 happybasic 于 2008-12-20 15:41 编辑 ]
回复

使用道具 举报

发表于 2009-6-4 20:55:40 | 显示全部楼层
太强了 学习 只是更新的比较慢哈 谢谢了
回复

使用道具 举报

发表于 2009-6-5 11:04:27 | 显示全部楼层
Undefined symbol: &LT
回复

使用道具 举报

发表于 2009-6-8 17:07:20 | 显示全部楼层
Null_Desc       DESC    &lt;     0h,  0h, 00h, 00h, 000h, 0&gt;
* t3 n+ p$ H* a8 \. ?Data_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
' t1 R# M% V, F( x, W% a, B. w% I+ b1 _0 K7 E" m
GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
; ^6 [- z8 ?( \6 h 替换如下,
9 ]9 i$ o" R$ E; J6 U! sNull_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
& c" e9 C9 }( y6 |3 W8 S$ YData_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
  Y/ k1 u# j/ q9 @" ?+ F8 x3 x2 ^9 u1 f: t9 w  ^* j
GDT_Addr        PDesc   <$-GDT_def-1, >
4 M8 W% C6 j& x7 w' Z这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 2009-6-9 11:23:21 | 显示全部楼层
替换了就OK.Thanks
回复

使用道具 举报

 楼主| 发表于 2009-8-1 00:44:39 | 显示全部楼层
这个是Discuz的Bug.有空翻出来改改看。发代码<>符号被Discuz 在[ code ]里变成HTML的东西.
回复

使用道具 举报

发表于 2010-2-26 10:47:24 | 显示全部楼层
原帖由 happybasic 于 2008-12-18 17:11 发表 * V( t7 M1 V! S7 ?4 c
option->compiler->advanced code generation中的instruction set选 803861 D4 ?& t' C  v) }

( o. E, O. @. A% d4 hoption->compiler->code generation中的option选中, [X] compile via assembler

8 N6 P9 q8 s" K( }3 L+ i0 w& H. d   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
& B& b" {: y4 [4 e! f, Y8 n$ W+ {/ K9 c1 ]
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

3 k6 Y! [) M* i5 q
2 N. R- U( K8 V5 n8 @我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

发表于 2011-2-21 21:04:39 | 显示全部楼层
option->compiler->Transfer 设置TASM的路径,就不会提示找不到TASM;
$ n/ D9 I3 C6 B" l7 B还要把TASMMSG.exe拷贝到源代码(工程目录),就可以编译完成了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-5-16 06:51 , Processed in 0.146790 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表