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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
! j! r( m2 A5 @8 Z  i
, a3 i1 r6 S+ Z: m* @这是C的
  1. /********************************************************************5 [! v' B+ D; E+ c4 L6 Q8 \* q# {
  2. *    File: DOS4G.H                                                  *
    + z* B- M7 C1 c1 n7 K
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *" m2 F" \! J7 S3 k) l9 D( F
  4. *                                                                   *
    6 f! e8 k- S  k5 @$ R! D7 c
  5. *    ========================Title===============================   *
    0 @+ t" z- U6 [
  6. *        这个函数是让系统进入DOS 4G模式                             *
    : ^( p9 B" e) p" l3 w% L& d  f
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *
    $ z/ @: \# R/ m4 ^% {) R9 G
  8. *                                                                   *  G3 B4 F5 t  g8 n2 l3 S
  9. *       使用: openA20(); set4gb();                                  *# w3 [* i! f; z
  10. *                                                                   *
    " q2 y. L7 d$ Z/ s3 Z3 t: I6 f1 y
  11. *   ===========================History==========================    *
    . C3 V  Q3 G0 T: M
  12. *    author: bini                                                   *
    # h1 ^7 q( x# ?% \4 ?$ f: p
  13. *      date: 2004-11-30  Frist version.                             *0 Z0 }1 D* A/ n9 y/ l
  14. ********************************************************************/% Q7 d' D- U1 {! l
  15. , F* r: t7 A: i' b& W9 h
  16. #include <conio.h>& W! R& d7 r/ y+ Y
  17. #pragma inline0 V, |6 y8 c- f) V% V" ?4 C
  18. ( Q  k9 I" j; ]9 e: e( b; m; A
  19. /***********************************************8 \5 E* p9 Q) J& I& i9 n6 e
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *; T3 R1 N$ F& C  I
  21. *    第二个为一个数据段,没有代码段。           ** t7 X$ \9 \) c# \3 p
  22. ***********************************************/# p5 V. u' Z* x* v2 ?) m& R6 A4 `
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    1 X  Y8 Y' A& V% `8 F& v/ I
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0,
    ) U) ?8 W9 c( Y/ Y9 f5 I
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF 6 f1 _9 f3 C; W$ B7 ?
  26.                                       */
      t+ C  n" i  I# D/ R: R
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )& u( G) b- B9 d" D9 \' u3 |7 [
  28.                                          最高字节为 base( bit 24~31 )$ A; H* F8 @( ?8 ?/ i3 M6 u% l. [' `
  29.                                          
      e% Z# V( m* p! k
  30.                                          属性Attrib = 0x8F92# M0 d7 Q0 Q; i0 d2 p% r( N- k/ f
  31.                                          
    ! R4 A$ F! @; i. B8 g8 u) F& c
  32.                                              属性位Hibyte低四位为
    " c. w# w$ d4 f- L1 b( b9 J' U8 K
  33.                                                  Limit( 16~19 )=F
    7 Y2 \6 t: q/ Y8 t( f
  34.                                              属性位Hibyte bit7 为粒度; \- e8 d: Z/ L8 ?
  35.                                                  (值1=4KB粒度)8 K# f0 p3 F3 G# V* H6 y
  36.                                                  8F & 0x80 = 1, x' A6 C& M5 q, X. O2 `
  37.                                                  - F: @+ _; h* {8 U0 P
  38.                                              属性位Lowbyte低四位为段类型,值=20 z% M6 F: l: T' n
  39.                                                  表示为可读/写段
    . ]* z* n2 m3 A; c! h7 R% n
  40.                                              属性位Hibyte高四位=9,bit3=1表示:3 E# _$ |8 T  m8 [) P7 n
  41.                                                  描述符对地址转换是有效的。3 U2 O7 G& ^: U2 ?' {: c
  42.                                                  bit0=1表示为:
    3 C& V% M0 F" H( i1 w" c
  43.                                                  系统段描述符。而不是门描述符。& Y; B* |) x4 y, \$ u; q; o
  44.                                              
    ) Y8 s. c, p% m
  45.                                          */+ F0 r+ L5 r" O4 @
  46. " v$ Y/ w+ M8 c" @4 g& ]- Z) T
  47. /****************************************
    ! P$ L6 w6 X2 a  E" h* [
  48. *    GDTR寄存器, 48bit=6bytes            *
    / N! S- x2 J' J. I6 ^7 H, |! q$ k; V- m
  49. *    +-------------------------------+   *
    : Q2 C5 w, f" d) j9 X/ b# r
  50. *    |   32bit基地址       |16bit界限|   *
    ) H, p% e5 O: ~( G6 w* D7 L
  51. *    +-------------------------------+   *: \0 Y6 G1 {5 r3 \8 w
  52. ****************************************/8 J2 q; ~; }6 ~7 y) n9 S# o
  53. unsigned char GDT_Addr[6]={0};6 D' b9 q  A' D: M* ?
  54. 8 g: J8 A* u8 D: v3 a$ I
  55. /****************2 _' Z& r- ~: c1 x3 r% z4 k, D
  56. *    打开A20门    *
    7 }: j0 W6 I; q, S/ _1 Q3 y; _5 P
  57. ****************/0 C$ J4 o. D1 d9 A" H& l* x! @
  58. void openA20(void)/ h. G1 z& E& q9 y* @
  59. {
    9 h. p. P, ]3 W4 Q3 H
  60.     asm{3 m3 |% T# R& j4 H3 w, p% m
  61.         pusha5 B) V1 P. ?; r
  62.         in         al, 92H) Q3 }) k3 B4 M# E- G
  63.         or         al, 0x024 F7 O0 C& M5 A( x+ y7 y
  64.         out        0x92, al
    + e: H) x# m9 g" k4 D, D: }
  65.         out        0xed, al3 L! T- X' n& }! n6 [
  66.         popa
    1 i. v/ x6 I, Q( a( L" o& f6 p
  67.     }
    ; @. W) K: Q3 p
  68. }
    * [4 j1 A" L4 i! C
  69. 6 ~: f2 M! \( [2 R3 p. Z4 |- X' o
  70. /***********************************************6 m" Z3 w( [7 N7 V/ ^4 n
  71. *    函数功能:进入DOS4G                       *
    5 q1 d( B$ f1 r. F- g
  72. *    ====================                      *
    ; k2 b3 w1 a- t) {: Z
  73. *                                              *
    ( D& k! `4 n- f' B
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *1 t$ r* c* s- ^- g' `* C: ?1 S, M( R
  75. *   如:                                       *. l4 }( m( h. j: D& r; Z
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *
    0 _4 C7 }" l# O9 _" u: i
  77. *       表示为 2个GTD                          *
    / B0 t) W3 N4 o1 C" E
  78. *                                              *+ Y- ?, y! C6 N8 G
  79. *    选择子为所在描述符内的字节偏移。          *
    ( [, f/ {& R7 @* }6 r
  80. *                                              *
    1 g7 [& d2 ~7 z% g  C) t0 ^
  81. ***********************************************/) }7 ^! V- E/ [* `, p+ \
  82. void set4gb(void)
      f5 t/ d- n% k: `$ k! H7 P; z) {  G. `
  83. {! ^8 B# J8 N$ G" R; r
  84.     asm{! D2 e6 K9 s* k/ p. T5 e
  85.         cli
    , Q% J8 a- m/ X6 j$ @2 S1 i8 G
  86.         /****************************************
    ) V* r8 }) Y' _1 O0 d3 S
  87.         *    GDTR寄存器                          */ Z  Q5 K9 {) c- u- j
  88.         *    +-------------------------------+   *
    , L/ A8 y3 G1 M5 r, I% j2 v
  89.         *    |   32bit基地址       |16bit界限|   *
    7 ?" w/ r! z( A2 ~( h) b
  90.         *    +-------------------------------+   *
    - U8 j% R$ e' O7 I; ~; n7 c
  91.         *****************************************/2 K$ k+ k" N& F1 |# L, u0 j
  92.         /*********************
    / B9 I; G/ C: U9 j
  93.         *        得出段界限       *
    6 s/ s1 a" f3 G4 r$ h  R
  94.         *********************/' y5 p1 k( W) F) Q
  95.         mov        word ptr GDT_Addr[0], (2*8-1);; I+ |3 {. z6 M2 J9 m& \# Z
  96.         /********************************************3 B- Z* j; h; z, }  M
  97.         *    计算GDT表的32位基地址,存入GDTR        *8 K& H2 e6 q% O9 S
  98.         ********************************************/
    - H6 x: N, q7 {' Y9 J
  99.         mov        eax, ds  z* p( n0 R0 y1 X4 H: D
  100.         shl        eax, 4
    , `; [: @, M3 N& ~
  101.         xor        ebx, ebx$ X9 v* Y: {* s# Q
  102.         mov        bx, offset GDT_def
    ( N/ \; F. {) \. E, R3 T
  103.         add        eax, ebx
    ; l, y9 Q+ l5 G& {
  104.         mov        dword ptr GDT_Addr[2], eax
    $ F8 h! `( W6 h4 S) d! \
  105.         lgdt       fword ptr GDT_Addr# Z! W9 t3 l) N/ j6 x
  106.         /********************9 T: N, H! Q( C: @/ K- H
  107.         *   选择子偏移      */ ?7 A5 ~# T6 R" k8 u: W* }
  108.         ********************/
    4 |( i5 m. A6 C( y" g( A4 u9 a% Y
  109.         mov        bx, 87 w# t- T8 b; ?3 Q' J+ j, T& A
  110.         mov        eax, cr0
    ' @0 \% p" ~* k+ K: k3 g% m
  111.         or         al, 1
    / F# a. W% `  t. C0 _( @; o: h
  112.         /**********************
    $ H/ b: ^- b* Z
  113.         *     进入保护模式    *
    $ w) L9 a' j# S5 S% k# i7 Y
  114.         **********************/
    $ w" Q: g7 G& ?6 }4 b0 `( K8 n1 R
  115.         mov        cr0, eax
    $ n" D7 k9 T( c% g$ x- S  E: `- P% i
  116.         jmp        pMod' ]8 h) S* W4 E7 M9 b$ j4 V
  117.     }
    : j; O* x2 R, P2 S2 k/ J

  118. $ H  \1 N0 w, L, n8 E/ N
  119.     pMod: asm{& j) G, W+ s! r* u, T
  120.            /************************************************************
    & n6 `. t' ~6 c3 V! x& _2 f
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *0 l0 h' s- t4 `( f1 R
  122.            ************************************************************/8 a. F- x: h! c
  123.         mov        fs, bx- d* P* ?; g. h5 p/ H" g5 ]
  124.         mov        gs, bx
    6 p# p. l/ T0 r. Y: U, g
  125.         and        al, 0x0FE
    1 a* \- z' H; e/ a
  126.         /******************( o9 N3 O' c7 g, ^/ y
  127.         * 进入实模式      *
    , h' D6 u, i  u0 R6 h1 `
  128.         ******************/; T* K. U2 e& O3 `
  129.         mov        cr0, eax' o/ |) ^: N8 y; [  ?$ v
  130.         jmp        rMod- w' H# C7 S9 s
  131.        }
    & H( y6 f$ ?* R  L: X

  132. 2 P1 t$ k. O! J. |# b5 L. x
  133.     rMod: asm{
    ) q0 }2 J: e# i. z9 {, l
  134.         /* ******************************************************************
    % f5 W  Y& @7 e( X+ }: e# V
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *- R9 U" V) G, X& G& I
  136.         ********************************************************************/
    ( l3 Z6 k& G! J* X& e; u
  137.         mov        ax, 0
    + G7 [9 s" `0 I3 O8 e
  138.         mov        fs, ax
    * y% J" u8 O1 }
  139.         mov        gs, ax7 H3 K5 C0 Z5 d' e8 X
  140.         sti
    ! ?' A1 m. e+ n: A6 W
  141.     }% N, x$ ~8 a& L* ~
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    % E# `( f/ v) W; `# A0 p+ P5 l
  2. ;*    File: DOS4G.asm                                                *
    . G0 W3 x# R  ^4 G
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *6 @3 f" Y: ^  v, [! C% P. g
  4. ;*                                                                   *
    , F4 f& S( l! D
  5. ;*    ========================Title===============================   *( R+ |" i9 D, j$ M. H5 [: ~  |
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *
    + E; w' S: i& a3 L
  7. ;*                                                                   *
    9 A/ a# T" R9 V/ x; z3 g5 S
  8. ;*   ===========================History==========================    *6 q2 l1 C8 D, T
  9. ;*    author: bini                                                   *. L  {( ^6 k- P5 a8 u
  10. ;*      date: 2008-10-08  Frist version.                             *7 Z# E% }, K; |3 v  ?
  11. ;********************************************************************/
    5 s! w4 q$ u2 _% A- \- ~! B: u
  12. .model small3 D* Y& P' @; F. A# C
  13. .586p& q: N0 O+ a( d

  14. $ F; O; k6 v, [$ w
  15. DSEG  SEGMENT   USE16                 ;16位数据段( P& p5 P' n2 U: P7 p8 w
  16. 8 }1 ?9 u* \; `. G( u) X
  17. DESC            STRUC
      n7 [8 t/ z' v2 C) W* K; }
  18.         LimitL          DW      0 ;段界限(BIT0-15), w: L- T! Z. G# t4 O1 M' r! ?; b
  19.         BaseL           DW      0 ;段基地址(BIT0-15)) j" G$ Z: Z) b, G" t
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    + |% @( b; m, V9 \( \
  21.         Attributes      DB      0 ;段属性) Q+ J3 O& U* q$ G  W! ^! ]
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)
    + F8 }# Q) J7 J0 d
  23.         BaseH           DB      0 ;段基地址(BIT24-31)' j2 b- r) q7 o. z3 N) s
  24. DESC            ENDS
    9 F) P  K0 p5 w2 U6 {: t3 s- V0 |

  25. 4 I5 k3 c0 K8 }( x* P7 M0 ^
  26. PDesc           STRUC
    3 X( H" `: F( H7 D
  27.         Limit           DW      0 ;16位界限9 C, I* }+ g9 w% ]
  28.         Base            DD      0 ;32位基地址
    ' u. u6 M: a& {1 ^
  29. PDesc           ENDS
    6 U% M( u3 H8 n" h1 j& v

  30. ) |: |! r+ Y% B! s$ x
  31. GDT_def         Label   Fword
    ! C& S# S& q. f, z4 o' P
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    . n  z6 j# y" i0 Y9 D
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>, K- q: J- R' B( r: p4 T1 I) C

  34. 8 w( z* }3 S9 C! m( x
  35. GDT_Addr        PDesc   <$-GDT_def-1, >* B1 K6 L: V# c8 n
  36. DSEG            ENDS                          ;数据段定义结束0 M8 [: I6 r1 h; L! c" o
  37. 2 ~. m9 y* a5 d
  38. CSEG            SEGMENT USE16                 ;16位代码段
    9 T: ]5 p) B- d9 ^5 ~) r" k" r
  39.                 ASSUME  CS:CSEG,DS:DSEG
    ; ^+ @, I7 Q9 q- u' b
  40. .Startup2 ]  \% G4 D4 d! W7 M# o9 L( B" q
  41.         call      Set4gb
    & v9 P  N. r0 X9 U
  42. ;4 [1 ~9 [  {) j% ^1 W# [
  43. ;       fs, gs即能访问4GB空间7 p4 ]! T2 R! w8 H9 w" D5 ?+ p  {
  44. ;       write your code in here.
    2 `/ o1 ^1 O/ X7 q0 F" ?
  45. ;! E, B, v5 I. D1 ?0 x
  46.         .exit
    % \+ u0 N; O2 S2 T6 [/ {' M
  47.         
    % }( V, v! U# l9 z! I' B" d
  48. Set4gb          PROC      NEAR
    / k% s  T( r1 u4 I
  49.         in        al, 92h
    - [2 A% z$ L& o1 {3 b0 ~
  50.         or        al, 0028 i" y* t9 l) M) x9 M9 |2 {3 T
  51.         out       092h, al8 c1 i2 V: H. m& ^# S+ ?
  52.         out       0edh, al
    : l7 W# Y9 K: p! V7 s' z7 F( V

  53. # n6 T" m$ u) B+ _8 P* }
  54.         cli
    ' Q5 E, T- C' i3 r9 [% y, B# {1 g/ [
  55. - `! v" Z: H. K; g8 R
  56. ;        mov      word ptr GDT_Addr, (2*8-1);
    / L4 z+ \3 {+ h" `
  57. % A$ j  w. D8 ?% R/ d, K
  58.         mov       eax, ds  t  p. M+ A0 j) R; w7 N
  59.         shl       eax, 4: ?7 T! S! z: H# u% S* w" t
  60.         xor       ebx, ebx
    9 F# m4 J/ N9 C& n( F9 x) k! Y
  61.         mov       bx, offset GDT_def/ M. J- k* [- U1 p
  62.         add       eax, ebx, w2 ?1 J. p$ H- G: Y
  63.         mov       dword ptr GDT_Addr.Base, eax
    ) g, i0 [; s; r+ g
  64.         lgdt      fword ptr GDT_Addr/ w. T* p3 x* z& d) V/ K- N0 N

  65. , E! z1 M/ i( L* b
  66.         mov       bx, 8
    ' L3 f% ?. L9 \$ i. j
  67.         mov       eax, cr0
    $ `2 C; G9 T2 e6 i# ~6 G: s7 a
  68.         or        al, 1
    : ^% }0 E& F! d% q
  69.         mov       cr0, eax
    0 G: @3 k, b  p4 T7 F" F% b$ x

  70. . I- W/ l3 p* h
  71.         jmp       pMod
    8 y& K' |$ t) s8 L8 ^
  72.     pMod:/ C) z& j5 _" n2 I
  73. 7 P! Z+ m( g: j0 E- b4 S" f
  74.         mov       fs, bx
    * _1 J! q6 c- f; K: \
  75.         mov       gs, bx  I# p3 [9 M6 g
  76.         and       al, 0FEh, c( w, o" g3 q# {. _9 ?% i  W6 `
  77.         mov       cr0, eax
    - i! \1 \4 B. G  ~% K. r
  78.         
    + x" d" `. v7 ^) f/ o# w  o( \' ?
  79.         jmp       rMod  W5 @" b- Q# g) z2 N" Q, A% Y
  80.     rMod:
    9 h+ p1 _  N7 m! x5 Z3 m

  81. : K0 d5 d; u- W# r  Q# e
  82.         mov       ax, 0
    2 `1 A1 p( `( s: {
  83.         mov       fs, ax
    6 f( _- W: l( v- C# Q. S
  84.         mov       gs, ax
    - ?2 N3 l0 V- V3 T) Y3 g3 e
  85.         . H# a- R# }% P1 A$ E1 A
  86.         ; 在2M的位置测试写一下数据
    * [1 F# I, K- F: ~6 e2 X! Y
  87.         mov       esi, 200000h
    # W, K! X5 G  M4 a/ S0 Y2 f$ k$ z
  88.         mov       dword ptr fs:[esi], 055aa55aah3 t1 M! ?0 I7 e+ V
  89.         ; 用RU去看看200000h的位置是否是此数据....  J2 v! ~- Y! H: P# E& `; G" ^  N# W- \

  90. / t) K, x5 k3 A+ B* w
  91.         sti
    ) P" t% \4 s; m8 a" Z
  92.         ret
    * Z  C; B1 \6 o% x
  93. Set4gb  ENDP( c  Z* ^/ A& n" h- ~
  94.       
    8 d) R2 l/ s/ q3 o! P
  95. CSEG           ENDS                              ;代码段定义结束
      {; m! A" d8 W
  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选 803862 A4 ~7 }) S, ?# |" B! F3 r
, g- [$ k4 x; R
option->compiler->code generation中的option选中, [X] compile via assembler
; D! {0 p2 Q, ^' D* K- d3 \0 Z9 O8 }, B9 z/ g4 @
[ 本帖最后由 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;
9 R- p! o% b/ w( S* K) n! TData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;' l" [+ o' E2 ?
1 H1 l* d& i- h. v
GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;/ f, ^% T4 D" N: C4 Q5 z# [$ o3 }
替换如下,
' J9 E  K% j4 N' {2 @# JNull_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>- M: F! ^3 S/ o' N0 f/ f
Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
+ {: l) V% s2 J  i- L/ B8 j
. B" F4 F2 F0 CGDT_Addr        PDesc   <$-GDT_def-1, >" Z- v- I$ n4 J% Y/ b  J/ f) L5 \
这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表 - O- Q& M6 V' {: w
option->compiler->advanced code generation中的instruction set选 803869 M1 j, l2 K/ V# L( j0 v

* C. s0 |* z$ i* E2 soption->compiler->code generation中的option选中, [X] compile via assembler

; V# n5 j  S+ i$ d2 P5 E   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表 0 F- P! }3 g* F* a8 {/ o9 w9 b
/ R. W0 k$ }2 a4 [4 ~
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

4 d# q, P2 j4 s- _# ^% `' Q' A- N! v, `
我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-20 09:21 , Processed in 1.288421 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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