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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
1 E0 l/ f8 v$ d$ h+ x% Y4 a$ m! x: q: Y
这是C的
  1. /********************************************************************- Y# O$ k/ n1 P4 K% _: O# k7 \$ T% p
  2. *    File: DOS4G.H                                                  *1 `& j4 n, f& m) R: d4 I$ V0 ?! Y
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    - D+ g3 ^; M+ g9 f( h3 C# Q
  4. *                                                                   *
    8 y+ {& O3 m5 M  I9 g5 u/ g
  5. *    ========================Title===============================   *
    " E3 `  f  s0 i
  6. *        这个函数是让系统进入DOS 4G模式                             *
    ! I  {, V  S2 H# {2 e
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *# j0 t1 r9 a. O, M
  8. *                                                                   *, j# f0 v2 h2 z' j$ w
  9. *       使用: openA20(); set4gb();                                  *4 X  j3 L8 Z! A& S
  10. *                                                                   *# m- g6 ]; ~+ ?; E) q% s! ^% M
  11. *   ===========================History==========================    *6 {6 H2 a1 }$ _
  12. *    author: bini                                                   *- V9 s2 l1 A& T  O1 [
  13. *      date: 2004-11-30  Frist version.                             *
    # d7 d( X5 w/ v0 o( Z
  14. ********************************************************************/& T# Z" c3 g& I; N2 r5 @2 x1 g

  15. ) G( f+ J+ r* Q0 o1 ^0 [
  16. #include <conio.h>
    8 g* a' `; _) u7 g  s) g
  17. #pragma inline( m% M+ U# l/ ~  B  X% P8 t! J/ q3 _

  18. * T  I# s, D( a1 V; i
  19. /***********************************************0 n. `; ^# q# r9 i* p
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    % C9 s3 p, ~7 @  ?  o4 v2 N% |/ s
  21. *    第二个为一个数据段,没有代码段。           *
    9 l0 s- z0 \  ?6 E, i; k+ \
  22. ***********************************************/: u( |* e3 }/ w! i) G; o
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    1 [1 f" {8 x; ^: W" S1 ]4 }6 I2 m" c5 r
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, , U* E: S2 W; E" N8 `. M: I7 f- ]
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF ( ^# `2 A$ F5 g7 H2 k0 O5 O$ _
  26.                                       */6 ~. a# D4 m8 Y- J. e$ f# Z
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    # j$ l- ^' V: T) p. Q; T( \
  28.                                          最高字节为 base( bit 24~31 )
    ( N: S+ f+ a3 D: o
  29.                                          , ?: V7 C: f  G
  30.                                          属性Attrib = 0x8F92( I/ Y; g: r: S. H* K; ?, F% k+ y
  31.                                          5 h, q7 r8 D/ i0 t9 [- k# ?
  32.                                              属性位Hibyte低四位为 8 |) c$ C  w4 o9 Z, k+ P7 b; H7 t4 ~
  33.                                                  Limit( 16~19 )=F/ u- a- [3 M8 Y, S3 t
  34.                                              属性位Hibyte bit7 为粒度
    8 h& q& k3 R/ n# z8 f
  35.                                                  (值1=4KB粒度)* I. \3 {) S" [( w
  36.                                                  8F & 0x80 = 1
    . x- Z/ C5 _2 }& Y# Y( W- t0 H" J
  37.                                                 
    + d; G9 r/ u: h. F: \9 V; t
  38.                                              属性位Lowbyte低四位为段类型,值=21 m& c8 Y& x; z  i
  39.                                                  表示为可读/写段
    : ^. E2 _  a5 d. I# D0 z; E
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    ! i3 x; T' C' {5 k: P# F0 z2 V
  41.                                                  描述符对地址转换是有效的。
    & }, M- G/ V! y0 J! `. k1 }
  42.                                                  bit0=1表示为:
    * }7 @! h! G" U* y* U
  43.                                                  系统段描述符。而不是门描述符。
    ; N1 I  G2 J  S
  44.                                              
    - H. ^% B- M4 h
  45.                                          */7 _+ n$ A' e( w  Q

  46. " k  E  {& O0 J" m
  47. /****************************************
    / `  i* G8 h8 h
  48. *    GDTR寄存器, 48bit=6bytes            *" Y+ M% F; H4 a6 N
  49. *    +-------------------------------+   *
    9 {( T, Z  m, ?1 G
  50. *    |   32bit基地址       |16bit界限|   *# D, G7 F1 q- x1 ~9 G% V
  51. *    +-------------------------------+   *) d# j) E7 m( L( g% A
  52. ****************************************/
    , Z1 g1 E$ G5 T! j9 u4 u, ~. K
  53. unsigned char GDT_Addr[6]={0};0 A& @0 k5 i( k$ V) q/ P# M5 C0 J

  54. ' M* b+ A7 r! T) P4 B
  55. /****************4 X; ~; f# l' b
  56. *    打开A20门    *
    - A# ?) C- [4 ?! x8 r- d5 N
  57. ****************/# r7 F1 d7 z; I, _/ B; i& Y, p
  58. void openA20(void)# s0 c* o  f8 c# D/ w) q
  59. {' U6 f4 z- ?* V( ?
  60.     asm{$ f/ K8 L$ w9 g- M  l/ E
  61.         pusha1 t1 Q7 ?3 K' F) I
  62.         in         al, 92H
    , W! U% \' p  Q! N, R. P* ~
  63.         or         al, 0x02
    / G5 E% p/ p; C: W9 A
  64.         out        0x92, al
    4 l4 ^; T& [  Y) C2 k# \
  65.         out        0xed, al9 [! d  L2 [, ~/ i/ x, R1 `. a' }
  66.         popa
    / d$ i/ I: P* O+ X* p' n
  67.     }8 @$ @. ~- q  V
  68. }
    7 A  R7 I) G: t, d1 G4 K
  69. . u2 K' K7 I4 {/ U& T
  70. /***********************************************) l% Q/ o# K3 b/ {4 @
  71. *    函数功能:进入DOS4G                       *' P1 O0 V0 v: J, @) L4 w; G  i5 d/ D
  72. *    ====================                      *0 Q1 P% X. s$ |9 Q$ A- `
  73. *                                              *
    & j1 h6 R/ V! Z
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *
    ! r8 H6 G2 ?; L3 M1 _0 `
  75. *   如:                                       *
    ) {, ~3 o2 z8 }5 B) x1 s1 i* Z
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *
    8 D. q, I8 u9 J. n) u0 u- g
  77. *       表示为 2个GTD                          *- P( q; |( ]6 I, s  c( \
  78. *                                              *( |' {2 \0 N7 T* y1 T! B5 O$ I
  79. *    选择子为所在描述符内的字节偏移。          *
    : h3 Q2 o( _! W& }+ {: T
  80. *                                              *; O( E6 A( T6 c8 A9 V0 T) U. ]6 y
  81. ***********************************************/
    , S. `& Z  z0 J# H
  82. void set4gb(void)6 b1 Y  k. [, k  D
  83. {
    ; I/ H; V, d- x3 J4 [6 n
  84.     asm{4 V4 W) f8 P2 |: X2 s
  85.         cli1 @" x( U8 {& d: g- D3 e3 N
  86.         /****************************************
    6 U/ g" i. M4 U' V5 u" i
  87.         *    GDTR寄存器                          *
    % M, V% n0 V6 c% S( L8 ]5 C
  88.         *    +-------------------------------+   *  ^5 u% Z4 |) k" ]- \2 I# Z
  89.         *    |   32bit基地址       |16bit界限|   *( Y+ J9 i2 f. m5 u2 e# S  {
  90.         *    +-------------------------------+   *
      Z' e% U/ L3 D" G7 g, T( |
  91.         *****************************************/
    8 b7 Z/ L$ E# D; G
  92.         /*********************
    ! Y- F" j& I! V$ O0 c
  93.         *        得出段界限       *
      {- `2 f' M4 r7 K3 E$ p0 _3 J
  94.         *********************/
    7 V+ D9 C+ t) d5 E# h4 O& Y
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    " b* V0 ?6 S; ?, L9 j) M! w/ B
  96.         /********************************************
    7 p: {6 f) v( f" y2 z7 h& A
  97.         *    计算GDT表的32位基地址,存入GDTR        *
    3 |9 l5 a7 u) S6 p
  98.         ********************************************/
    : O8 V. _4 n6 ]9 a5 b- [! I
  99.         mov        eax, ds7 d( ^2 Q* m3 [7 X6 C
  100.         shl        eax, 44 f0 i* n' s8 C0 s/ _+ L6 n
  101.         xor        ebx, ebx
    / ?+ a, Z- c( t) |4 H
  102.         mov        bx, offset GDT_def8 d4 D! M& C& N3 x
  103.         add        eax, ebx
    ' i( R( d' F! K+ G
  104.         mov        dword ptr GDT_Addr[2], eax
    9 h7 a/ B1 M/ Y% [
  105.         lgdt       fword ptr GDT_Addr
    ; u8 k, H4 }! k7 K
  106.         /********************/ u, ]) p6 X: Z! U
  107.         *   选择子偏移      *
    / n6 Z. P& S6 y, W
  108.         ********************/
    # Q7 C. U3 P/ o' V
  109.         mov        bx, 8
    . E: X1 U1 D9 l8 M
  110.         mov        eax, cr0
    " }6 L. h" Z7 N. V1 F' e, ?+ x
  111.         or         al, 18 K' m2 S& U- x% g" m
  112.         /**********************, T" L' |0 h& P' y. N, K  ?, u3 a" C
  113.         *     进入保护模式    *
    ( B: T# T$ D0 M. n, X# h  n
  114.         **********************/& `. t# ^! l/ K  O
  115.         mov        cr0, eax8 d, t$ j$ M: M6 J  D
  116.         jmp        pMod; M* M  W+ l& ~+ z: ], M  k
  117.     }
    7 K. {( z/ ^& m) N, u  F3 u# R

  118. % o( n6 ]& q) D+ d4 \" B
  119.     pMod: asm{. ^8 v7 H! [9 \7 E- l% c1 G
  120.            /************************************************************6 z/ X% ~8 {/ Y2 m) i" J% m
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *+ W% Y/ G8 q% ~& z
  122.            ************************************************************/6 x5 L  G! X- z7 W. z2 b: d+ W
  123.         mov        fs, bx; B/ {9 W& S6 m6 l/ V" C4 I0 v
  124.         mov        gs, bx" h) r  G' I% i5 W2 [6 p
  125.         and        al, 0x0FE, ^7 y6 _% h& j: K4 i$ v7 O
  126.         /******************
    ; b9 g' i) r8 D0 D
  127.         * 进入实模式      *
    : t. {( N8 u" d2 P1 L0 G  \
  128.         ******************/" P$ {. w5 x4 f0 }) d; p7 E7 P" q
  129.         mov        cr0, eax( A1 f7 ^) u; w+ O
  130.         jmp        rMod2 P1 m- q9 `- y# V
  131.        }$ }+ i" Y) ~7 l2 c! z

  132. 6 G$ ~6 L$ D9 g% i* R+ ]
  133.     rMod: asm{
    $ o8 C& k  d' J2 b1 d0 t2 Z$ ~- |
  134.         /* ******************************************************************; U+ b, L/ `3 t4 ]* F. C
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    & w3 K, Q; A% v0 h9 @
  136.         ********************************************************************/
    + h7 \) `8 w6 v, l5 E! m: \$ h
  137.         mov        ax, 0
    $ X' W4 z1 X# T
  138.         mov        fs, ax
    ( e7 H6 }% E5 r/ a! j- n8 `
  139.         mov        gs, ax
    0 g. s$ u2 p) S5 y% I. m' i. R- U
  140.         sti
    - H- t4 d6 F3 |+ x
  141.     }
    : F7 s. V' g2 m
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    " e$ b$ z, k; }4 x9 o2 o  |/ V
  2. ;*    File: DOS4G.asm                                                *
    # {; u7 _# e, ?* c, G
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    ' H  j3 W' V5 V4 p, j
  4. ;*                                                                   *% Q9 ^7 [- t: e9 |* S
  5. ;*    ========================Title===============================   *$ g6 ]" j9 z6 l+ N  T7 S
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *
    0 O& j) ?0 V9 p
  7. ;*                                                                   *$ o* ]! ~. [. d6 Q9 G6 S2 P
  8. ;*   ===========================History==========================    *; _* g4 R  Z! Z, c4 n+ p8 C1 Z" s9 @# V
  9. ;*    author: bini                                                   *
    ; _7 b/ g9 A5 \4 T3 }; r& G! T
  10. ;*      date: 2008-10-08  Frist version.                             *
    ) M2 p/ C  k# W. b2 F
  11. ;********************************************************************/
    4 l- _# Y, |/ D7 {/ c
  12. .model small
    - Z! j9 j" I1 P
  13. .586p1 ^4 X- h/ Y  o2 `( K7 Z

  14. , [9 Z  t8 B+ n' K
  15. DSEG  SEGMENT   USE16                 ;16位数据段
    $ ^. y/ s- ^& G5 H5 `

  16. , M, F9 V" |$ ~/ J! g
  17. DESC            STRUC
    6 F; y& ?4 a' O: a& @( M# q
  18.         LimitL          DW      0 ;段界限(BIT0-15)3 p$ z  ?$ D/ [; N- z# v  Z% Y9 k. j# ~7 b
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    ! S* W8 B2 p6 }6 t
  20.         BaseM           DB      0 ;段基地址(BIT16-23)) z  |6 i$ m7 h* o/ w5 I. K" E
  21.         Attributes      DB      0 ;段属性
    1 w4 D- D# s& S% u
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)& q6 \% [, e- L5 V8 F2 l  @9 R; I
  23.         BaseH           DB      0 ;段基地址(BIT24-31)% ]7 H$ s! q; q1 S% ?# X5 Y2 u
  24. DESC            ENDS
    . e( S3 w+ \3 e* L, B
  25. : s4 }$ s: \: g( O, }
  26. PDesc           STRUC
    4 Q& X" d$ G  K# Y$ {
  27.         Limit           DW      0 ;16位界限
    ' t1 m& t. \/ i; L; h
  28.         Base            DD      0 ;32位基地址
    2 o) @* c7 ^1 K/ `3 H# \( D
  29. PDesc           ENDS
    , Y  L# y9 A) L( n4 L7 J
  30. ; B6 K. K, s1 {' h5 i: R8 o: B7 ~
  31. GDT_def         Label   Fword
    % m1 s3 F$ ?5 Q7 F
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    9 j9 Y6 i; j( m7 w) l
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    , s$ u2 M: @6 t7 G7 C( O
  34. 0 M1 g4 D6 Y; X# u
  35. GDT_Addr        PDesc   <$-GDT_def-1, >) t) q0 ^; K; I0 m
  36. DSEG            ENDS                          ;数据段定义结束
    9 F! S9 q9 }2 Y; G1 M5 Q- m4 E

  37. - C: A8 [: z' g9 J, |+ R" I1 {( E7 f
  38. CSEG            SEGMENT USE16                 ;16位代码段
      p% g* |9 ^. o% n6 D
  39.                 ASSUME  CS:CSEG,DS:DSEG
    / y0 n0 O- ?) {. Z) z* r5 c
  40. .Startup
    $ Z$ ^; W$ h4 l& T
  41.         call      Set4gb
    , H9 \" n& |' V1 X* _" v3 i
  42. ;
    $ H8 S, `2 c6 X1 d6 j3 _8 e
  43. ;       fs, gs即能访问4GB空间0 }/ l3 r# y% v& C
  44. ;       write your code in here.& ~# X! }  Y* F# M  ^
  45. ;
    8 X. x3 W9 A: ?, t% k! s4 w* F
  46.         .exit
    4 q; D0 u. T- N
  47.         5 E& d. l; Z$ J: Z4 f
  48. Set4gb          PROC      NEAR
      b6 j3 c, I7 m3 i$ R& P
  49.         in        al, 92h1 @! P7 U' P! K7 ?3 `+ }# X
  50.         or        al, 002
    3 y1 ^! I4 Z% l
  51.         out       092h, al
    " I7 U% K" s6 g7 e+ x: c3 a
  52.         out       0edh, al! V! P! Z, r! O: O3 ~4 X( k3 B

  53. + X/ A/ z4 n) B
  54.         cli+ C1 y5 I" z6 V/ U& A- w

  55. 3 ?0 J' A$ U# P
  56. ;        mov      word ptr GDT_Addr, (2*8-1);$ H7 H5 D, E0 r

  57. 9 u% m  G/ J. |
  58.         mov       eax, ds  Z3 d  `" T+ O" `8 c
  59.         shl       eax, 4% K& u7 Q7 p1 {7 B0 L, h' Z
  60.         xor       ebx, ebx  L0 m9 v2 o% T& [: f9 H
  61.         mov       bx, offset GDT_def% u, x0 E: i( I: O
  62.         add       eax, ebx
    - T  f2 S, X# y( p# \% P
  63.         mov       dword ptr GDT_Addr.Base, eax! I) A* q" O7 E$ A) j7 j- c
  64.         lgdt      fword ptr GDT_Addr+ b& R* ?8 h1 b6 I
  65. 0 t7 x- L8 p9 l5 Q, t  ^
  66.         mov       bx, 8
    # [! ]5 ^0 G  d& ?, l
  67.         mov       eax, cr06 ]; ]9 r2 Y# D3 A
  68.         or        al, 1
    * g6 [5 s* }! w4 E! z  b
  69.         mov       cr0, eax
    9 A" h: c3 l4 y; z
  70. & E! W& ~7 S, e. J
  71.         jmp       pMod1 q) x, k- S) f/ ^& g. U
  72.     pMod:8 I8 I+ Y1 f$ N* h5 _' @

  73. - @' a- v$ x( c. M8 J( s
  74.         mov       fs, bx
    8 i* t+ i! f; M1 H# N
  75.         mov       gs, bx
    . Y4 B' J( ^( u% o4 X" k5 y, X
  76.         and       al, 0FEh
    0 ~) k7 H8 _; s) Y- o3 r, `0 N  n. P
  77.         mov       cr0, eax9 s2 Z% t" T% ?% M
  78.         ( B# P2 h2 e& M7 o, F9 y
  79.         jmp       rMod+ |3 B' I  K( p- J" I- }. M
  80.     rMod:
    ( P2 r' Q$ @' x$ ^3 J

  81.   |: X- c4 \+ z
  82.         mov       ax, 0
    ' z% e( f5 {8 j  f2 o
  83.         mov       fs, ax3 ^' l7 {4 s5 M% g6 q
  84.         mov       gs, ax2 x6 \3 @" _( \3 p7 {
  85.         + M7 k# j) h( L0 j7 Z
  86.         ; 在2M的位置测试写一下数据
    & e" @& \6 }) Y' q" i1 d& p
  87.         mov       esi, 200000h
    8 s2 k2 o) e" `! ^  t: ?( |
  88.         mov       dword ptr fs:[esi], 055aa55aah
      u# s# @1 p  b0 i; P& V
  89.         ; 用RU去看看200000h的位置是否是此数据....
    2 t0 p/ d0 g" V( W% u- L1 x. b  B
  90. 9 ~1 n' b0 ]% \$ v. `
  91.         sti' W3 Z7 D# ]/ W2 z2 M
  92.         ret
    / G; @9 p4 [  |7 o) {! ^# f
  93. Set4gb  ENDP" ]6 n5 g# p, S$ `0 k& Y
  94.       
    2 i7 T" Q# B0 x" V
  95. CSEG           ENDS                              ;代码段定义结束1 I2 s' }- z& `/ Z, 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# }% p% \, l" l* E0 b

3 f) M, Z! l3 G' F7 t. m- foption->compiler->code generation中的option选中, [X] compile via assembler
# z7 d9 k9 C0 G: h; V) C1 A1 T8 {
[ 本帖最后由 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;
* a4 a6 l7 b* _4 a% k3 RData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
0 e8 F3 n2 }% {  I) u+ i( e
& L$ D- e) \# S# i4 iGDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
# ^6 t3 Z* g6 y) m 替换如下,+ x$ J5 Z$ E# g# d3 ~
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>4 s( L9 E2 p) z9 }0 {7 o2 l0 ?
Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
5 t! A8 s9 c) o4 h) I+ n$ ?( d% a; b0 t: j! O
GDT_Addr        PDesc   <$-GDT_def-1, >
: |& @6 m8 Z1 C! U: g这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表 * P6 B3 Y# L: I( T: B
option->compiler->advanced code generation中的instruction set选 80386
' a, c% }2 A3 y, B" Q
4 b( b8 \$ q- r) @/ h" U# ^option->compiler->code generation中的option选中, [X] compile via assembler
# d- n2 \, X3 B0 Q4 B& C. e, B
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
9 Q- N. H6 H' B- e2 G# N/ Z4 |  l' x" U2 v, M  q* _& E
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

* r* _$ |: G: c8 p. P0 t+ S) t9 U7 ?; [" ?$ z6 F
我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 14:36 , Processed in 0.022738 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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