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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
3 r, n5 H8 n: f+ x  Q6 {  D; e4 @, E, ]0 s( H* `) o/ x
这是C的
  1. /********************************************************************/ M+ c9 |8 T6 v6 c3 J
  2. *    File: DOS4G.H                                                  *
    4 Q1 u$ ]* n, W( b/ e1 r
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    7 T" e# p9 m# t7 O' A
  4. *                                                                   *
    0 B7 Q; |0 s$ Q: W3 a
  5. *    ========================Title===============================   *7 |0 ?0 n3 a$ E. p+ {7 }1 e3 y  G
  6. *        这个函数是让系统进入DOS 4G模式                             ** s) E4 p7 F0 h0 Z
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *
    2 i) a) U2 J# @+ p. T
  8. *                                                                   *
    & n- g  }0 S8 U% Z: H. q- D, F
  9. *       使用: openA20(); set4gb();                                  *
    3 G' r# q$ K$ \/ J: E8 ?  P
  10. *                                                                   *
    5 c8 @5 i  B( r6 Y* B0 ~  X5 k7 S( O
  11. *   ===========================History==========================    *
    * o* y+ @8 b% e  L: e. U# k
  12. *    author: bini                                                   *( F: W8 A( }! \
  13. *      date: 2004-11-30  Frist version.                             *
    ! U9 n9 x( v7 w
  14. ********************************************************************/
    % k. A% j  W0 \/ U' m/ T. T) r. Y
  15. , A1 f! ?! |3 W- d7 Q' S
  16. #include <conio.h>: C, o# T* V. l, H) v/ T- {' K
  17. #pragma inline) m" \6 V5 U" V4 o' I" p
  18. 7 }# y8 ?, E. q& v% E+ c1 q  \
  19. /***********************************************6 H5 M/ h& a" K: o3 e3 }+ a
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    $ @: H# f$ Z4 _3 N2 J# o, |
  21. *    第二个为一个数据段,没有代码段。           *) o: m$ Q' r; ~
  22. ***********************************************/
    " R3 _' m2 D/ t7 C" X3 s) F  }
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    8 ^% d% d2 `8 J3 Q
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, 3 n" m3 n; f4 x3 a" Y. S
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
    & \8 C* [- t1 z; A9 _3 [6 _3 m
  26.                                       */
    9 @3 b4 O5 j4 r' A/ Y$ p! |% p+ J
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    2 Z9 q9 F) E/ t9 R
  28.                                          最高字节为 base( bit 24~31 )$ g" p  L/ m( O2 g$ t/ _
  29.                                          # Q: n9 o9 a, L  C. `" R
  30.                                          属性Attrib = 0x8F929 U  E  D, O: J
  31.                                          " G  e! L8 X% b
  32.                                              属性位Hibyte低四位为 ( F3 y3 l! y/ X' Q" R' \% x  V
  33.                                                  Limit( 16~19 )=F
    ( E8 Y! ~* s1 w2 A6 d2 E# F6 u
  34.                                              属性位Hibyte bit7 为粒度% U- x' k. R% s3 f2 B1 j
  35.                                                  (值1=4KB粒度)
    5 y& E4 K# M: W: E$ K! O
  36.                                                  8F & 0x80 = 1
    * n. l: G2 i% H2 r% M
  37.                                                  ) M" A, K/ p* T. g9 D8 d
  38.                                              属性位Lowbyte低四位为段类型,值=23 b) c. w4 O3 b! v5 \# S7 T( h
  39.                                                  表示为可读/写段2 r, b+ \+ u1 o4 }! x6 `3 h1 R5 k" z. U
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    ' a' m. [$ v7 l( _/ H
  41.                                                  描述符对地址转换是有效的。
    ' K" S, m; P0 X
  42.                                                  bit0=1表示为:
    0 K/ F. w' x: R5 D  P' @
  43.                                                  系统段描述符。而不是门描述符。
    - w" j/ S4 O) V$ j
  44.                                              3 f0 S% v& P2 Q  @
  45.                                          */
    ! b( ~# \0 J4 B. h. m7 q

  46. ' m$ _4 b  F4 v$ G) P8 `8 C+ [& r
  47. /****************************************
    & V/ l" H0 F1 U8 S, V) @: c  g
  48. *    GDTR寄存器, 48bit=6bytes            *+ i& V/ w. }& V' s/ s" j( |- D
  49. *    +-------------------------------+   *
    " ?/ r5 U6 M/ `# ?. y& Y9 ?
  50. *    |   32bit基地址       |16bit界限|   *
    3 v/ j* V' A! i4 R
  51. *    +-------------------------------+   *8 g- S* P9 s+ m  y7 Z0 Z8 I3 M  R
  52. ****************************************/5 L: N  W. p5 F6 u; g
  53. unsigned char GDT_Addr[6]={0};
    $ W. k. L3 b+ G0 i  l1 E& Q
  54. : Q2 Z1 f9 x$ W3 Y
  55. /****************- t) V+ z$ X9 {. |& P
  56. *    打开A20门    *$ K( s( c- `& a/ s7 l& A$ C; `
  57. ****************/7 K$ R4 ^' C) _) U8 r; w
  58. void openA20(void)
    ( P8 v& I. l9 G: t- l3 f' K
  59. {
    4 ?3 h, H& q+ j" O( |
  60.     asm{+ S0 v9 ~. w& `& W, u- @! |
  61.         pusha
    # B. ?" v6 @& K: G
  62.         in         al, 92H
    ; n; `( ]4 J. \* U
  63.         or         al, 0x020 g; F4 U3 O7 m6 W, y' J
  64.         out        0x92, al
    ; d' Q2 ^6 ?/ r) A: o
  65.         out        0xed, al
    / N( b1 @6 X+ c6 ~/ h, J4 W
  66.         popa
    ) Z) x: W+ w1 }" o. Q: t
  67.     }4 |% p: f# i; T9 `# Y4 e0 O9 r
  68. }
    7 ^! g" B9 u) P* m! {, v2 q5 Q+ s
  69. + l+ J9 v6 @5 J# D9 u8 X6 m, X
  70. /***********************************************
    ' }8 @/ A) j* |
  71. *    函数功能:进入DOS4G                       *1 A3 Z& C, n% g9 W! S
  72. *    ====================                      *
    ! v- e; o! W" M8 i( `
  73. *                                              *  P8 e9 ?8 x0 S; c" b, U
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *- z7 N2 h6 U- m
  75. *   如:                                       *
    : T3 V+ ]6 q& @1 s+ r
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *
    7 E8 u3 @0 e. {$ C
  77. *       表示为 2个GTD                          *& s' `& l( L5 [) N
  78. *                                              *: p& t  ?7 y5 R; b- t8 x* O1 f
  79. *    选择子为所在描述符内的字节偏移。          *
    " x. [# t% v7 t  _' G) J
  80. *                                              *
    - O, c& y, I2 u, K5 h% ~- E
  81. ***********************************************/
    ! U: D# a1 `/ ?. l
  82. void set4gb(void)! D: ?5 J7 u0 i6 e& s2 R( \
  83. {
    & {  F1 F$ A% L# G2 U& s/ j
  84.     asm{
    ) c$ q7 X. Z( w: G; d1 V1 ^
  85.         cli# V. ?; x; \; j0 S
  86.         /****************************************
    + y7 z+ W4 E; }: K4 q6 j" _* \
  87.         *    GDTR寄存器                          *
    6 K4 c1 v  T* @  h" h- {9 p
  88.         *    +-------------------------------+   *
    7 S; O' D, U- b) c
  89.         *    |   32bit基地址       |16bit界限|   *
      Y# T: F  u- i* b3 E7 t, @$ R8 r1 A
  90.         *    +-------------------------------+   *% v4 A2 W; T- A+ I; \7 `
  91.         *****************************************/
    7 _" y5 Y: }9 V3 J# Q7 G' m- F
  92.         /*********************/ f; a5 ]1 ~" p; k6 e
  93.         *        得出段界限       *
    ; I9 ^4 k2 o6 E0 V( {
  94.         *********************/
      r5 \, \5 p, n6 o' c- p3 t
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    ! R5 j$ [$ Z, m
  96.         /********************************************) d3 |: ]$ j  ^2 W& L+ b  B- P
  97.         *    计算GDT表的32位基地址,存入GDTR        *% R7 x( v: r: ]: k2 Z
  98.         ********************************************/  }" \5 I, f: S/ I8 y
  99.         mov        eax, ds  t4 i, U6 z! B' c& I: b
  100.         shl        eax, 4
    0 m. w  w4 o  Y) s9 l6 F: o  p& M1 l
  101.         xor        ebx, ebx$ |4 o4 |  L+ W. k7 |0 h; g
  102.         mov        bx, offset GDT_def5 l$ H2 [! ^7 V$ @/ s
  103.         add        eax, ebx
    5 y& {  z0 q* ]$ M, b. F- a
  104.         mov        dword ptr GDT_Addr[2], eax1 d/ u% n8 N3 e2 H
  105.         lgdt       fword ptr GDT_Addr' [* `( E% j5 [5 j* ?
  106.         /********************+ h6 {6 G: t* n* `/ q
  107.         *   选择子偏移      *
    & p9 {, P# W1 n' C
  108.         ********************/, ?% B4 k# B/ H$ n6 y$ d
  109.         mov        bx, 8
    . R9 x: `/ Y. g2 D
  110.         mov        eax, cr0, z& M' g3 q0 H" V; D. ]
  111.         or         al, 1  W4 d' E1 W0 ?( p8 j+ N
  112.         /**********************8 \, ]0 B( O! D2 o# Z
  113.         *     进入保护模式    *' I. J: V" L! _0 {. P" r0 x
  114.         **********************/
    ) _0 f/ r. G# B7 q
  115.         mov        cr0, eax
    * x! t; u, ?- q# X1 o
  116.         jmp        pMod1 u" J% t; [  i$ q. H& p
  117.     }
    9 M# G; b: }5 g2 j' w1 V5 K7 g- n$ G
  118. ' o$ i1 N* y- }% j! @' P
  119.     pMod: asm{5 c8 N2 I: k0 B+ R
  120.            /************************************************************  h, d3 i; R& Q5 M4 D% g7 _- o3 O6 [
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *
    6 k5 B$ n5 w: u
  122.            ************************************************************/
    $ Z- @0 A$ r+ A; ~- [
  123.         mov        fs, bx
    7 |5 {* Q* Q) p6 W
  124.         mov        gs, bx
    ! y0 t0 @; u# J% Q/ w8 e+ L
  125.         and        al, 0x0FE4 v% @7 O$ L( {
  126.         /******************
    7 k- L+ U" L, W; i
  127.         * 进入实模式      *
    % M, J5 D' S& H/ Q+ E
  128.         ******************/9 y: u3 k9 S. ]# f: _
  129.         mov        cr0, eax
    & r% S+ b) a' F; X6 p9 j! w0 [
  130.         jmp        rMod
    ; p5 N- j8 C# J
  131.        }
    ) Z9 V$ ^' P: _8 Z+ g
  132. * v: T' ~7 p5 v1 U; Z
  133.     rMod: asm{
    : Q& W$ E5 l$ R
  134.         /* ******************************************************************
    4 _3 z* v* g" D( y: ^+ k' ?6 a
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *: v) m5 B! T" ~! }0 z* Q: e5 v
  136.         ********************************************************************/
    9 f! }9 v( k" X7 Q) T7 g7 l) a$ s5 o+ n, X
  137.         mov        ax, 0
    3 l- e$ b' _- z8 A4 V) b
  138.         mov        fs, ax
    6 L, `) }# y' Q. j, k
  139.         mov        gs, ax
    . x: k5 `- d2 a! s6 e  c5 [/ ~
  140.         sti" c7 i, [( R$ Q  X
  141.     }
    9 Y# K: g- x! @( j  w' {: w* X& \
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    # }3 Z& D0 t3 }6 R. [! q4 s. M
  2. ;*    File: DOS4G.asm                                                *  |5 C5 m6 w, E& Z) ~- c- w" C- q  [1 q
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    / r9 Z" [6 P; l/ [& P6 u
  4. ;*                                                                   *: b% ?+ M/ H! V# D
  5. ;*    ========================Title===============================   *
    9 m( _- H9 [5 y% Z) A
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *( V  J6 J4 R8 y0 W; N
  7. ;*                                                                   *, j0 T7 G) M. ^6 o7 k1 o
  8. ;*   ===========================History==========================    *
    3 ~% b; c2 N/ O
  9. ;*    author: bini                                                   *
    5 M5 i( v* Z& F7 W& _7 g8 X% {
  10. ;*      date: 2008-10-08  Frist version.                             *
    7 z: p( c" V& `& e, u7 E
  11. ;********************************************************************/ 8 B& f; R+ k. o% w( z
  12. .model small
    3 j9 {& f" Y: n2 R) \+ \
  13. .586p* h5 I( s! R9 y  U5 L

  14. ! ?  U0 u  n: d$ z+ i6 S
  15. DSEG  SEGMENT   USE16                 ;16位数据段
    0 B4 m& x5 y+ x* V
  16. # t) q, Y% f" f% P+ S, |9 g
  17. DESC            STRUC
    - }  V! P1 Q- t, l
  18.         LimitL          DW      0 ;段界限(BIT0-15)
    . p/ W- j0 L4 }* Z1 R
  19.         BaseL           DW      0 ;段基地址(BIT0-15)4 r% g) R& k& L
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    / P; H5 N$ o: C& U' ^
  21.         Attributes      DB      0 ;段属性( a/ r7 |. Y$ @8 I* @$ H
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)
    . H/ @, B$ p& R- I
  23.         BaseH           DB      0 ;段基地址(BIT24-31)6 P* Y) H) M( M, M" A% y: E
  24. DESC            ENDS+ e8 `9 ^( O! ?" Q6 q. N+ G9 p

  25. 6 w) _0 V7 n9 z6 a
  26. PDesc           STRUC3 w; ~# q/ C9 y% R$ [' N. @8 F. H
  27.         Limit           DW      0 ;16位界限( b( R) w, P% S
  28.         Base            DD      0 ;32位基地址
    6 g* }' P7 N" U3 K& ?
  29. PDesc           ENDS
    ) Y8 k/ e/ {5 A; S! j
  30. 8 I( n  Y; G' K& ^
  31. GDT_def         Label   Fword' h- G- |$ n- b: ]* ?: D
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    , |7 c4 f$ R+ \1 L
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    ' O/ W0 A! _( c# R/ n5 _
  34. : _: p: Q3 n; p: j
  35. GDT_Addr        PDesc   <$-GDT_def-1, >% R/ i. Z& @) N* L
  36. DSEG            ENDS                          ;数据段定义结束
      P: D9 W! @& j0 L! S7 {
  37. # u$ U! ^2 J% Y
  38. CSEG            SEGMENT USE16                 ;16位代码段
    ! K2 P5 I; ~6 R3 w' J* U3 f! h
  39.                 ASSUME  CS:CSEG,DS:DSEG
    ; Y) r% I* E" r: f1 e
  40. .Startup0 m  j0 W$ u% j) M- @7 p5 ~
  41.         call      Set4gb
    7 h: Z+ Y- `0 m$ }; Q3 e( g
  42. ;+ r, `) f  L$ d4 i9 u8 g/ v
  43. ;       fs, gs即能访问4GB空间9 E) S; v. r" j1 C, C2 k
  44. ;       write your code in here.
    8 N5 B2 g% W5 L
  45. ;
    8 }6 `& m! S/ [/ f4 s
  46.         .exit3 K4 K7 G' D% y: W1 |& h
  47.         ' N+ P6 Q4 v( ]2 Z( E6 g0 Q" i9 X/ Q+ Z
  48. Set4gb          PROC      NEAR+ e! E5 O+ F& [) n
  49.         in        al, 92h% j% p* m( f+ O; R5 Z8 o
  50.         or        al, 002" {4 ~1 J" c: W% v  d
  51.         out       092h, al+ W( u2 M  \; S; Q4 v5 o  ^. h
  52.         out       0edh, al, R* l/ Z- B  n8 C! ^8 u
  53. " D8 q" x4 ~& n0 p
  54.         cli
    ! @# q8 ?# i3 I# c7 S% u

  55. 4 V: X9 {0 v: L) ?  V+ S1 H% U2 I$ J
  56. ;        mov      word ptr GDT_Addr, (2*8-1);
    ( c/ |: O+ G+ e# W9 P6 X
  57. 1 n3 P+ l4 }4 i$ l+ I0 `
  58.         mov       eax, ds4 t4 t! y7 q4 w  A
  59.         shl       eax, 4
    6 t. d7 s* a' f
  60.         xor       ebx, ebx
    5 w5 V6 x" u3 P: R! [  u
  61.         mov       bx, offset GDT_def* i& R# K2 G* Y  z; D7 ^4 d- ~  `" w
  62.         add       eax, ebx
    ' g) G- O3 d5 x' i$ V3 S& H# V
  63.         mov       dword ptr GDT_Addr.Base, eax
    1 X! a) f9 i( O. S
  64.         lgdt      fword ptr GDT_Addr; \( |& v% U; S

  65. * a, Q" o& q. n
  66.         mov       bx, 8
    5 v4 n' j  n- K; Y
  67.         mov       eax, cr0
    % `' c5 G3 i, y5 S+ L2 W8 v5 f
  68.         or        al, 1! _( _6 X1 f' [. n
  69.         mov       cr0, eax+ }1 o/ J9 F1 T

  70. ' f! {& M& Q8 q, L- _
  71.         jmp       pMod: i: h0 |. M6 ?+ a8 u" V  Q
  72.     pMod:
    9 \+ C$ Y! r& P, u  e# Y0 ^

  73. 9 g# B+ O$ l; w
  74.         mov       fs, bx
    ; A1 n. u8 X) c5 `+ S
  75.         mov       gs, bx
    2 G9 v" Y( f; j  ~. T+ `
  76.         and       al, 0FEh$ j1 [! E' m. G! A% e. ^
  77.         mov       cr0, eax
    / W6 Y3 v0 g# _
  78.         
      x9 v5 P& z( S) j6 @- J" T
  79.         jmp       rMod
    " Y' F  j+ B! S& f, i$ @8 h
  80.     rMod:* V& h7 Y8 \; C5 T7 L

  81. # `* N0 C" R" ]' q% n
  82.         mov       ax, 0* ^2 b* }& ?9 r1 D  o% o" R/ l
  83.         mov       fs, ax
    . R% I) H! q) k/ M
  84.         mov       gs, ax$ L/ b8 {9 r! O3 f2 X" ^
  85.         3 E* y! D+ |! T+ ?6 G# |8 s7 U
  86.         ; 在2M的位置测试写一下数据, N3 ^) Z$ O" i% c: C
  87.         mov       esi, 200000h
    , t% u4 w1 o8 S" N0 X7 D3 ?  _
  88.         mov       dword ptr fs:[esi], 055aa55aah$ Z! @1 q9 L" w: D; m# u
  89.         ; 用RU去看看200000h的位置是否是此数据....
    ! ^2 L. {3 y# [2 v

  90. $ E/ e+ v* W( X; {+ d# H
  91.         sti
    ' Z- O) W$ L1 q; J( v# Q
  92.         ret/ s- l# K" U6 }3 D8 z5 E
  93. Set4gb  ENDP
    , m4 b8 z, \1 i
  94.       
    ! e- j" {0 x6 X% R: a
  95. CSEG           ENDS                              ;代码段定义结束
    - R( ?: w% z' c4 |  S% n- R
  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选 803864 ?5 f, j/ d, x: R

  J5 P9 U1 K) q& N  B4 X3 eoption->compiler->code generation中的option选中, [X] compile via assembler
) Q6 W3 A. Q, ?9 `
" n+ C" u6 l8 u- V: g[ 本帖最后由 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;
, B9 c3 Q4 d7 r1 P* x: YData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
% k( X. ?. s0 J7 z( r: B
- y9 g% X7 w1 }9 r9 ]# k" u, lGDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
0 o$ K- Y; y- d* a- h9 O# @ 替换如下,  o4 U- Z9 b8 ]; x8 Q0 x
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
: e. L7 h% f7 IData_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
% q) W& E% B- a
9 J7 [( L" i$ J  f6 sGDT_Addr        PDesc   <$-GDT_def-1, >) E5 b3 U9 J# N$ g3 L
这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表
6 h+ v4 L& x& P( Q6 o& foption->compiler->advanced code generation中的instruction set选 803869 ]4 F$ ?$ G# j$ L2 L

; Q& i% W9 U* uoption->compiler->code generation中的option选中, [X] compile via assembler

- W  c) l3 a* ^( d# S1 \1 \   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表
; r& z. L, U. O/ \/ \. G
: N8 T* K1 \0 s* V2 L& g8 p. _   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

% n3 n0 ~8 g$ `; Y' M
' ^5 _! w  M! c+ B& C我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-21 15:31 , Processed in 0.062944 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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