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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。0 t  `3 n; U" k: H0 x4 n* U. y

+ D! e, F' b" ?* a* f6 B$ _这是C的
  1. /********************************************************************) O" t/ e' @& E6 M
  2. *    File: DOS4G.H                                                  *
    % C! S8 F6 c( b4 Z& p4 G
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    7 k: X5 I' Y4 c
  4. *                                                                   *
    6 |3 t1 [) k; ~* U, S( S; x2 u
  5. *    ========================Title===============================   *3 A# Q& s6 F; H/ Q/ L/ G7 ~
  6. *        这个函数是让系统进入DOS 4G模式                             *
    7 n' d" j. c/ D0 M
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *3 A7 o* f6 [, r: R& m7 x0 I( ^2 d% P. }0 S
  8. *                                                                   *
    4 N# m  r6 ^1 g' s
  9. *       使用: openA20(); set4gb();                                  *
    + N# B- Y* V$ X" C" k! \
  10. *                                                                   *6 P9 J4 ~6 h! Q8 k/ o4 N0 ]/ B% z
  11. *   ===========================History==========================    *7 B9 ^; t8 @1 H- w( \) c* h% j
  12. *    author: bini                                                   *2 y: ^' f$ V$ h$ D! r# H$ p
  13. *      date: 2004-11-30  Frist version.                             *
    3 v3 P% \) |+ F( ^. q
  14. ********************************************************************/
    5 ]+ x3 D  y) G1 ]
  15. 7 ]! G' Z' Q% G) S, @7 k/ B
  16. #include <conio.h>6 y) m" z6 t; x3 b
  17. #pragma inline
    5 P3 E5 l1 S3 b+ M/ ^1 i. f7 y$ h
  18. - P( W. Y3 D4 Y% W: f+ }
  19. /***********************************************
    : O+ K/ w* e; E: [1 H5 X# `+ }0 r+ K
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    , v$ ]. \. u3 b+ y: `, Z3 h3 g, Q
  21. *    第二个为一个数据段,没有代码段。           *
    8 B+ L9 p* F/ W' H
  22. ***********************************************/
    / d( e" n- N: a6 @; h
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/1 x# ~' Q' u6 `
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, . D' @  S, H3 V/ X3 x" v' V
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF 2 O3 u$ l( w# e$ Q# ]1 h
  26.                                       */
    ) P$ |- k3 K+ T2 h5 @- g& b7 q
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    - d6 @. l  D! K3 E
  28.                                          最高字节为 base( bit 24~31 )
    ( ?3 @' m2 w# ]& I( g
  29.                                          
    5 G8 b0 V: E. a4 q6 I" z& B1 f/ x
  30.                                          属性Attrib = 0x8F926 |- C; @7 ^0 h4 w2 m2 M
  31.                                          8 a0 n! M/ O+ K+ l/ P# H$ s
  32.                                              属性位Hibyte低四位为 - y' T  W, \3 }: v6 s1 q
  33.                                                  Limit( 16~19 )=F: x" F9 Q) W. |* \, r
  34.                                              属性位Hibyte bit7 为粒度/ m# [1 Z$ `) N* v
  35.                                                  (值1=4KB粒度)- @* i# l( B+ ^# O1 w
  36.                                                  8F & 0x80 = 1
    % i3 Z% z8 l- v$ S
  37.                                                 
    0 t8 a* Q! U- t0 o0 {) L
  38.                                              属性位Lowbyte低四位为段类型,值=22 a" Y' p+ Z$ |/ h: N* d. b
  39.                                                  表示为可读/写段
    4 F+ w3 I- l0 m; Z
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    5 E$ L' }" F* z  [& C/ C4 ~0 `
  41.                                                  描述符对地址转换是有效的。
    ' E4 Z1 c7 x) a1 U: ?- {
  42.                                                  bit0=1表示为:
    * e0 [# A! W' ~; ~0 C
  43.                                                  系统段描述符。而不是门描述符。
    ) w: m( p3 V6 i2 z
  44.                                              ( E* ~% g8 |, U, o. i, o& K
  45.                                          */
    9 j% z' V2 w- c3 M. B3 q8 b
  46. * u, [1 W1 c. ^3 s$ S/ V, W: g( g5 y
  47. /****************************************. i3 [8 K4 {# {9 b: `& n' ]8 f
  48. *    GDTR寄存器, 48bit=6bytes            *
    ) Z  W1 k! d5 i* L2 D. K
  49. *    +-------------------------------+   *
    1 [: Z9 A* i: ?  o4 y
  50. *    |   32bit基地址       |16bit界限|   *% B+ }* [3 R3 i. b
  51. *    +-------------------------------+   *
    3 R7 e1 D3 h+ }
  52. ****************************************/
    4 `) W3 w. ~, H
  53. unsigned char GDT_Addr[6]={0};% G+ N8 V1 p% R
  54. ( S9 {( I+ K3 ^; z9 M
  55. /****************% |  b9 ?# F2 o6 C, Y# E6 C
  56. *    打开A20门    *
    9 g0 s3 t/ x& j# j4 X/ ?
  57. ****************/) W9 C) x; r3 T! L8 w0 Z9 ]
  58. void openA20(void)
    , Q+ s5 L+ k7 Y( d% z
  59. {
    ' p. L- ?. P7 B! \
  60.     asm{6 P6 h: F/ x; U4 w" ~
  61.         pusha
    * w$ M3 Z; {5 N! P3 _! M3 U) Z1 P/ `
  62.         in         al, 92H
    & f& c+ W9 p% |4 `9 i
  63.         or         al, 0x02+ R2 [  @3 e, {2 U: j- v% M
  64.         out        0x92, al  \, q+ F! ^: B% i
  65.         out        0xed, al
    * G9 u8 f% y* d3 G9 X
  66.         popa9 R9 a( `' c7 b) B
  67.     }8 V! V1 j. w% y) }* _
  68. }
    6 t5 d7 G( ~4 M) T, F
  69. 0 g# c& I& L' S
  70. /***********************************************
    5 B/ x' ]6 W7 A7 {& u5 |
  71. *    函数功能:进入DOS4G                       *
    9 d  b& C* b9 @; k5 G
  72. *    ====================                      *9 I$ Y8 [2 C/ I! s
  73. *                                              *  h  C  B4 g! y3 w
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *
    1 p  X: H2 W5 B/ i
  75. *   如:                                       *
    6 i' g* r* V2 b, f
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *, i  f& F/ I0 b* w
  77. *       表示为 2个GTD                          *( I0 Y/ v. v8 K) u( ]: L
  78. *                                              *5 i% X: V: H) g% b
  79. *    选择子为所在描述符内的字节偏移。          *, e0 q, B: v  u. u1 y3 e
  80. *                                              *
    : x% D6 o8 y3 g$ U% \
  81. ***********************************************/0 ?" Z& q) Q3 M, N, ^* y: c( C
  82. void set4gb(void)* Y9 j9 J7 K" [2 U& P6 O) Q
  83. {  K3 z9 E8 d* x. [4 h
  84.     asm{: |0 T/ ?7 d" B3 d7 W
  85.         cli& f8 \  R1 y# R& j* ]6 {# z
  86.         /****************************************" w- @0 J' m+ D# M* S" i
  87.         *    GDTR寄存器                          *
    % i+ g& M/ Y. C6 a
  88.         *    +-------------------------------+   *) X1 a8 d& m$ u
  89.         *    |   32bit基地址       |16bit界限|   *
    ; `; q# O& d6 y: W4 I
  90.         *    +-------------------------------+   *
    0 X! U" {0 G2 x2 i; x9 n
  91.         *****************************************/
    , i6 j( Y* A" [1 F4 z3 E" p
  92.         /*********************
    + z( e9 M8 O7 b
  93.         *        得出段界限       *
    ; T" S* `; O% V2 C# l1 h
  94.         *********************/
    . k6 b+ ?1 t2 L4 c/ K/ h
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    ; o$ [0 R+ Y  V
  96.         /********************************************, t) A" l+ `% t2 R; i
  97.         *    计算GDT表的32位基地址,存入GDTR        *1 Z+ g0 k  K7 B2 @
  98.         ********************************************/) e7 P, ]! q! a$ i9 e
  99.         mov        eax, ds% c) r3 u6 O3 Y  x( h8 Y& l$ g1 ^
  100.         shl        eax, 4* x# ~9 ]* R" Y: ]; `5 `
  101.         xor        ebx, ebx
    # H8 f) V# Y# Q2 Z3 m8 V$ S0 c
  102.         mov        bx, offset GDT_def
    - k4 W/ n, ]% w' J
  103.         add        eax, ebx- f: {2 c2 Z9 B
  104.         mov        dword ptr GDT_Addr[2], eax
    * o7 d0 K" H8 E& b4 O
  105.         lgdt       fword ptr GDT_Addr1 Q  p6 Q# s1 C3 d
  106.         /********************
    ! z' n$ H8 S0 x# X" p
  107.         *   选择子偏移      *
    - K5 I& [3 P) @! x' G( H! t# ?
  108.         ********************/8 B6 _5 a9 j/ ?
  109.         mov        bx, 8& D! y7 {9 @  h, H* w; \2 {2 D
  110.         mov        eax, cr0' z+ n9 J2 o7 s
  111.         or         al, 1& \  s$ }" V# l2 [5 d' ^
  112.         /**********************
    / w& p8 d* b' S8 j0 _0 m5 D, V
  113.         *     进入保护模式    *
    ( L7 L5 O% d8 r' K) k3 U
  114.         **********************/* F# M6 T) a' l( l0 @, D+ T2 K
  115.         mov        cr0, eax' k8 i# [* L+ x; q* x8 g6 e6 m' S
  116.         jmp        pMod+ B/ s* Q' A3 `. a
  117.     }
    3 \$ k8 F2 v, F# D& E: C( F

  118. ; o( @6 H) X* p; I2 N7 J. [
  119.     pMod: asm{" L! T. B2 m- w7 k
  120.            /************************************************************
    / t( X2 w7 V' M( X
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *
    5 H( v+ d& g# i/ p' M: w
  122.            ************************************************************/( r1 W$ g3 h6 G- a6 I1 M3 T$ k8 Z2 b
  123.         mov        fs, bx
    - d  a5 c2 N& ]+ g
  124.         mov        gs, bx
    $ V& u7 T& c, S+ ]$ _! A
  125.         and        al, 0x0FE; E; j5 [; q) w/ P. o3 Q0 Y
  126.         /******************
    ! [1 b+ ^; r9 s9 ]
  127.         * 进入实模式      *" @/ j$ N: v0 B; M9 _9 p
  128.         ******************/
    2 m9 ~; B4 y5 Q, v
  129.         mov        cr0, eax; n- w1 I# z* @- I9 w# |
  130.         jmp        rMod3 p7 ~  `: s' ?  Y/ N3 p, g* F4 J9 m5 C
  131.        }
    : l" \/ A# `5 ?( i
  132. 1 ?% d, a" C) T6 ]9 Q# ~2 z
  133.     rMod: asm{
    # ?3 s' N0 b; q* u- k0 Z  u
  134.         /* ******************************************************************
    : q9 s. [* D1 \, d  _( o/ Z
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *( |7 `$ G3 p, W' Q6 J
  136.         ********************************************************************/# B3 w  c7 N6 v- z' m3 r6 J2 v
  137.         mov        ax, 0; S! \; x5 e3 Z* Z) L% |
  138.         mov        fs, ax& f* D3 H! F" j, ~4 h: X% ?& D' L# D
  139.         mov        gs, ax! y7 ^, y$ E5 q% }' v
  140.         sti: g  G  }% \6 r* [6 o
  141.     }
    # ^; @* W( W8 l' ~2 x
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    ) C: q2 t0 m. i
  2. ;*    File: DOS4G.asm                                                */ T" P* c! {! A
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    2 p/ o( O+ ^5 T. f: y0 w
  4. ;*                                                                   *5 q2 d9 T5 W8 b5 `8 u' S& r# v
  5. ;*    ========================Title===============================   */ a; O. e! S* T" A: q
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *5 Y0 X6 o$ b& ^2 Z2 l/ S1 i
  7. ;*                                                                   *
    % f* ^) i% j3 S% ~( P" |" T9 G
  8. ;*   ===========================History==========================    *
    ' _) W1 G& N/ M$ I
  9. ;*    author: bini                                                   *
    : V/ e1 F) h- G5 `0 @& U# r
  10. ;*      date: 2008-10-08  Frist version.                             *
    : e8 s) e( P& o) U( l" R5 U& m
  11. ;********************************************************************/ - j. b; w: b. @7 j6 E' i
  12. .model small
    ( m1 t5 d4 ]8 R2 {0 g- L* V
  13. .586p
      m8 S$ p% a: W/ L  I- n* }

  14. 1 c* O" ^* Q; W' P* I+ |5 @6 l
  15. DSEG  SEGMENT   USE16                 ;16位数据段
    / w) u% m9 ^. Z

  16. ' l# n+ |9 S1 L. |
  17. DESC            STRUC
    % R/ J9 P7 [6 P9 B3 k
  18.         LimitL          DW      0 ;段界限(BIT0-15)/ i" q( U) {7 r8 r7 H
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    ) E: o0 z0 v: O9 _( P# O) g7 i" J
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    ! T# F1 n4 t: v$ d2 @. J
  21.         Attributes      DB      0 ;段属性! V- I3 r3 Z4 C+ T
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)* g, G$ A) \8 h; |0 Q1 b# D
  23.         BaseH           DB      0 ;段基地址(BIT24-31)% J8 X  F) {% K0 C5 p6 i, ^
  24. DESC            ENDS1 Y& S$ R5 y0 ^# [% A1 g

  25. 0 ]7 y- z; `6 r# X% c
  26. PDesc           STRUC, ?, U; Q4 ^3 S" ?4 |# m, K+ z& |
  27.         Limit           DW      0 ;16位界限( h, Q- X0 j, p* X( S! r' F8 z  B
  28.         Base            DD      0 ;32位基地址
    - x+ A1 O- }  ?0 y
  29. PDesc           ENDS% S2 J- i* a- ~- S9 |/ v4 l# ~; L

  30. 7 _+ d6 q) e- v
  31. GDT_def         Label   Fword
    + T! ]& a/ }$ F! q) p
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>: w. c! D- X2 T) V0 s1 @; X/ u
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    3 h7 {0 l" E6 U: ]' X, O  _  x
  34. 9 d! _, a7 s4 O* |) P
  35. GDT_Addr        PDesc   <$-GDT_def-1, >0 V. n* B- H4 {3 E! u$ ^" j# t
  36. DSEG            ENDS                          ;数据段定义结束
    , r! n. s1 p' @! S% l& N

  37.   S$ I7 g" b, {
  38. CSEG            SEGMENT USE16                 ;16位代码段( i2 a8 T' d: y5 s5 P# K
  39.                 ASSUME  CS:CSEG,DS:DSEG8 L* K3 ~7 w, B1 Y6 z6 a
  40. .Startup0 G/ _: C0 {2 Q! T* w
  41.         call      Set4gb
    - U* X7 [9 n2 L1 c  N
  42. ;
    - y) @' F6 q1 I2 _% o( C" L
  43. ;       fs, gs即能访问4GB空间
    # R8 F2 F7 f- h/ U  C5 ?  v2 w
  44. ;       write your code in here.! T# e* H% V/ ^" ^$ M! G
  45. ;
    2 _: ]9 m3 ?' F. h' e
  46.         .exit
    4 G+ v, h- |1 I# Z0 H: P
  47.         ) R: F) y% T. i/ b
  48. Set4gb          PROC      NEAR
    & A; W4 E9 n  A$ U& M
  49.         in        al, 92h
    ; q. r  @7 c- E8 r1 @# P, f. H
  50.         or        al, 0027 V' g) T* i( Z) m3 e
  51.         out       092h, al5 i* T0 N6 h! R0 e
  52.         out       0edh, al
    * r4 P( u6 A4 f% s% G6 a' w. L

  53. 1 i8 e) _" a! c# m- s( g
  54.         cli
      m2 H/ G. }. k

  55. " d0 E) l' H7 Y+ s" J
  56. ;        mov      word ptr GDT_Addr, (2*8-1);
    ( ?* t8 R5 [6 m- P

  57. 3 W- Q0 d) I+ V
  58.         mov       eax, ds
    9 l- m2 u6 F0 e! M8 R& X. ]
  59.         shl       eax, 4
    ! W0 D0 Q* d' C
  60.         xor       ebx, ebx- H% f2 H$ x  j, X- {
  61.         mov       bx, offset GDT_def2 a7 M8 P/ M, i: x! `/ @
  62.         add       eax, ebx. M* E+ S  O* P5 Y9 ]
  63.         mov       dword ptr GDT_Addr.Base, eax8 f! G$ i& N/ F
  64.         lgdt      fword ptr GDT_Addr
    7 n7 W$ w! N3 T) `/ Y% ]- g$ B) v

  65. & q! y! \) X  y( g$ Q; g
  66.         mov       bx, 8+ {) |6 b) W2 A7 s+ q  i
  67.         mov       eax, cr0  i" g2 D1 i# C1 ?
  68.         or        al, 17 M! A1 p0 K) g, v& D
  69.         mov       cr0, eax
    ) L/ o; |2 ?8 p6 y6 Q* O
  70.   ^& {5 o0 j9 B2 B2 U
  71.         jmp       pMod
    7 P+ V) `) \! K2 Y. w
  72.     pMod:
    " Q0 @' q! ?9 n! ~

  73. " g8 L* J6 q  P. Q+ s3 H0 `+ U8 R* [
  74.         mov       fs, bx
    - k& H- Q+ n4 U5 l6 e6 g3 K, K
  75.         mov       gs, bx1 X) z; M' o' s8 ?: u
  76.         and       al, 0FEh
    8 D7 g3 J3 k. ~  a$ v$ q$ B3 V
  77.         mov       cr0, eax
    * R6 _+ s0 p7 I
  78.         
    ) N4 Y" I9 H7 J& Q) a
  79.         jmp       rMod# K0 p- i5 M1 p' W
  80.     rMod:+ B6 ]$ j/ I0 }' M- M# p+ p
  81. ( x, x4 q( }8 i
  82.         mov       ax, 0$ E. W" N, ?* b  d+ u6 m3 v) [5 T: g% u
  83.         mov       fs, ax
    # B+ N- ~' o. I/ d) {
  84.         mov       gs, ax
    * |% Z3 K0 N! e& Y! y
  85.         
    3 j( D3 z; S8 J4 ~* t1 }. j& l
  86.         ; 在2M的位置测试写一下数据# Q" L+ |9 k$ L' R' d& [; m
  87.         mov       esi, 200000h
    ) v& E; i% W9 ], K6 ?3 {& |
  88.         mov       dword ptr fs:[esi], 055aa55aah) S+ Z! n* w. G: b$ O/ T$ o7 `
  89.         ; 用RU去看看200000h的位置是否是此数据....' r$ H$ S3 @8 \
  90. 1 D( Q- A9 O1 x* |
  91.         sti
    1 e6 Q" E' e( z  t, E4 }
  92.         ret
    9 ?0 H; o: s9 [
  93. Set4gb  ENDP5 y) u# O  F" X7 u
  94.       
    3 c8 z3 h2 ^2 q/ V* H, N
  95. CSEG           ENDS                              ;代码段定义结束
    % B+ V1 B+ M( u# p
  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
9 Z/ V2 E" n: s) [4 G8 _6 b- u6 H" o3 }% v
option->compiler->code generation中的option选中, [X] compile via assembler
1 U# {, t% i/ O8 M0 P( N1 s0 z$ l3 u  S- h) M
[ 本帖最后由 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;
. Z4 O: W  _3 tData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
8 h0 _  b! K0 N, I, N. T: a) g4 p" w( T
GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;+ v1 t& y: L$ W1 n# W  X/ x
替换如下,
2 M/ C# q! z" T! W* O& q& P, MNull_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
9 v* \0 c  h" k! IData_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>3 z2 z4 m$ {- M2 E

. V' m% r8 A+ M% {GDT_Addr        PDesc   <$-GDT_def-1, >7 C8 }& }6 U  d
这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 X+ b! z; e7 U* d" G
option->compiler->advanced code generation中的instruction set选 80386
3 K) d8 l* Y( ^0 t# d. s0 S0 v- x4 k' c. X
option->compiler->code generation中的option选中, [X] compile via assembler
% _( m* P8 s: ?
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
) N! H: _9 N1 ~( f  ~$ \" n9 g# U* ?1 z, S
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

8 D+ S9 K; B& U8 [
4 U) M4 t: f( V5 H* {' Y, W8 a我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 15:32 , Processed in 0.033623 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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