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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。# k1 Z7 P; J: Y+ f4 X
) z" c& |, |* s' ?
这是C的
  1. /********************************************************************  Y! `8 m) V! {& C  T. L- K1 ^2 \- V
  2. *    File: DOS4G.H                                                  *
    2 u  E) s0 ~1 b* t
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    # t* Q' R) |* E
  4. *                                                                   *, h, t$ s- k" e' X( W
  5. *    ========================Title===============================   *4 l7 R% Q  T# ]" Q% y& F& t
  6. *        这个函数是让系统进入DOS 4G模式                             *
    2 B5 m; X  H9 t! X
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *- M7 f7 h( R' t( y" e# Z; x
  8. *                                                                   *
    + V( y5 G/ g, T. j- X$ k1 Q" p
  9. *       使用: openA20(); set4gb();                                  *9 j- G% H2 s* f
  10. *                                                                   *, I" ~: `+ |# O" B7 R
  11. *   ===========================History==========================    *
    3 c1 n9 e, b# @* ?3 v# ~
  12. *    author: bini                                                   *6 O; z) ]$ h! V) i. {6 ?+ K6 @) C
  13. *      date: 2004-11-30  Frist version.                             *# T" L6 h3 S: B7 ^/ Q
  14. ********************************************************************/% K3 g! l- j- S

  15. , q( [3 e. G. X& U, @
  16. #include <conio.h>+ B4 b! ~# i5 ?9 W. k. e
  17. #pragma inline" q. [! P( D' h6 V% c6 [4 k5 v
  18.   k2 w0 A1 T: B) H: L
  19. /***********************************************1 M- k$ }5 t) Y* Z7 ~
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    ! {0 f7 Y1 s% B9 S% u7 K3 N" y
  21. *    第二个为一个数据段,没有代码段。           *
    ) D- p' b" U; }, F: h
  22. ***********************************************/, R  M+ f$ e0 n: ~) D
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/* f% Z0 d( K! j0 D% I! M- R
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, * e: p$ B3 i# U* a" ^8 k1 b0 `5 B
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
      a; ?; p* `4 W4 V: x
  26.                                       */
    3 y2 D$ t" v# g/ x
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    # |2 y# j; ]" |4 |, S# I( D
  28.                                          最高字节为 base( bit 24~31 )
    - x& r* Q3 o" d. h+ G. ]
  29.                                          7 y5 |( h& q' b+ Q7 _( l0 n# K
  30.                                          属性Attrib = 0x8F926 S. U; ]! c- }/ [: V0 x, B! J( v
  31.                                          
    # t+ F" a& D7 h" }  [0 V! ^
  32.                                              属性位Hibyte低四位为 7 ?# k+ v6 H" h5 j1 t- B4 {
  33.                                                  Limit( 16~19 )=F
    , m% N9 Z' d; i8 T2 a
  34.                                              属性位Hibyte bit7 为粒度
    % q  j  d! g  z* f
  35.                                                  (值1=4KB粒度)4 j' C' @+ k- Z9 g& A' B
  36.                                                  8F & 0x80 = 1
    ' t3 L6 @* {3 _" b- v
  37.                                                  ) |7 X. O& f7 {2 ^( u) m2 n
  38.                                              属性位Lowbyte低四位为段类型,值=20 k- B# G. s) g* x: Y/ n5 K
  39.                                                  表示为可读/写段  l* J+ x0 `# |; w
  40.                                              属性位Hibyte高四位=9,bit3=1表示:- w! G9 t, q- S) w/ b/ s0 l
  41.                                                  描述符对地址转换是有效的。
    ! N8 C) ?4 L- h- Y( R9 @1 d
  42.                                                  bit0=1表示为:5 {4 r: L! Z9 W( w  x/ g1 H5 O
  43.                                                  系统段描述符。而不是门描述符。: |4 {6 X1 Y6 f6 u
  44.                                              $ A4 h/ c2 a  [/ |; D
  45.                                          */5 e) S  P* ]+ P! t' b' i  o" _

  46. % K& ~  u$ T* R4 e9 S5 t7 Z
  47. /****************************************
    # S9 Q2 @+ k. X. V3 w
  48. *    GDTR寄存器, 48bit=6bytes            *) L3 a+ o4 y# Z7 y
  49. *    +-------------------------------+   *
    ( h2 g2 ]$ G9 L/ b3 z  i& U, w; |& }2 {
  50. *    |   32bit基地址       |16bit界限|   *
    0 n1 L; u, n3 j' S4 ]
  51. *    +-------------------------------+   *
    7 j& o& X1 D' x7 q: I
  52. ****************************************/2 p# o, Z3 Y% S  q8 a+ J
  53. unsigned char GDT_Addr[6]={0};
    + K6 o2 z" P5 f) }

  54. ; t& ^# Q" i6 w+ `. F
  55. /****************
    3 W5 |! \2 r( K' `- I: l& ]
  56. *    打开A20门    *
    ) G! l  Y& t# L
  57. ****************/. ^$ Z/ |& g# t3 K/ h$ I+ M
  58. void openA20(void)9 w: _8 s, q& W, K- `  X
  59. {5 @. T$ v) P- m7 ?8 r
  60.     asm{% r$ m( E: r& ^# C
  61.         pusha
    8 B" Z7 R& [- s9 t. K
  62.         in         al, 92H
    1 ]0 A; d+ W" d
  63.         or         al, 0x02
    ) V) I% i9 {1 a% b+ x+ o2 e. o
  64.         out        0x92, al
    4 n/ {2 C8 K: K$ s9 `6 ~6 y
  65.         out        0xed, al
    8 z2 u  ?. x) o) @  m
  66.         popa
    & [5 `. a! k/ t/ i( h" @
  67.     }
    " d( n3 e( }: n; w& v
  68. }& E4 l- ]: Y- n* |
  69. + J& M, O, I# m+ Y3 I* u9 ]
  70. /***********************************************$ O2 _2 h( u0 A! U
  71. *    函数功能:进入DOS4G                       *5 W, C; ^& C, F
  72. *    ====================                      *
    7 ^  T, p$ L2 R8 A2 x
  73. *                                              *! ?# x5 ?) {/ c/ Q- D$ Y
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *7 V& ~  f' S* }5 u
  75. *   如:                                       *4 ^' e8 t  L% i1 G
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *
    0 l3 Y- c6 M' R$ [& m  {
  77. *       表示为 2个GTD                          *
      M; D7 S( o$ ~% o3 c
  78. *                                              *
    ) w! i( ]- _' ~: u6 Q6 X0 Y
  79. *    选择子为所在描述符内的字节偏移。          *, @. i  b9 F. E' K5 R
  80. *                                              */ I( O6 E5 }" P. e; X+ W- {+ m
  81. ***********************************************/
    " }# ]! ]1 O1 x* J  Q# K  i# N
  82. void set4gb(void)
    . f3 g. E. W5 L# J7 T# L
  83. {
    ) C: u' z$ j' \. {3 w7 |
  84.     asm{
    4 c4 x! I# H0 u% b/ r7 D( O
  85.         cli8 f8 q- w! A% f% V0 h
  86.         /****************************************
    " ]$ D0 b7 g6 }/ s
  87.         *    GDTR寄存器                          *7 v  ~: k9 V" Z; J- `2 e5 m9 A9 P
  88.         *    +-------------------------------+   *& T1 d" e7 l7 W0 K8 D$ L
  89.         *    |   32bit基地址       |16bit界限|   *
      z) P6 v1 {1 u* L- ?: x
  90.         *    +-------------------------------+   *- {) t1 d1 L8 S: |/ j
  91.         *****************************************/  ~* {9 y8 O# j. j5 X  k, j) ^/ z
  92.         /*********************
    $ Q) }/ J1 C2 Q% L& |; Q
  93.         *        得出段界限       *
    " P; _% P* v1 N( f: ~8 l5 d- c
  94.         *********************/
    : ^3 q4 O- @6 E  y2 l6 }) U
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    4 H9 s  ~6 T4 t6 U
  96.         /********************************************! j! K& }' D* Y, ^
  97.         *    计算GDT表的32位基地址,存入GDTR        *4 c" i- [2 q& N) R( k
  98.         ********************************************/
    , j+ X" y# o( |1 j3 O! o
  99.         mov        eax, ds% e9 Z1 Z; X) s' z4 l/ L5 G
  100.         shl        eax, 4
    # I( {+ m' ^8 \' z% B7 d
  101.         xor        ebx, ebx
    + m! F, j- B  e! I6 B) O
  102.         mov        bx, offset GDT_def+ {  t, c4 U+ p8 A; C
  103.         add        eax, ebx% t! z% ?% f7 P# E/ b4 U. ^
  104.         mov        dword ptr GDT_Addr[2], eax8 J( c% O6 ?% X' q9 ?
  105.         lgdt       fword ptr GDT_Addr9 |. n1 ]7 k% b  D& ]
  106.         /********************' r8 Q  }( a) h+ t
  107.         *   选择子偏移      *
    ( r" _& U7 t) J) E# {, F" }
  108.         ********************/8 y  _' b) i& B) P- m
  109.         mov        bx, 8
    0 `/ }5 k" B$ X/ Z8 a
  110.         mov        eax, cr0
      y9 i- w( w+ m
  111.         or         al, 1  u# Y+ ?: E5 w: d
  112.         /**********************
    " S+ U1 l& c; E
  113.         *     进入保护模式    *; t( A/ X1 m; f8 V8 B( B3 `
  114.         **********************/9 d$ w" C% d$ ]2 X
  115.         mov        cr0, eax* a& D8 J0 R+ A3 e3 U. k+ s
  116.         jmp        pMod
    8 S" }$ W2 U4 Q9 c% p) a
  117.     }
    + e3 y! `0 p4 D, B

  118. ; D& R6 e8 @$ m0 @1 `" v; T
  119.     pMod: asm{$ u  L/ H5 k# [/ O2 [4 S. i
  120.            /************************************************************
    6 M" T0 K9 G- n5 m5 v6 t. u
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *: {% b$ K$ E5 Q
  122.            ************************************************************/8 H( O2 \# p5 A7 E
  123.         mov        fs, bx
    ( ]0 r5 P6 Q3 Q! O4 f" K
  124.         mov        gs, bx5 e: k4 }5 w2 X4 O1 c: }; `; `' I5 n
  125.         and        al, 0x0FE
    9 P# \5 f: e  X7 q
  126.         /******************( X7 v+ n% |% C; o
  127.         * 进入实模式      *" R6 O) M% F: e6 }4 R
  128.         ******************/
    : v: _' |8 b" [- s( H, ]% P: R
  129.         mov        cr0, eax. y/ @! b' Z  Y
  130.         jmp        rMod
    ( x# K1 _* O5 B1 B  ?' u
  131.        }
    6 ]5 b" r5 e$ O, {# I
  132. ! I% s; g5 ~6 m( @6 i, C
  133.     rMod: asm{- F& ~  {& G2 v& s' g* T
  134.         /* ******************************************************************0 l& @- s, p% O, U2 u0 H! }- n! b2 B
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *5 y( l( L5 }, J* `( q' E8 i
  136.         ********************************************************************/
    8 g  ^  q6 C( \# Q5 a
  137.         mov        ax, 0$ C7 O5 t: i) y! |
  138.         mov        fs, ax2 n: X; o; ?7 o! R2 d
  139.         mov        gs, ax
    4 J# ?9 r) |8 j6 U' J
  140.         sti' |# E! Q) G1 N* A  n7 x
  141.     }8 }8 @# P, O. M: I
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    % `# L' o' M8 D6 s, ~; V; t
  2. ;*    File: DOS4G.asm                                                *
    , w3 ~9 z& P( h! p
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *9 _1 N- q2 w& f4 X* w8 k1 d
  4. ;*                                                                   *
    " V( `: _1 E" L! I" m/ s
  5. ;*    ========================Title===============================   *
    ; A! Z4 h7 n& s7 E+ t" p
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *$ f9 w# X$ q: K) y: B: C. r
  7. ;*                                                                   *
    3 N; u* ]6 D% G- D! r3 C) g3 V
  8. ;*   ===========================History==========================    *  }1 G0 P; J' P, ^' M8 J& A
  9. ;*    author: bini                                                   *
      i4 q% j5 H0 Y7 l/ X# P
  10. ;*      date: 2008-10-08  Frist version.                             *- s& ?% z' M* r! p  d
  11. ;********************************************************************/ 4 D/ z3 Z+ k6 z8 c- I& b9 s4 T; D# i
  12. .model small; g6 z0 I" m7 s9 _  v2 V; @3 J
  13. .586p
    1 t; ]! [5 w) {7 q' w( x$ {0 u
  14. / ]) m+ o& e  e: T# a% {
  15. DSEG  SEGMENT   USE16                 ;16位数据段
    + z# R* g" a1 G
  16. ' N" D* @* q8 z2 Z2 s/ y" u2 v
  17. DESC            STRUC
    ( v0 p" g6 P  i5 ]  H' z, k  e# T
  18.         LimitL          DW      0 ;段界限(BIT0-15)
    + S% F& m  z( W& }1 I( n
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    ! L# j" y9 G% i$ D5 I
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    6 w7 C+ K9 r4 [
  21.         Attributes      DB      0 ;段属性5 v. J' Q+ ?/ N! X5 Z
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)$ ?1 U2 G5 U& [) o  `
  23.         BaseH           DB      0 ;段基地址(BIT24-31)7 H1 F6 d1 w' l$ _' R9 w
  24. DESC            ENDS4 O  I0 ~9 ~% K# K' L  H

  25. ; L# J5 z/ C6 X; {7 u+ p& J
  26. PDesc           STRUC
    & N" t# s% A" d4 {$ n1 g5 h6 @
  27.         Limit           DW      0 ;16位界限
    5 S) E/ T  f& j: S$ C( H
  28.         Base            DD      0 ;32位基地址
    7 P& s, k# h* V
  29. PDesc           ENDS6 ~/ [. z7 A% ~+ A/ K4 a
  30. 6 O$ t% s" k6 K9 \/ _* J; ^
  31. GDT_def         Label   Fword# W, C( g9 R  D5 D. _
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    ) n& d$ K+ Y( S0 E
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    ( b8 j# m2 E( P' F: b8 x" m

  34. 7 e; i% {1 S9 D6 K$ p8 m$ t+ |
  35. GDT_Addr        PDesc   <$-GDT_def-1, >9 s1 Z8 h2 D# ~3 y4 e
  36. DSEG            ENDS                          ;数据段定义结束; U3 r& w, i  a- T
  37. ) s& J/ g$ p4 E3 [; l
  38. CSEG            SEGMENT USE16                 ;16位代码段5 Z- @- J& m# V/ h4 F# e
  39.                 ASSUME  CS:CSEG,DS:DSEG# P$ `7 i  S5 }" r6 P7 s* f
  40. .Startup* s$ m3 U* n- F( u7 w; ?; J' }
  41.         call      Set4gb
    ! V! ?* Y) ?2 v3 g
  42. ;
    : O: X  s: z% g$ s! d/ ]  s
  43. ;       fs, gs即能访问4GB空间. g7 P, O# t9 M4 N. b, b
  44. ;       write your code in here.) E0 t7 }3 P' B% X+ f$ [
  45. ;* j, ?8 k/ f+ O) l+ A" g
  46.         .exit
    , w4 S. f) m9 H  B
  47.         
    4 W0 W# j. k6 D1 C
  48. Set4gb          PROC      NEAR
    3 l- c/ \( B, S
  49.         in        al, 92h
    # L& }/ O* q! v( ]
  50.         or        al, 002
    # A/ C6 t; l0 x) A
  51.         out       092h, al  b! H- Z7 T' Z5 [
  52.         out       0edh, al
    6 _1 s* E2 j2 ^: [
  53.   n6 q; j' [/ [( b8 }3 J0 T
  54.         cli
    1 c& t+ _/ r2 t/ K$ z. C" n4 V5 _

  55. $ E5 P9 v( G6 K7 Z2 H
  56. ;        mov      word ptr GDT_Addr, (2*8-1);" m& c0 B* z; Y7 R4 s8 t  p' }

  57. & S  R# U) K& O3 t$ J, d# T
  58.         mov       eax, ds) j$ J9 f7 V* [. V% ^
  59.         shl       eax, 4
    ) f: d! P6 Z$ D' Y% V8 ~
  60.         xor       ebx, ebx
    + v- u, P' ^; ]3 ~) W2 B% A" K
  61.         mov       bx, offset GDT_def7 ]7 h/ n* z+ f+ D' M& W) D
  62.         add       eax, ebx: K# ]; P# d5 e0 _2 \/ `
  63.         mov       dword ptr GDT_Addr.Base, eax; S( D! v- J  K" B: X7 x
  64.         lgdt      fword ptr GDT_Addr" q; ~0 j3 N- d. P( Z/ M1 B/ G" ~

  65. + W3 [. n. g% Y" Y6 @
  66.         mov       bx, 8$ t0 a. S6 T6 B3 `) D- m
  67.         mov       eax, cr0
    " d" z# |  w9 T* W
  68.         or        al, 1
    * f5 h5 r( f0 v/ k1 r
  69.         mov       cr0, eax
    # W% e6 ?( [: E9 W/ d+ ~  t
  70. , u0 S( u6 a4 b. X
  71.         jmp       pMod, t8 t; S5 I+ L+ D8 F- J- `, K0 }
  72.     pMod:# Q3 ]- V+ Q  A) n# }5 }* m
  73. 1 Q' I/ y, w) c1 I  j# X- ~* L. [) p
  74.         mov       fs, bx4 k: C$ v' G7 i/ r. v. h
  75.         mov       gs, bx
    . O- \; s% a: A
  76.         and       al, 0FEh
    " t+ l+ c/ D7 V; n; e3 A: `6 y
  77.         mov       cr0, eax: M$ L0 ]& n9 k  D5 Z$ d3 z
  78.         
    + P, g1 w2 F. |
  79.         jmp       rMod
    : Y1 Z( r; p; R- z7 \5 t
  80.     rMod:
    . D1 H/ N" E! P, q/ i7 `

  81. 6 U0 Y# h" Z6 @0 ?  P8 X
  82.         mov       ax, 0
    ! M8 N8 T& _- w, b  L! b+ S% t
  83.         mov       fs, ax
    9 \" j, @" S& |! g
  84.         mov       gs, ax
    5 n: g5 c3 G# u0 f, a/ [% H- T- H
  85.         1 ?& }3 J* V0 c( h0 `. M0 I
  86.         ; 在2M的位置测试写一下数据* X0 \7 g1 g- ?) p9 I8 ?
  87.         mov       esi, 200000h8 l5 f$ w( }; B
  88.         mov       dword ptr fs:[esi], 055aa55aah" o6 I+ F$ C2 D3 h1 ~' d% q
  89.         ; 用RU去看看200000h的位置是否是此数据....
    ' G4 k) t# j  P8 s6 v
  90. - {+ Z: K/ D' }# N
  91.         sti0 n+ \) O. O" K" f! q, F0 b
  92.         ret
    1 q3 U1 g- j# m) t- G+ L- p
  93. Set4gb  ENDP
    + }+ I! H: G& v4 D5 J3 e9 @, G# |
  94.        6 F$ V) E% l4 N
  95. CSEG           ENDS                              ;代码段定义结束, e' Q- A" |1 K+ F  W# A1 j
  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. J& l  {7 @7 w, c* |

/ o# B0 c4 m6 Q1 E2 Xoption->compiler->code generation中的option选中, [X] compile via assembler; i: G% @* h+ F, ~6 Y$ C- O
4 y6 ?! y; ]& k
[ 本帖最后由 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;7 W9 E1 N* x6 Z% L, W: }
Data_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;! L5 x0 N5 d2 G0 g6 b) W6 e1 h' H

5 D/ j# f/ k4 J4 C! QGDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
( `+ V) |' s. h 替换如下,
0 Y9 p' n$ {# N9 ~" {6 ZNull_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>( B2 _8 p$ `5 [0 C3 R# B$ b
Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>- i' Q  r- s' V" K. _+ w9 {
) R6 |; K% C# |8 P0 X1 m
GDT_Addr        PDesc   <$-GDT_def-1, >
# o/ x" J- s+ }3 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 发表
. D( _) l4 I4 n# Koption->compiler->advanced code generation中的instruction set选 80386
3 e! e' V3 B& a1 |) a2 f- ]9 |% j
7 i- d( a- B' G1 O" q. voption->compiler->code generation中的option选中, [X] compile via assembler

* @0 n, r- `; F( O. {1 k7 I   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
) C; F/ h' ^5 W. l" y6 q! U+ V9 B, o! B5 ?' z& S
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...
& A7 C" H' v% W$ f/ u

7 p0 O1 V3 S0 u& u# j7 a我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

发表于 2011-2-21 21:04:39 | 显示全部楼层
option->compiler->Transfer 设置TASM的路径,就不会提示找不到TASM;
2 T) s4 k: J$ Z* }- r还要把TASMMSG.exe拷贝到源代码(工程目录),就可以编译完成了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-18 17:46 , Processed in 0.100841 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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