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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
3 X7 f' x. b9 H# D% ^- R: d1 O- i7 q3 N" g1 j
这是C的
  1. /********************************************************************
    * l4 I! ^4 ~4 y& Q$ k
  2. *    File: DOS4G.H                                                  *6 `6 V$ e8 l" \% P4 N! F9 f! Q
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    3 S" N5 o. a3 H7 q. V
  4. *                                                                   */ Y3 e# A0 }" B+ G
  5. *    ========================Title===============================   *
    - q- K1 j/ R5 Z8 z: q& L( y" f
  6. *        这个函数是让系统进入DOS 4G模式                             *
    1 C9 g7 j: z$ A! ^! k; O& x: @
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *8 e: {/ a: [8 a: i, }: @! ~
  8. *                                                                   *
    ! N7 R  [& J  C# d  C' d
  9. *       使用: openA20(); set4gb();                                  *! A) _" p1 v! p' O2 t! Z
  10. *                                                                   *8 c+ s$ C9 O; f, i
  11. *   ===========================History==========================    *0 [/ I* D) V% J$ x) Q- {; w
  12. *    author: bini                                                   *# B* M3 l/ V( u" ^/ }7 [
  13. *      date: 2004-11-30  Frist version.                             *& i  \# e7 W' o- l0 ^
  14. ********************************************************************/7 j# N$ h+ \# z' y
  15. 1 \! C/ m) w! U4 k, a
  16. #include <conio.h>$ }2 T1 ]/ ^" R: \, g2 Y- s! O
  17. #pragma inline
    6 C) }! x6 T, Q4 _- Z8 S

  18. ' Q( f- {2 C! _
  19. /***********************************************% w5 t4 r- r6 ]
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *( e$ v  h; ?& x+ X
  21. *    第二个为一个数据段,没有代码段。           *
    ) ]% h, ?) s8 @- G# D+ P
  22. ***********************************************/7 V, f8 N; L  ]7 Q" A. [1 n
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*// `8 c' M5 B  K: ^. n1 a
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0,
    & {0 w8 p) ~, T0 |) h
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
    ; }  E# g* {9 d: J
  26.                                       */- q$ \# ^4 r% y6 P6 H/ _
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )0 w3 |" R7 V- R: D+ I# t9 K
  28.                                          最高字节为 base( bit 24~31 )* L/ |; k0 p- N
  29.                                          , I* P$ Q$ ], l
  30.                                          属性Attrib = 0x8F92
    8 n0 \; }* Q  j4 T* j2 |. d
  31.                                          
    8 A- ^5 k$ ], E* B% O2 Y+ h% M
  32.                                              属性位Hibyte低四位为
    & }! |  p! ?5 m$ y/ v: ^/ K
  33.                                                  Limit( 16~19 )=F* w, |; A; q: t+ o% q3 X' \0 O- T6 V
  34.                                              属性位Hibyte bit7 为粒度3 v/ m* l6 Y" S4 P: n& a
  35.                                                  (值1=4KB粒度)
    $ [" y. d4 S8 T! q5 W* T
  36.                                                  8F & 0x80 = 1
    8 c: n# Y: Z$ V3 |; I- A( z& p5 p2 T
  37.                                                 
    4 ?8 L/ r8 A$ D9 L& \' R
  38.                                              属性位Lowbyte低四位为段类型,值=2
    % G! M. ]  M; J  f: n* ^
  39.                                                  表示为可读/写段
    ( O: X- u! E! ?+ Y( E6 L
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    % i, c  }; M. `4 y% f/ }' H, A
  41.                                                  描述符对地址转换是有效的。/ l1 L) [+ x# v, a
  42.                                                  bit0=1表示为:
    $ m) E: [( }* Q, c  Y. o, i
  43.                                                  系统段描述符。而不是门描述符。. @3 F' `( W6 t4 x/ ~
  44.                                              
    : u9 x/ Z3 q$ ]4 G
  45.                                          */, {+ y9 `$ t& m
  46. 6 K5 u& W7 T" s9 t5 }. N
  47. /****************************************/ T2 y3 J4 d+ c. s" s
  48. *    GDTR寄存器, 48bit=6bytes            *. w# J  \& P, K* X8 F
  49. *    +-------------------------------+   *
    ! {( O( h: {% A* `) e& p
  50. *    |   32bit基地址       |16bit界限|   *
    * f7 O6 K& n  y
  51. *    +-------------------------------+   *
    , I% z# r* \9 M8 ?$ Y/ A
  52. ****************************************/8 X$ P7 y! }2 a6 j3 g$ C
  53. unsigned char GDT_Addr[6]={0};
    ! {2 }2 \/ O7 i! I

  54. / z5 F) {4 z3 h* n: S6 ~" t- g
  55. /***************** f. q; ?* `# y
  56. *    打开A20门    *0 ?3 @$ k0 b' S! u$ ]
  57. ****************/9 L' `/ B3 P. t' u0 l1 e* p# V6 @2 B1 H
  58. void openA20(void)
    . P! @: K* m9 k2 v2 C3 k1 m
  59. {! E/ o2 z1 [+ [9 \& c+ j8 t
  60.     asm{
    - ~) b" S, x7 `4 v) d' _- E8 w. C5 |
  61.         pusha+ H7 w! x' T3 x  h7 N& X5 v7 D! B
  62.         in         al, 92H
    ( j4 t+ ?$ p8 z& }
  63.         or         al, 0x02
    , R: C; L1 X& r# s$ U$ ~
  64.         out        0x92, al
    ( y8 m1 g: ^. W/ |2 M  D  r
  65.         out        0xed, al4 U) u2 L* Y) T" V& p
  66.         popa' c) N; R* v5 S; u
  67.     }1 y" B2 h4 w; O5 b0 e9 s. ?' F
  68. }, m2 m8 Q- E& y% _( C
  69.   d9 a; }" `: S" G9 R
  70. /***********************************************7 t) [  {4 M3 w1 m3 c! ^
  71. *    函数功能:进入DOS4G                       *
    * K" Z9 Q# I" c0 d0 ~
  72. *    ====================                      *8 r6 j) s5 T8 W2 g8 z9 t) S# P
  73. *                                              *
    ( @, l  h/ F6 G) o
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *2 f! @4 ?+ c+ S* @
  75. *   如:                                       *7 [3 I; ]8 H+ U" o, O5 D) v
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *; N! c' L/ i& d1 E
  77. *       表示为 2个GTD                          *
    % a7 V1 [: I! h6 }
  78. *                                              *) n' N. H& @. D2 G( ]& l# d
  79. *    选择子为所在描述符内的字节偏移。          *1 H& a  s! R8 \) Z( Z! ]9 `
  80. *                                              *; M7 J& v/ F! e2 V* c1 [& u$ X
  81. ***********************************************/
    1 o1 W% A) M, W
  82. void set4gb(void)
    ) N* m7 n& f4 J+ b  Z
  83. {
    0 ^& M! z: @+ W  o
  84.     asm{0 |: d* i) H% h5 v& p, f
  85.         cli0 `$ W4 `9 \  O% L& ^. W
  86.         /****************************************. L5 J8 j3 i* p# Z' e  T; f8 y3 G
  87.         *    GDTR寄存器                          *
    : }, k- ?. E) S; i* O3 e7 d6 G# d
  88.         *    +-------------------------------+   *
    & G; V% Z6 ^% A. L* B! w, v7 b
  89.         *    |   32bit基地址       |16bit界限|   *
      K( L7 \+ {8 v: B
  90.         *    +-------------------------------+   *
    8 c) f; P  W2 F  V5 N5 r6 b
  91.         *****************************************/( M: \1 i  V! k  G5 z: D
  92.         /*********************
      t: |) \  h5 j' n; k$ E$ _
  93.         *        得出段界限       *
    * }/ H" w7 t  U* G! m
  94.         *********************/0 F: v4 v+ t; `, L1 _; d7 t9 @
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    ( b  ^# g  L+ V+ y( x
  96.         /********************************************" g  P  H* p5 L( g7 Z$ w
  97.         *    计算GDT表的32位基地址,存入GDTR        *' Z4 P  Z$ p9 j, W
  98.         ********************************************/
    4 P# D+ D1 t& \4 f' M
  99.         mov        eax, ds- B# u5 M8 F$ E! w# E1 R  w' h
  100.         shl        eax, 46 _: x. T' ^0 ^# T, `# l  L& }
  101.         xor        ebx, ebx1 f" d2 ]+ f3 Y: v4 D8 h
  102.         mov        bx, offset GDT_def
    - C; Z  u# y' e% ^
  103.         add        eax, ebx+ |  h  t3 ?) x, W) x1 q
  104.         mov        dword ptr GDT_Addr[2], eax, D  ^/ I0 B, @7 m, b
  105.         lgdt       fword ptr GDT_Addr9 p" {$ }9 ^- O5 ]
  106.         /********************; j1 j7 x  m1 \: a: F9 m
  107.         *   选择子偏移      *1 J  U+ y% q! Z5 }
  108.         ********************/! [" h6 t( k: {) \
  109.         mov        bx, 8
    ' B! h' r, _. H0 f8 m
  110.         mov        eax, cr0
    # q3 h6 Y8 N0 l2 Y! }! p
  111.         or         al, 1
    # R& \1 n- k$ \2 r2 H. w
  112.         /**********************( _6 b  i% I" w' B) i
  113.         *     进入保护模式    *
    4 R$ G, h% C6 {$ _3 @
  114.         **********************/
    + v$ g$ S9 V. `+ _4 c, [
  115.         mov        cr0, eax( x8 ~7 a0 W( v* {3 v5 x' L
  116.         jmp        pMod0 |) U& q" u  ^& R9 X6 \
  117.     }
    & u* K# l4 f+ \. b" [9 A
  118. ( M4 t9 k8 Y9 ?& G( g
  119.     pMod: asm{
    ; ?& b4 G' M8 j. ?- l+ W& \
  120.            /************************************************************  \% e: k4 v& T5 u. N
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *
    6 ~$ e0 M" {, @) I
  122.            ************************************************************/
    / ]4 b' }+ [2 Y
  123.         mov        fs, bx" T/ ]! e2 u# J9 p9 O
  124.         mov        gs, bx; |, u( ^- r6 {$ }6 g  x# H+ Z
  125.         and        al, 0x0FE
      b/ v/ F( R5 x0 T2 W& L
  126.         /******************
    & E5 v3 i  ~) Y/ c, o5 \
  127.         * 进入实模式      *  y/ \: n) n! G9 L
  128.         ******************/6 C' W+ k: l, l
  129.         mov        cr0, eax
    & C5 a! V/ O' I0 T& I3 z
  130.         jmp        rMod
    9 F+ [& Z- J$ W' W: \; l) i# H
  131.        }5 `# r4 N; ]: d+ L8 W3 B
  132. & `8 I) M9 J' @5 ]0 b* a
  133.     rMod: asm{5 r& J" ^+ [" T/ U2 I
  134.         /* ******************************************************************( ]1 t, O4 p  ]7 `5 N4 w
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *' J7 b6 J. h$ X2 u0 }
  136.         ********************************************************************/
    % D5 \: n, [  Y3 V% Z% q' I, Y
  137.         mov        ax, 0* d+ J+ W' c$ f' ^( u
  138.         mov        fs, ax
    ( o6 p- S; |$ T9 q! V
  139.         mov        gs, ax- F/ n+ t! i8 |4 `
  140.         sti7 G- S; [9 g' {: d( N% x
  141.     }
    + @, d* Z4 P# }6 T
  142. }
复制代码
这是asm的
  1. ;/********************************************************************  T4 ?( R4 [+ \: P) K) i" ?
  2. ;*    File: DOS4G.asm                                                *  [# G) Y& f% f3 q5 D! d3 u
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *, W! V) m* F/ ^0 d9 V+ Z3 R6 R
  4. ;*                                                                   *
    , t% D7 t! p, `
  5. ;*    ========================Title===============================   */ {% A7 s8 h0 ^! F; H
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *
    " p+ I1 |- G) W
  7. ;*                                                                   *
    7 Q6 ]4 ^- C" q( P) h% W+ R  l! S
  8. ;*   ===========================History==========================    *
    3 u6 e1 W* A6 N- K: p
  9. ;*    author: bini                                                   *
    8 O/ ?% g' s( L% o
  10. ;*      date: 2008-10-08  Frist version.                             *6 }) }1 N, ^# X! G$ n" w
  11. ;********************************************************************/ 1 B3 t8 {4 K6 q2 g% b, |1 t
  12. .model small
    & w. n/ y3 |' t& N$ m7 D8 u% T
  13. .586p
    1 e3 e- N& T" _, W& l& Y

  14. 0 Q2 T" p  X! x, U* v7 a9 B! b$ D
  15. DSEG  SEGMENT   USE16                 ;16位数据段5 _; F+ P8 b$ S0 @: W
  16. " c' r, ^0 D  O% D- D) a7 G+ y. u
  17. DESC            STRUC7 F# S* ]( G* m0 K, b
  18.         LimitL          DW      0 ;段界限(BIT0-15)
      J7 e- T7 C! I4 O  f: f
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    " a! K7 T$ F6 S3 q) [9 \
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    1 v' w; A* h6 k# R
  21.         Attributes      DB      0 ;段属性0 U% C; ?2 j# ]( V" S
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)# ^4 h5 W7 T% G) s4 b4 x6 x# a
  23.         BaseH           DB      0 ;段基地址(BIT24-31)6 C5 \5 v- E" P5 D3 G8 {
  24. DESC            ENDS
    # E) s( w6 D2 A1 _0 {- p$ N

  25. ; m. Z' A9 ~  ?  d
  26. PDesc           STRUC# b! B$ ?) \  t
  27.         Limit           DW      0 ;16位界限; l3 K, j* {# x
  28.         Base            DD      0 ;32位基地址4 Q0 V4 C- Z3 ^  E; I. h8 O% o& f
  29. PDesc           ENDS
    : n2 W" s$ P" L
  30. # j7 ?8 P% |, b) S* L
  31. GDT_def         Label   Fword
    # C9 y% I  {" r' Z
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    9 a6 f. G3 H: D" ~8 i$ u  k4 K- k
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>5 T- X- w! n% w# a8 H, Y
  34. % l) @) y/ M, F! t) g  U2 ?
  35. GDT_Addr        PDesc   <$-GDT_def-1, >
    9 f/ S+ q7 j% H, P0 O3 e) f
  36. DSEG            ENDS                          ;数据段定义结束
    8 u% o# F: R1 T9 }: D- q

  37. : y! m" \3 y" o* C5 L
  38. CSEG            SEGMENT USE16                 ;16位代码段9 |" u7 ^* R1 B- `% I3 K
  39.                 ASSUME  CS:CSEG,DS:DSEG
    , m8 I) |+ a7 Z; q2 |- U
  40. .Startup
    " O3 x3 o7 n3 K3 G! h( Q6 D
  41.         call      Set4gb
    7 R% H+ j/ ^2 F/ e8 S& K
  42. ;
    / ^( F: b/ P) M4 c( w" F
  43. ;       fs, gs即能访问4GB空间
    - `2 A" J" f' s; j7 {
  44. ;       write your code in here.
    3 j5 o. e: v) s% o, N0 F+ j  [# K
  45. ;4 |5 K8 b# r+ f
  46.         .exit
    0 q% ~, q# ~+ j$ B& e$ M2 X. ]& b
  47.         
    2 G4 |$ Z4 _) F! k/ ?
  48. Set4gb          PROC      NEAR- R" N( \1 A% y4 H
  49.         in        al, 92h
    9 U# h3 }6 w% v% n
  50.         or        al, 0026 e1 }4 h9 V! p! P
  51.         out       092h, al# Z2 S6 @1 V$ \: k& C' i: Z
  52.         out       0edh, al
    3 |$ X4 `, U- N3 H' Z1 C$ n

  53. ) h3 f% S5 ]. |) C( B9 T3 f) a
  54.         cli
    ' c2 l" R( u( d2 Y) f4 t7 \+ b

  55. , V  [, X1 }9 |- e, O. r+ G- ]
  56. ;        mov      word ptr GDT_Addr, (2*8-1);& }; w4 K9 w0 U+ c4 c" [% Q5 t
  57. 0 g& l# X7 y7 n& m; D. c
  58.         mov       eax, ds# N( y* o0 V6 F' k; X
  59.         shl       eax, 4
    2 Y0 ^3 M" C+ M5 i" q! V9 Z
  60.         xor       ebx, ebx
    % E8 z2 P. H- }1 k
  61.         mov       bx, offset GDT_def
    5 z6 T; z" P' G4 I  H
  62.         add       eax, ebx
    ) O( A8 R! z# @. m3 F! U. p- Y0 Y
  63.         mov       dword ptr GDT_Addr.Base, eax( P: x2 S; c% t+ a8 @8 Q# s0 z
  64.         lgdt      fword ptr GDT_Addr
      ]! e6 U* n% S0 m+ ^5 S

  65. , [, R5 O% k; h
  66.         mov       bx, 8
    . ]8 S& K! Q, e$ [: ~4 t8 r5 [" h5 |
  67.         mov       eax, cr0
    , D: R0 i) p1 {- m$ z
  68.         or        al, 1' H6 W2 S2 }2 d2 V' f2 C
  69.         mov       cr0, eax
    ( w' @; _7 [1 `4 T

  70. ! k+ d$ k. Y- Z( |2 G2 E: W) x9 s
  71.         jmp       pMod
    6 c1 @- U3 D( C! A$ X8 ~
  72.     pMod:
    ! m1 ~  ], g: o& z
  73. & h6 M' I& x6 S8 z
  74.         mov       fs, bx
    & C7 H- C! q$ _" h
  75.         mov       gs, bx% F  C5 {) O: A! k
  76.         and       al, 0FEh
    $ E' }  e4 b+ a$ k1 Z6 X7 o( B
  77.         mov       cr0, eax
    0 {" K) K+ p5 ~  ?
  78.         
    8 {% t9 F1 a! v  k7 A+ b
  79.         jmp       rMod
    2 ^8 d% ]! o: x4 Y5 E  }3 C& g/ y
  80.     rMod:( h, ^. k3 t1 d. O

  81. ; ?' h% N: g! y/ v5 P' a; J3 y
  82.         mov       ax, 0
    2 ~8 L7 ~7 [9 C. f
  83.         mov       fs, ax/ C. p6 U/ ]0 _; m- c* j
  84.         mov       gs, ax
    " l! b- e. o" Z: z+ D1 Y
  85.         
    , j: B' k6 \1 j# `3 @! y
  86.         ; 在2M的位置测试写一下数据
    7 l- q. X* p  u8 n
  87.         mov       esi, 200000h2 x# [7 O" g# e! y
  88.         mov       dword ptr fs:[esi], 055aa55aah
    5 ]9 U# l' }/ }. A$ Z& \
  89.         ; 用RU去看看200000h的位置是否是此数据...., p& Q5 a9 Z% r7 Q  H1 b
  90. ! p1 v) o% B" I
  91.         sti5 G1 i" M3 s9 O. y. b5 j0 U" N
  92.         ret8 t0 r- w# T- E
  93. Set4gb  ENDP
    4 y8 Y1 S* m" R, o! K
  94.        # e2 P% G# H. i; Q0 [. j7 X
  95. CSEG           ENDS                              ;代码段定义结束
    4 E2 h( Z+ J6 f) W4 L6 ^
  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选 803865 r- y. H: a9 G4 o+ u; [# A$ a* r
  }, F% d9 Q, t2 s7 ?9 d* F
option->compiler->code generation中的option选中, [X] compile via assembler+ w( S) @  ]0 K2 d+ F; H" n7 V, q: j
+ @! M5 ]% m0 i, N& ]- Z
[ 本帖最后由 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;, ?. R9 h& [& J+ T& b
Data_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
+ n  ?% v/ ~; M4 d& s
& r- \& v4 \7 M: ?# OGDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
; @% g: S5 e2 {7 y" {4 P5 c, C1 a 替换如下,; ~/ q3 J- }+ }- j! U
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
6 s) U9 u, b4 @- ]- AData_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
3 f) h+ z& w- h- F5 o
- p$ U$ b" H/ e- V  J  P; ?4 w( YGDT_Addr        PDesc   <$-GDT_def-1, >* |' [* h( M* d( k% C
这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表 8 |: G1 }, I. o  C3 o
option->compiler->advanced code generation中的instruction set选 80386
1 q6 t0 z7 p' Q2 S( I7 @+ H, Z  a; H5 D7 s4 `
option->compiler->code generation中的option选中, [X] compile via assembler
! l+ Q. t  k& z- u
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
0 A. A. l+ c( V6 X7 w  S5 q! t1 e& R' x. T3 x* V+ p( T
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

3 {7 K6 z% `; \& l& s  S% q$ ?% N4 A& G- P" X! R/ u( O; d
我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-22 03:43 , Processed in 0.027822 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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