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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。0 z) Y/ \4 Y0 k' W8 k
1 Z/ u& y6 @; _
这是C的
  1. /********************************************************************8 ~4 G) H7 g$ s7 w
  2. *    File: DOS4G.H                                                  *8 {. O+ Z3 N  U. t/ u
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
      e" B  b. O9 a! P3 Q
  4. *                                                                   *  A4 p, Q# M  ~/ f, o: L
  5. *    ========================Title===============================   *
    $ O* D7 t2 ]$ {6 @! U: R! s
  6. *        这个函数是让系统进入DOS 4G模式                             *
    $ T  }( T) \9 R7 z( @* E+ x  t
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *. R& I- F4 ?; b) r: r3 k: n
  8. *                                                                   *
    6 l3 E. y$ `; X: f9 g2 Q+ ^1 S, c3 l
  9. *       使用: openA20(); set4gb();                                  *
    * q" z$ m; _9 O, ~% O: R- Q
  10. *                                                                   *
    4 }, g4 p: z$ N
  11. *   ===========================History==========================    *
    , D4 W4 u0 w5 F. }/ U' T
  12. *    author: bini                                                   *
    * Q# j, ~* a3 N7 |$ W
  13. *      date: 2004-11-30  Frist version.                             *  ^( t7 D% B5 c( r6 x
  14. ********************************************************************/0 ]3 k; m' r) }. |/ d/ @# V. Y* ^
  15. 7 S  W2 I: o. g! v
  16. #include <conio.h>8 @, }0 L3 s- ]( `# p, K  o
  17. #pragma inline
    1 j- x: c9 @, t- ]/ r( p/ U  p

  18. 1 C& Y# Y- J, f4 {
  19. /***********************************************
    % T: L2 x* T* s$ q
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    , \+ S7 s0 t$ R, F
  21. *    第二个为一个数据段,没有代码段。           *; D+ l3 l' g1 K' F( Q" r
  22. ***********************************************/9 ?7 b( R8 p7 D7 `  W/ ~" g# p
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    : G& T8 a. G) k& z; u
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, & @  e. H6 E% z3 ~3 c! N
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
    7 E3 o3 K; J7 R% m& _( z
  26.                                       */9 [+ O2 ^5 |/ z% t4 T- v( o  ]
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    . J- I9 e. h7 L% c3 c4 H
  28.                                          最高字节为 base( bit 24~31 )" p) @* P+ {2 A+ ?$ w0 X5 `
  29.                                          
    5 t" D3 M9 {: X. f. t! \
  30.                                          属性Attrib = 0x8F92, ~+ V% f% d) R& U% v9 J, `* x
  31.                                          ; p% d. c: }9 H, F
  32.                                              属性位Hibyte低四位为 $ _' J1 F: V" |; a+ I/ b0 M
  33.                                                  Limit( 16~19 )=F% ?; i' S9 l4 Z' l( Z8 `" S( m0 ^
  34.                                              属性位Hibyte bit7 为粒度! B' h* A( w8 i: O
  35.                                                  (值1=4KB粒度): ?( U# U  r1 x& M6 n
  36.                                                  8F & 0x80 = 1  Y& q$ g% C% t9 q
  37.                                                  - j( r. @' B$ x2 C6 g9 R9 z- Q8 U
  38.                                              属性位Lowbyte低四位为段类型,值=2( K! F2 N, i2 R! i; s8 u2 W( x8 d
  39.                                                  表示为可读/写段6 k7 F! U" c0 k/ z% M1 i0 Y
  40.                                              属性位Hibyte高四位=9,bit3=1表示:# {% A5 E4 u9 d7 i' u/ w- \
  41.                                                  描述符对地址转换是有效的。0 v/ q* @) w5 U
  42.                                                  bit0=1表示为:4 T: {! m4 m3 i' N
  43.                                                  系统段描述符。而不是门描述符。
    ) a: W# s  R7 @
  44.                                              
    0 ~" X" b0 B* Z$ D# d5 S) X6 s& y
  45.                                          */3 _. T/ t5 X- u, n0 g; S6 V' y% J
  46. ) C9 f" E+ s" G$ O- G+ ~4 V' u( O
  47. /****************************************
    5 C  t8 ~1 T- |6 ^
  48. *    GDTR寄存器, 48bit=6bytes            *4 q* D( t4 M- K* ?- s5 S
  49. *    +-------------------------------+   *
    9 M' l2 B$ w/ T. N; B
  50. *    |   32bit基地址       |16bit界限|   *
    + V4 R6 k$ k' y) N$ c
  51. *    +-------------------------------+   *
    + r5 u/ v) b! o; @/ `( w
  52. ****************************************/
    3 w3 @  z- N- A
  53. unsigned char GDT_Addr[6]={0};- b) M  \$ W  v9 n# B  j* }, _
  54. ' M+ [9 p: r) F- {
  55. /****************, m; r% J6 w% B6 ^1 v
  56. *    打开A20门    *
    9 W  {0 j& f1 G4 i, B1 r7 ^! I
  57. ****************/0 q8 A; F7 H# N
  58. void openA20(void)$ p/ m8 L+ ?4 B# m5 j
  59. {- B2 L) W, T' |+ }" ?/ \9 p
  60.     asm{
    8 E8 S& d& b: e' @( v
  61.         pusha
      M' M- q' L3 \7 i
  62.         in         al, 92H! L1 M: I7 v# _" H( w0 H9 y
  63.         or         al, 0x02
    $ |. g5 g4 n! T, j, @& L
  64.         out        0x92, al
    / L% D5 Z7 l7 g; }+ k
  65.         out        0xed, al9 N) \/ \: O! h4 e* Q6 x6 K
  66.         popa- T7 |% b( T: m- R6 s+ [6 l5 f. k
  67.     }
    # s% @2 l6 j+ I4 K; D( f9 U- ?/ V
  68. }$ r. p$ y& [1 s* F
  69. : ^, `( ^/ E6 ~4 r! a( ]
  70. /***********************************************4 K' O* f2 `: a( {  b9 Y
  71. *    函数功能:进入DOS4G                       *9 |) W7 A+ o  U! J, B
  72. *    ====================                      *
    * s1 O4 f8 u! }6 O( S7 u8 }$ ~
  73. *                                              *
    " p8 I3 f* R: y3 f2 O$ w
  74. *    GDT描述符界限计算方式:描述符个数*8-1     */ d3 n2 X/ q5 x, T+ R/ [& Z/ u
  75. *   如:                                       *# m! x# Y4 ~1 ^8 |, o' A0 a
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *
    8 V. r5 N$ `/ s6 _8 r4 q
  77. *       表示为 2个GTD                          *
    ( O  p9 [- p: W
  78. *                                              *
    % h& H1 }# l2 f' ^& o
  79. *    选择子为所在描述符内的字节偏移。          *
    * g0 F: S* _  ?$ w% v$ i
  80. *                                              *
    . O1 G! w0 \. x. V7 q
  81. ***********************************************/
    + N3 w5 ^1 q+ `) a: K) }
  82. void set4gb(void)
    - G3 @# K8 @4 x5 R. P
  83. {: r3 y; ~/ ^2 s% k! `; m) E
  84.     asm{
    7 G) T; S$ ]6 ]
  85.         cli1 l/ F& T) E6 N' b
  86.         /****************************************  K+ Z5 h5 W/ O* e* J
  87.         *    GDTR寄存器                          *6 a7 Y# J, K# f1 e  k
  88.         *    +-------------------------------+   *$ T: `" O2 z+ Z, ?9 l
  89.         *    |   32bit基地址       |16bit界限|   *
    - P6 G' `& ^5 r2 b  {! W
  90.         *    +-------------------------------+   *
    " e5 K! o9 B% j! o& E/ Y( |
  91.         *****************************************/! |) P0 F" Z) B! Z2 D2 h1 K
  92.         /*********************. \2 n- c/ P- X, u, j$ Q* S
  93.         *        得出段界限       *
    2 ~4 x& C' H# n
  94.         *********************/  g3 e/ [* E. X6 O4 p* Z# ?
  95.         mov        word ptr GDT_Addr[0], (2*8-1);& \9 [$ J8 P) z+ [
  96.         /********************************************
    8 |9 c! X4 d. @0 A8 V
  97.         *    计算GDT表的32位基地址,存入GDTR        *
    6 X' f# C% m- O# Q  c  t# D' [
  98.         ********************************************/# Q6 }  r; R  g; u
  99.         mov        eax, ds
    4 B" I, k# R8 N+ N. {7 H
  100.         shl        eax, 4
    4 L1 n. A+ X4 ^! y% x
  101.         xor        ebx, ebx
    9 Q0 f. k& L7 a
  102.         mov        bx, offset GDT_def
    ! a5 @5 a+ D, M
  103.         add        eax, ebx% `. @/ R1 v3 A$ }2 G9 K
  104.         mov        dword ptr GDT_Addr[2], eax
    3 F+ w0 c, y& j2 U
  105.         lgdt       fword ptr GDT_Addr! N3 b. J$ d3 e- Z7 X
  106.         /********************# z3 |- l3 L) [4 |
  107.         *   选择子偏移      *; ~* `: D+ k5 y/ r' n
  108.         ********************/
    9 j+ q- f+ \' ~8 m: ^/ Y- S: x1 `
  109.         mov        bx, 8
    - E$ ]8 M3 e8 Q
  110.         mov        eax, cr0
    0 R+ u9 b  F0 k( Z3 w( z# J/ C
  111.         or         al, 1
    2 \7 F( f' B( F% P  T+ k
  112.         /**********************
    - `2 T+ {+ g, \  M7 O  |
  113.         *     进入保护模式    *
    ) h+ ]3 b" U( m
  114.         **********************/) U; \: S$ r$ V5 V4 q
  115.         mov        cr0, eax% h& {. D8 L4 [% Z4 y/ e
  116.         jmp        pMod; A( ?! r7 x* i
  117.     }
    ) h. E- p8 ~; Q3 a8 l

  118. * Z3 K% u/ s& q. R, ?7 ~1 Y
  119.     pMod: asm{
    . U0 I9 W: A& m' [+ P
  120.            /************************************************************# J4 A/ U4 |; u0 n# |/ `
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *5 R: {! [8 ]# `. p; a
  122.            ************************************************************/
    7 a$ i2 |1 H' G+ q# I& |
  123.         mov        fs, bx
    . o" F( R/ d+ q9 v- f
  124.         mov        gs, bx
    4 R" V. G9 p# U" G
  125.         and        al, 0x0FE
    ! p4 X! K& p$ |
  126.         /******************- c* D1 x- b, J7 O8 s+ L' K
  127.         * 进入实模式      *
    1 m1 B6 |( h2 {7 j& h- D
  128.         ******************/
    # t3 K3 w, a2 u- r3 f6 s
  129.         mov        cr0, eax' d* u) @- e) J- h$ @
  130.         jmp        rMod
    * A* w: t" y' [6 ?
  131.        }& y* V) o8 @$ |, @; [
  132. 8 m3 v' X3 ^! ]3 w
  133.     rMod: asm{3 \- d6 r* ~; q- G- X/ E6 P
  134.         /* ******************************************************************& i: Y" ~& J' o# W  s# C
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    4 v$ }5 `& G$ ?: S
  136.         ********************************************************************/
    7 h7 P/ Y! R3 r: j/ o5 O
  137.         mov        ax, 0
    % k: d; S* H! K4 v. X+ m) y2 e
  138.         mov        fs, ax, H$ I' M9 ]# V7 ?
  139.         mov        gs, ax8 O2 T7 K: ~0 @5 v5 M( m0 h
  140.         sti
    9 z( B, R# y9 G. k1 A% a
  141.     }6 y" ?0 j+ ~" D" B7 R; g
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    ' L6 u( Y% d: E& O! v( m6 {& A4 Q
  2. ;*    File: DOS4G.asm                                                *
    ' V; N- h* D2 X* {0 n
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    ; `5 d% f* w* a/ d; @7 F
  4. ;*                                                                   *
    2 ^! p6 ]$ j  u2 V7 _
  5. ;*    ========================Title===============================   *5 n4 y2 c6 L! w3 A
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *& M6 s! Q$ N4 h- `% ]* S1 F
  7. ;*                                                                   *& }" h  m6 V# }/ u/ A& \
  8. ;*   ===========================History==========================    *
    : K* B7 f& `8 U- D- l
  9. ;*    author: bini                                                   */ Z2 F' P- r, l& ?1 i$ n% d6 Q
  10. ;*      date: 2008-10-08  Frist version.                             *
    1 }, ^0 a% t) A' s9 v# U6 P2 P0 Q
  11. ;********************************************************************/
    " B8 r- m$ H) R- N  l4 j2 _
  12. .model small
    ( f6 w& j' q6 r+ N1 Q4 g3 `9 g
  13. .586p* _. |9 t: i/ E. E1 q
  14. - ~: B2 a/ C: F. s1 O& p
  15. DSEG  SEGMENT   USE16                 ;16位数据段" D$ e' y5 a( n1 i

  16. % X+ S# s: g, c
  17. DESC            STRUC
    # p4 e) I5 R) F; z8 v5 Q6 q4 R
  18.         LimitL          DW      0 ;段界限(BIT0-15)
    ! h) o1 E5 r& Z* q* F4 [+ n
  19.         BaseL           DW      0 ;段基地址(BIT0-15)% C- N2 q& J4 ^  q* \6 p
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    - N  m! p& w8 y9 ^8 M
  21.         Attributes      DB      0 ;段属性2 u& v+ {1 g. o" B% i/ @0 a" U
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)
      u) H+ b9 e8 L
  23.         BaseH           DB      0 ;段基地址(BIT24-31)
    + p3 z! L" Q- I) X: L
  24. DESC            ENDS; N, x$ c" O( y6 [+ h

  25. 3 e. n- J2 j% @8 k# n6 N
  26. PDesc           STRUC2 Y3 \  P, s" m! a8 X3 n
  27.         Limit           DW      0 ;16位界限% N- o& Q, [( U+ y6 O' R
  28.         Base            DD      0 ;32位基地址
    : }$ `2 v9 q/ e) }
  29. PDesc           ENDS
    2 V& X6 z0 V, V0 ?* H" h# T

  30. % n' Z! _% c5 Q* r
  31. GDT_def         Label   Fword
    * {6 }1 m4 R9 h4 ]2 u1 o6 p
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>3 I, z. [1 R( t% J
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>/ w' @( t$ F0 f7 m! R( t
  34. 9 K0 D% H, |6 u' D9 y- e
  35. GDT_Addr        PDesc   <$-GDT_def-1, >
    / L& `# N# A! J
  36. DSEG            ENDS                          ;数据段定义结束
    1 R% N4 `6 i( o; p$ z
  37. 3 V7 A/ i3 X* g$ B6 Z
  38. CSEG            SEGMENT USE16                 ;16位代码段+ @5 D! A% u: y6 S1 y: D
  39.                 ASSUME  CS:CSEG,DS:DSEG9 M* ?& K: L  J; \. z: _, e! \5 v
  40. .Startup
    , h* p7 U3 a4 L* m
  41.         call      Set4gb5 q3 R  ^0 a) C; ^: K, q
  42. ;3 h7 ^% S+ {0 |& I4 f
  43. ;       fs, gs即能访问4GB空间2 y/ }2 I4 G. ?
  44. ;       write your code in here." X1 m  V) V$ C3 p  E( w- y
  45. ;2 \$ Q  s) u) F8 D: C) T" N  o) h+ \
  46.         .exit
    ! P4 V% G/ |: f) S3 b. r7 f% i
  47.         6 C8 F5 }; D# p7 t9 a
  48. Set4gb          PROC      NEAR
    8 O6 n2 |( C/ {6 Z# y9 ?4 c$ O
  49.         in        al, 92h
    , w9 ^$ C6 s: ?5 a5 V
  50.         or        al, 002
    9 U/ G# C* o4 e* h' N
  51.         out       092h, al
    ' I& J( G/ }, ]1 j9 D5 P
  52.         out       0edh, al
    / B# F0 p: O4 r1 Q) w0 \

  53. 3 Z4 V/ {# O0 i! C8 F& x
  54.         cli
    ) n8 s$ C1 x- e$ N, Y

  55. 1 F: @! q/ C* _/ U
  56. ;        mov      word ptr GDT_Addr, (2*8-1);
    ; O* B+ A! g6 T( p& K
  57. 8 E( J3 j. e* l  f- T
  58.         mov       eax, ds9 s3 T( _9 N( @, N+ `$ L
  59.         shl       eax, 4
    % I* U6 c( A; R) `' {2 u# A( \0 x
  60.         xor       ebx, ebx* w5 \1 n8 d  e! J
  61.         mov       bx, offset GDT_def: n5 O1 e; r) g5 O$ S& T# I
  62.         add       eax, ebx6 j  H7 H- T  G  D' }. v) ~
  63.         mov       dword ptr GDT_Addr.Base, eax
    - h. N2 I& C2 [+ Q: V+ H8 A  p
  64.         lgdt      fword ptr GDT_Addr
    - c% J4 }! R4 W7 O- B
  65. ( t/ C; g* j0 R( N# B
  66.         mov       bx, 8+ `- z8 [/ Z: U: b4 Q
  67.         mov       eax, cr0
    6 X/ Q7 Y+ j3 K- i+ ~9 `9 w* D. E
  68.         or        al, 1- k. i. e3 d  q1 W$ E. {; [5 Q
  69.         mov       cr0, eax
    ! E7 N6 @( T' v
  70. 8 [+ G$ X2 l7 c$ P7 K
  71.         jmp       pMod* ^9 n. ]9 K4 T/ }
  72.     pMod:
      R4 [5 D# d! `: ]

  73. " S+ O2 Z% [$ b0 h* c) ^: T
  74.         mov       fs, bx, P4 m2 w, D2 o5 F
  75.         mov       gs, bx$ N; N' o& R* s
  76.         and       al, 0FEh
    * `! g/ y5 G8 I
  77.         mov       cr0, eax
    0 s  i: k3 P) q4 R  d( T# d
  78.         
    8 J- A9 }! W9 ^8 I" g1 `0 U2 }
  79.         jmp       rMod0 U$ z; [8 ?0 |. R" T4 ]5 G
  80.     rMod:$ p3 j9 H! s# e# [8 n
  81. / ^, U& t& I# {" q" T0 f# p
  82.         mov       ax, 0
    $ X9 ?, r) ^9 n2 v
  83.         mov       fs, ax
    1 r* x1 }$ k1 S0 P6 A$ O  t. [
  84.         mov       gs, ax
    1 E- Z$ t& b5 W7 r% V0 H/ {" N' B
  85.         
    6 C) T8 R' A6 a" x- T" j+ _
  86.         ; 在2M的位置测试写一下数据8 l2 A# s& {$ W/ }
  87.         mov       esi, 200000h
    6 A' D8 j9 H! X8 i
  88.         mov       dword ptr fs:[esi], 055aa55aah! T9 _4 b- M" g) F: o, A
  89.         ; 用RU去看看200000h的位置是否是此数据....+ i$ {* h7 J* s  F

  90. , J' ^! H8 Q( T+ l$ |' @
  91.         sti3 \8 `& B6 N, ~( l; h
  92.         ret
    ! G$ D1 J1 o2 a3 |& F
  93. Set4gb  ENDP/ S: B1 z( P1 N$ S) r, z& V" m
  94.       
    ! N! Q, o5 b( Y% P: {' l6 u
  95. CSEG           ENDS                              ;代码段定义结束7 _1 W8 }- m5 u2 }
  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 d$ [, k2 {5 B: _! k4 W

. ]/ b! m7 ~" s, q; q/ j3 Moption->compiler->code generation中的option选中, [X] compile via assembler
/ b; U8 [- s3 M) B2 e! q6 o
- ]1 Y7 }) l) p+ v% D[ 本帖最后由 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;
) @# j5 l$ [" v, PData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
: r6 h' ^8 {' B" J" a) Q5 s
, P  S- Y% s" i% y- C; PGDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
& l- V2 L3 W- S 替换如下,5 u; e8 I' U. x8 |
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>! l0 Z+ m0 V# E* m
Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>" R* s( H( K6 l4 D+ n
' y; Y3 t4 a+ k4 V/ d  h
GDT_Addr        PDesc   <$-GDT_def-1, >
5 s( E+ u1 C& T8 q# {' b& \0 W这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表 1 ?( C* i. y: s! E
option->compiler->advanced code generation中的instruction set选 80386
+ K3 B  L5 |$ Q( D( J: E  l- d/ k  t. ?5 G2 u9 ^
option->compiler->code generation中的option选中, [X] compile via assembler
, L1 T5 q; ?! r5 c9 p1 @# P
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
, P( u' `/ X% O: y) J; y
* C! A+ ]+ B- S7 H   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

2 Y: ~3 O$ h( Q% u2 B
, s& _! {; E# r" L! ?! T! Q4 W% Z, O/ y我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

发表于 2011-2-21 21:04:39 | 显示全部楼层
option->compiler->Transfer 设置TASM的路径,就不会提示找不到TASM;
- i# M# _, N9 H, K; l8 k/ Y1 Q6 i还要把TASMMSG.exe拷贝到源代码(工程目录),就可以编译完成了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-18 08:01 , Processed in 0.081124 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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