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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。% P+ f$ c% a5 y

( X# s' T; z2 w+ Q. q! B; Z: p% k+ `5 @这是C的
  1. /********************************************************************
    - {( w* p/ u* K0 v* D! a% Y
  2. *    File: DOS4G.H                                                  *
    1 A8 Y4 U) V$ U: R, p/ q
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *( r$ U/ h4 n+ ~* b. A6 m
  4. *                                                                   *3 P1 T+ F( g/ T3 D! V
  5. *    ========================Title===============================   *
    . R% g: x7 k$ q: Y+ H
  6. *        这个函数是让系统进入DOS 4G模式                             *# R3 `# s6 r( ?. l
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *
    4 i1 {& O  b6 Q* X% b
  8. *                                                                   *) d' V2 s; a+ T6 v4 M3 t* X
  9. *       使用: openA20(); set4gb();                                  *7 I! n1 [, X( D* h8 `: M9 X& {; ]4 {
  10. *                                                                   *
    - G2 m7 `9 o' x% p( j3 z
  11. *   ===========================History==========================    *
    + Y, }8 `& R; |, u5 N
  12. *    author: bini                                                   *
    1 v+ r( L: u8 t7 @3 {; B
  13. *      date: 2004-11-30  Frist version.                             *
    + m; h! Q  b& ~- e% {, n0 ]
  14. ********************************************************************/' @0 K2 b. I; j$ A0 E
  15. 6 I  u/ ~& A, m( h" [
  16. #include <conio.h>
    " d& v3 r2 R! e/ s
  17. #pragma inline
    / N  P# m% [- q* M

  18. # S9 R( A; Z; m$ o) q8 U
  19. /***********************************************
    ( z! O4 k7 }  k, e/ t
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *% z$ y1 L* w( f
  21. *    第二个为一个数据段,没有代码段。           *
    / b& O6 W9 a6 S, C0 l) M
  22. ***********************************************/" S/ q$ Y, R3 X( C% Z
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/  x# P5 B& u" w0 t
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0,
    ! m5 b9 m) j- }+ i) K" K# F* n$ t
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF , w6 F* |5 p) I5 ^6 l
  26.                                       */, J7 G( K# G& f2 U2 T- m
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    , w& k* K# r) {. H7 N
  28.                                          最高字节为 base( bit 24~31 )  ?: T' B. B  G
  29.                                          
    - @9 m1 i1 @% K6 A5 D' ?# [2 t
  30.                                          属性Attrib = 0x8F92
    5 f* d# ?6 k  X+ g7 t
  31.                                          
    9 v* T. j/ e/ F- _/ k
  32.                                              属性位Hibyte低四位为
    * T7 Z8 _7 N' R+ P# i! h
  33.                                                  Limit( 16~19 )=F# C; Q" b# ^; L0 ^1 |! F" `
  34.                                              属性位Hibyte bit7 为粒度7 I) d1 S$ }6 ^( J7 H" A; e* J
  35.                                                  (值1=4KB粒度)
    # F' Q' M2 T. b8 I+ z
  36.                                                  8F & 0x80 = 1& G. S" T& O" a5 f" `
  37.                                                 
    3 J6 N% W9 x* t, z: A
  38.                                              属性位Lowbyte低四位为段类型,值=2
    / U4 ]" |  J9 X: F. }
  39.                                                  表示为可读/写段
    ! u$ _' r; f" ?9 _7 M
  40.                                              属性位Hibyte高四位=9,bit3=1表示:6 k  m) F7 N7 U
  41.                                                  描述符对地址转换是有效的。3 Y6 z; G7 ]$ q# M3 x8 w
  42.                                                  bit0=1表示为:* K) l% Z+ [6 K; U+ y8 E
  43.                                                  系统段描述符。而不是门描述符。
    $ p7 T1 M/ j/ i4 w: n  W/ c
  44.                                              2 H# i- z3 Y! i# r' h
  45.                                          */
    : W  ~3 ]6 N9 l6 }+ e5 Q
  46. ' ]& ?8 N% v9 P8 C+ y" R5 f
  47. /****************************************
    0 U* w, [! r1 P* e
  48. *    GDTR寄存器, 48bit=6bytes            *
    8 I: u& ?( L2 L! I7 c
  49. *    +-------------------------------+   *
    1 z0 x  x! m0 I1 `  B
  50. *    |   32bit基地址       |16bit界限|   *
    2 U/ v( M/ J, q3 `( ]
  51. *    +-------------------------------+   *4 ?7 ^# [2 w. u* r( o! @8 C
  52. ****************************************/
    4 K( T" E' Z/ Y, f; v. m; K) K
  53. unsigned char GDT_Addr[6]={0};9 Y! Z: e8 u1 A  b) i. R

  54. " j! D1 a6 b( `
  55. /****************( d! s0 M0 x" @9 E# e
  56. *    打开A20门    *
      C4 |1 q2 g% I. q' Z$ X" n( y
  57. ****************/
    " ^3 k, b# ~* z+ C4 K& s' O- M
  58. void openA20(void)% I. E) o% b- |8 @- ^5 {1 M
  59. {8 H  L4 E8 v% J# s3 r
  60.     asm{
    " w' z& L! {/ S) u) F# d( {$ v
  61.         pusha
    3 R* r" v- F/ y& i# H
  62.         in         al, 92H: O$ W( j8 f# [. l5 B* O- q! t
  63.         or         al, 0x02, p0 k% l. A4 G- G0 M: v, U* I
  64.         out        0x92, al1 F, f, o7 ]: X7 ~& h8 }' z
  65.         out        0xed, al8 L- g+ Z/ z0 b
  66.         popa
    8 y4 f( O* Z  H9 n1 l2 y: I4 {7 A
  67.     }
    1 B/ q; y, ~; I/ r- E
  68. }
    ' W: _1 ?/ p5 O+ M. f6 L5 c/ ^
  69. ( V! c; M* Q  R: n: ~; x
  70. /***********************************************! O9 T, O- ~$ I
  71. *    函数功能:进入DOS4G                       *
    " j' s+ o* R5 [$ D5 n; q* C! [
  72. *    ====================                      *3 @# B! d; s, Y/ t
  73. *                                              *  m  Q9 P( M' I
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *; e* K, Q. Z; j& t
  75. *   如:                                       *. f0 l7 q- \- q! F
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *" b. L, m9 c! f% q6 q2 h
  77. *       表示为 2个GTD                          *& _) O7 u1 ]- R4 o; a* I0 Y" t
  78. *                                              *
    ( z  J, ~  V9 g6 ]# c
  79. *    选择子为所在描述符内的字节偏移。          *
      x1 `" e& V9 ]  s
  80. *                                              *
    ' Y  T& g  Y6 ^4 ]0 G
  81. ***********************************************/" Q# B$ G: p0 m# q# |4 v- D
  82. void set4gb(void)
    0 e* \( h. C1 _9 n" P
  83. {
    . H; P4 C% j0 A, h9 z
  84.     asm{
    3 K! _+ W- ?& _# |# Y
  85.         cli
    0 s' l7 E7 l# A
  86.         /****************************************2 ]0 J+ w" n' c2 L* V4 d1 r
  87.         *    GDTR寄存器                          *4 D* E( t; @& l$ J/ _
  88.         *    +-------------------------------+   *
    2 K5 J" j. M, W" v) V8 G3 J, J5 E
  89.         *    |   32bit基地址       |16bit界限|   *
    9 H; h6 h3 O9 j, D/ G% L
  90.         *    +-------------------------------+   *" K: H* }4 f' Z! k! E4 u
  91.         *****************************************/+ o/ W3 ]' g0 E" \8 }  \+ I; h. t
  92.         /*********************
    0 e# X& F( ^6 A; \8 x* R7 ?
  93.         *        得出段界限       *
    8 x$ V6 P% `) @7 R* A
  94.         *********************/: I0 F9 t6 n- }; ^- \
  95.         mov        word ptr GDT_Addr[0], (2*8-1);5 d& c6 }/ M4 @+ @; |- G
  96.         /********************************************* z! a$ G3 q$ H4 c* D0 s, y3 i
  97.         *    计算GDT表的32位基地址,存入GDTR        *2 A$ m! {0 y( c& ^. t1 I. f  c
  98.         ********************************************/
    4 B. {  i; I1 |7 i) M1 k
  99.         mov        eax, ds
      |, V8 j* k' k( o" I& A. K3 l
  100.         shl        eax, 4, ?8 U6 J6 L* \$ Y  s! ^
  101.         xor        ebx, ebx
    + c. \9 X0 _, l! |: ~
  102.         mov        bx, offset GDT_def
    * P5 d4 ^  H! T) k. W
  103.         add        eax, ebx6 A5 w/ x: _2 @: d$ _: B+ b$ h0 v
  104.         mov        dword ptr GDT_Addr[2], eax
    % L% g- v+ [/ B" h# e
  105.         lgdt       fword ptr GDT_Addr, P9 ]% M. S( H
  106.         /********************2 w4 v( H4 k' m/ M  Q( a
  107.         *   选择子偏移      *
    ) G& R2 E7 u1 P
  108.         ********************/
    . M  o" d9 ^" V6 i
  109.         mov        bx, 8/ `( c# T+ \* Q
  110.         mov        eax, cr0  c9 u5 z+ w7 C& m
  111.         or         al, 16 u3 \) o4 l3 P( _9 k
  112.         /**********************
    ( N! P% y9 o! b2 F" \: F, j
  113.         *     进入保护模式    *3 t/ w' L& ]' M, J0 a# c3 l3 i1 P: z, A$ Q
  114.         **********************/
    / i" R( K, z+ e& Y$ E: O. M3 n
  115.         mov        cr0, eax7 S2 D6 [: E( O6 @! U4 S
  116.         jmp        pMod
    / z5 |5 M$ {* _0 G* k8 I
  117.     }
    # h* M8 _9 `& }8 f' u5 Y

  118. # a6 A& J0 i4 }2 J9 P
  119.     pMod: asm{" A) L( z! n0 b8 G6 M& ?
  120.            /************************************************************
    + M' r2 x; c3 A8 W' m9 M
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *- Y9 d3 U5 ~) N% a- H$ R- Y
  122.            ************************************************************/, l7 r% u/ k) s/ \1 k% a
  123.         mov        fs, bx; r2 L& w2 j. g- m9 W5 p! P* E
  124.         mov        gs, bx
    # ~5 X9 e4 D! N, L/ S
  125.         and        al, 0x0FE" [4 x- e# I' N3 }  s$ M
  126.         /******************
    / Q3 p) P* i% v  |( O2 W
  127.         * 进入实模式      *
    ( X' |) k' I9 `2 u
  128.         ******************/
    ! A  `* o- C$ p2 o" {3 n; E- e$ e4 u
  129.         mov        cr0, eax/ i* W' F6 W5 @+ n$ T
  130.         jmp        rMod
    ( k6 a. T5 H% O8 Q  o; D
  131.        }
    & s: X$ c" O% w* g
  132. * w$ M! v, t9 ?" o! H) p
  133.     rMod: asm{
    7 k. [1 g: x: _1 C+ L# `, k
  134.         /* ******************************************************************7 S# v6 h: k: \! E- j6 n
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    4 a5 z0 r/ P. l, n* n3 k8 l$ J" O9 n
  136.         ********************************************************************/
    ) h4 U) Q8 A# d; t1 N: d, Q& {  y
  137.         mov        ax, 0! R& |/ O' J" u8 h* ^* r
  138.         mov        fs, ax; z1 `- b/ y" {- n
  139.         mov        gs, ax
    2 D- y. B4 K1 x6 A
  140.         sti- v( D4 N+ R$ T7 p2 C+ t3 J
  141.     }
    + F; E! H' A+ A2 ?+ [3 X8 O
  142. }
复制代码
这是asm的
  1. ;/********************************************************************7 c2 J4 x* r1 I
  2. ;*    File: DOS4G.asm                                                *) B2 r, F5 L% Y8 q/ y6 N- u
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *+ a2 X) n. [% T: l  U! S
  4. ;*                                                                   *
    # I/ D6 `: y6 C0 E! J+ g
  5. ;*    ========================Title===============================   *4 F0 G$ }: f2 T# e' Y, ?; n+ q
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *
    ; S: y0 a/ E9 a7 V3 e+ E) q8 q" U5 q
  7. ;*                                                                   *
    8 H, C1 G" w( Q" v& s! a
  8. ;*   ===========================History==========================    *8 Y1 }) r$ \. Q. H. B7 g& \
  9. ;*    author: bini                                                   *
    7 _, }7 b' T( z+ g& I' l) Z8 `
  10. ;*      date: 2008-10-08  Frist version.                             *' G: V! [: z, N& U, ?9 |8 x
  11. ;********************************************************************/
    8 N& E+ M( Q' L+ U* F
  12. .model small7 W( v8 i# a& k
  13. .586p
    " W+ Z6 j+ o. c" _! T0 W

  14. 8 ^6 W- q+ _- R& s0 @
  15. DSEG  SEGMENT   USE16                 ;16位数据段8 W+ H8 b6 s- R$ U& o4 P8 d

  16. * ?$ }  M9 P# t# k
  17. DESC            STRUC
    . r" d2 r" ?" y5 a% O
  18.         LimitL          DW      0 ;段界限(BIT0-15)+ ]5 y, ^3 G& ^" H
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    . c3 J$ W5 z5 Y( h, D; e
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    # {+ Z3 y) i+ h% v7 z: J
  21.         Attributes      DB      0 ;段属性6 }" B" Z4 k+ W; N. w
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)3 Z3 N" W( U, F! a; r/ y& o9 x
  23.         BaseH           DB      0 ;段基地址(BIT24-31)
    6 h- T( D- n8 W& p
  24. DESC            ENDS! F8 h! Y' [7 B' Y
  25. 7 B# S3 g- M+ ~! X) [
  26. PDesc           STRUC( S  ]( N8 @. N# G" O$ U% `
  27.         Limit           DW      0 ;16位界限
    3 L+ l, `  e* i& t7 z" Y# b
  28.         Base            DD      0 ;32位基地址
    $ X. L" O) f' l" L& A) [: b
  29. PDesc           ENDS
    8 R- [# R7 n8 c2 ?$ |0 F
  30. $ g& F% b: O  t! O
  31. GDT_def         Label   Fword, k* P  w. y( N/ x0 W6 _8 a/ k" J
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    7 B/ t  B6 m2 `7 E3 x9 r2 s
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>2 J0 n- [$ ~. ]* G  C# `

  34.   K) G  c7 B! x, x
  35. GDT_Addr        PDesc   <$-GDT_def-1, >
    5 u0 V; r5 n) U! }9 J9 J
  36. DSEG            ENDS                          ;数据段定义结束! B; i. B: b8 N- ~) A

  37.   i$ u+ E2 T3 \
  38. CSEG            SEGMENT USE16                 ;16位代码段
      ~4 k% y, I( _7 @1 c6 U2 {
  39.                 ASSUME  CS:CSEG,DS:DSEG
    ( I, ~$ w1 q  x' J
  40. .Startup
    8 }1 |* [7 i# F: E2 A# b. g& Q7 r
  41.         call      Set4gb& T2 R9 i3 P6 T0 B2 P4 |) `
  42. ;8 F# |1 u6 r# m
  43. ;       fs, gs即能访问4GB空间
    ) H! R' V& A6 k4 T6 D
  44. ;       write your code in here.+ K2 ~/ p  R5 X5 r  R3 n
  45. ;0 n% ?/ y( F2 w2 z, L5 L
  46.         .exit! ?& K* D! k8 L8 o, {  o
  47.         ' d% Q* S7 ]3 H; A, x$ i& x
  48. Set4gb          PROC      NEAR
    " r4 n. `* K7 {" _- ^
  49.         in        al, 92h/ r7 Q) l( [: z# S, ~$ X/ B/ A5 a. @
  50.         or        al, 002
    % k) T4 u1 e2 `* k2 A6 ]
  51.         out       092h, al
    6 A6 W& o6 y! ?- N9 m+ y' c% h
  52.         out       0edh, al; v/ N! k0 b7 L; s: P
  53. . A4 T  ~* A/ |% ]( \3 P2 ]
  54.         cli
    ( l! p) F2 A$ _
  55. 3 k# r' M7 i1 \! L% d
  56. ;        mov      word ptr GDT_Addr, (2*8-1);) K3 F% F1 v" f
  57. ) r7 _! G. s- z1 v/ a& ?
  58.         mov       eax, ds5 J" U3 ?" H( e* s
  59.         shl       eax, 4
    % |1 H1 k% w) Q+ @; l+ W+ M$ d; O5 F( D
  60.         xor       ebx, ebx
    2 t# q' G9 K: T0 v
  61.         mov       bx, offset GDT_def
    % f6 g2 m8 A# e+ G% n$ j
  62.         add       eax, ebx/ ~. i/ C+ |6 J+ g5 }$ B) j6 o
  63.         mov       dword ptr GDT_Addr.Base, eax
      s- k0 m2 H1 d% W/ _
  64.         lgdt      fword ptr GDT_Addr$ A# p4 k' q" K: ~, j) k; [; u. K
  65. + f3 p1 L, \3 `( R6 @- O- {
  66.         mov       bx, 8
    4 o+ u0 m, O" f8 h. L" H
  67.         mov       eax, cr0; m- C6 G7 D6 u& [) Q
  68.         or        al, 1; r9 @. W0 k* r2 x$ o
  69.         mov       cr0, eax
    : B# @/ x6 N3 E/ W$ [4 `3 h% g

  70. 6 q/ Q/ p. ?. @9 |+ m& E# U- o2 e
  71.         jmp       pMod
    / O9 q8 d9 P' w
  72.     pMod:2 ~7 G' N- n8 l& |
  73. % k0 Q; Q- P  P+ Y$ D
  74.         mov       fs, bx' M" s9 ~* s: d/ p+ F
  75.         mov       gs, bx" c% b6 m3 x" a9 B- {1 ~/ _. L
  76.         and       al, 0FEh* z! S1 i; G5 t, L
  77.         mov       cr0, eax1 u3 j* Y6 G* n8 |; S
  78.         - r4 T& Z( o! j
  79.         jmp       rMod
    * x. x) g% L) Z( o; _
  80.     rMod:
    1 G- k. f+ E* k4 y7 i

  81. # U4 W1 H) H* e
  82.         mov       ax, 0
    , I3 A  ~8 d( a) J% _  E0 i/ f
  83.         mov       fs, ax
    2 ~3 A2 R6 h# X9 a2 G2 p
  84.         mov       gs, ax
    7 `& e7 j' q3 Z( p& }
  85.         
    0 u3 [7 I  a' _) }* x# W4 d
  86.         ; 在2M的位置测试写一下数据
    , C; `5 K2 {( `# x: p. Q
  87.         mov       esi, 200000h
    9 e7 f6 s  N, c! I" S3 o/ S
  88.         mov       dword ptr fs:[esi], 055aa55aah! E, Y# G( \3 t5 Q5 ?, t  ]
  89.         ; 用RU去看看200000h的位置是否是此数据....
    - y) o$ V# [5 J. b8 g( `3 m

  90. # g7 N: Y# a( I
  91.         sti
    * v. v+ h+ v! v) W
  92.         ret# C  z: G' k6 D/ \4 B
  93. Set4gb  ENDP
    . V4 ?! i; b5 C) A* J6 O" }
  94.       
      j- _, k  Z7 h2 A( Y  D7 c
  95. CSEG           ENDS                              ;代码段定义结束
    7 p7 ]( [/ M# d8 w* k6 b" `4 h
  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; A  K, K: U6 G7 t. R
! M4 O6 p& i8 o$ n4 v, j9 @
option->compiler->code generation中的option选中, [X] compile via assembler
' R" M8 p- L9 I/ J" A$ M( V6 e* \4 E9 B
[ 本帖最后由 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;
( O- c8 d! g6 O" A6 ^1 g5 SData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
/ u+ Z/ h& @7 ?2 C; u, ?7 L+ |! o* l
1 M4 r* f* M+ E( |! l. JGDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
, o1 }4 \% }- j4 H5 F$ {' V 替换如下,
0 K! n% F- F7 j( g8 z1 A  KNull_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
- e9 m' F/ k5 v2 aData_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
$ u- }! }: s0 V7 Y7 ~
1 }* e5 C+ g3 i& n- ?GDT_Addr        PDesc   <$-GDT_def-1, >, e  v$ f" L" ~1 T7 f
这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表
9 }3 a& a$ V3 [% xoption->compiler->advanced code generation中的instruction set选 80386
1 `0 h! k, ~$ e( D4 R4 z6 ~
6 Z! J5 z' H4 p; p- l4 ooption->compiler->code generation中的option选中, [X] compile via assembler
& ^* v# B9 X8 L% e% r0 U
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
8 d. t# Z" n1 l0 J
5 D, Q- e) ^4 L: P0 O* n( j  L   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

$ I- S( A, n( t$ k5 N
4 _& E1 H5 k3 u我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-4 09:06 , Processed in 0.081460 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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