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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
4 S6 Z+ a% U  C9 a/ N7 W: M/ Z5 t
% u& y! S: `$ Z7 K这是C的
  1. /********************************************************************$ N" r5 w/ t* d! B# [
  2. *    File: DOS4G.H                                                  *( M8 F9 e& ?. X$ Y
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *9 E, D& U7 F+ ?1 K6 H
  4. *                                                                   *
    : b: ^* H) }0 C& @
  5. *    ========================Title===============================   *
    # [  v( M7 U; B8 n% {
  6. *        这个函数是让系统进入DOS 4G模式                             *) K/ l7 ?% h: U/ A- ^$ Q. V
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *
    7 L1 |/ k: ~, \
  8. *                                                                   *
    / Z8 Y; U5 L/ L" Y6 m7 C
  9. *       使用: openA20(); set4gb();                                  *
    - w2 V9 F. H- u* `6 h+ X# @
  10. *                                                                   *
    6 o! d+ Z: u2 i) V  m& r
  11. *   ===========================History==========================    *$ V. P/ k/ I; ^
  12. *    author: bini                                                   *
    9 s# i3 l" a/ c9 I5 e3 x
  13. *      date: 2004-11-30  Frist version.                             */ u; G  J& E% V1 Z) }( M3 t
  14. ********************************************************************/& [' \+ w6 _1 K
  15. % s1 [/ ~1 S; Q% z; `( }2 U
  16. #include <conio.h>
    & x" k. k, }; S& k
  17. #pragma inline8 c1 S  I( s5 p( G, l( A0 c
  18. 0 r7 E3 Y0 N& T* R  Z0 S! u( R
  19. /***********************************************" T2 O5 K( F5 a( `! E
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    2 e( U( @* |( k
  21. *    第二个为一个数据段,没有代码段。           *$ t0 Y) `9 N% j) e  e
  22. ***********************************************/& m1 f8 Q) d  {% H! f2 ~4 g
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/+ \4 n0 }3 e3 `# T+ [( O& M
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, " z5 e. M- l) K( C
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF ; Q/ `, A7 T3 p/ b! _# ~/ M
  26.                                       */" w8 W8 t; x# w
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    8 h8 ?8 \% v& j9 S+ q
  28.                                          最高字节为 base( bit 24~31 )
    3 R$ d$ p+ }3 h3 z# T% L0 L  S
  29.                                          
    ( T7 A% X& P3 W; J! \
  30.                                          属性Attrib = 0x8F92
    $ T% D# s) I* X: H
  31.                                          
    . Z+ I* n$ W. j
  32.                                              属性位Hibyte低四位为 ) ?& d7 R# x9 [0 z/ j" a3 t
  33.                                                  Limit( 16~19 )=F4 Q! `" E8 x+ f+ Y. q4 b6 k
  34.                                              属性位Hibyte bit7 为粒度  `% @6 V/ c, a
  35.                                                  (值1=4KB粒度)/ i/ ?1 f1 [9 `' I4 K
  36.                                                  8F & 0x80 = 17 D2 S/ c( Q# {
  37.                                                  # B' s$ L; ~& J
  38.                                              属性位Lowbyte低四位为段类型,值=2
    ( X  x) P0 F8 a1 z% A+ Z) c
  39.                                                  表示为可读/写段" O; q6 ~/ d, }  q  Z& H
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    0 P, q) A- C+ \5 |* I* N0 C4 ^
  41.                                                  描述符对地址转换是有效的。- t6 N7 i+ y9 u, T, R
  42.                                                  bit0=1表示为:
    0 j+ I; P" F1 }6 ], Y2 [) n7 x6 f
  43.                                                  系统段描述符。而不是门描述符。7 A( c" v4 N& o$ G
  44.                                              * \: O) o' l4 L
  45.                                          */
    ; b  `$ k/ k6 d% [6 `- r4 P

  46. ' e1 m/ S  j+ X! D8 c9 l7 @  W
  47. /****************************************
    0 A6 U; p9 j( a  w2 d( S
  48. *    GDTR寄存器, 48bit=6bytes            *# r/ }0 \( u# }2 h  |* w
  49. *    +-------------------------------+   *
      D9 T* P* O8 D; Z  W2 \# m
  50. *    |   32bit基地址       |16bit界限|   *
    2 k. A* b- G: s0 x7 _$ N1 z
  51. *    +-------------------------------+   *
    " m1 _8 f% a( a' ^8 L! O8 I
  52. ****************************************/  e6 A. t3 x& M6 e
  53. unsigned char GDT_Addr[6]={0};: o, I( e% `' v% A" B- o. k  I
  54. 3 Q% y: G5 |% p$ g
  55. /****************
    : Y$ x, Y0 O! v! {. y# l
  56. *    打开A20门    *
    ' F" T' I' c5 T
  57. ****************/5 j* o5 U, u/ T. f- ?$ `! h* @0 W
  58. void openA20(void)
    9 }2 D! S2 k$ L4 d% |
  59. {# I, o4 C3 J* S6 p7 d
  60.     asm{
    & g( o; K* `9 H2 H9 V# |% n
  61.         pusha
    : i1 F4 k2 n6 O, D1 F0 `
  62.         in         al, 92H
    0 H1 J8 o3 N# [  b
  63.         or         al, 0x02% [' F( e  X8 m! ]  S0 F
  64.         out        0x92, al
    # z2 m) F) [$ B  J  V
  65.         out        0xed, al
    + [+ |, V. u' n# w  ?  ]/ N; m
  66.         popa
    ( i" E+ a: Z8 S# X5 R# j
  67.     }
    7 v+ V1 D7 x* o5 ^
  68. }
    % `: p4 ~' l! y1 I' J! ?9 ?7 B
  69. / j  t) j3 q* `" C  F0 N
  70. /***********************************************% K7 _1 d* S" x5 F' a
  71. *    函数功能:进入DOS4G                       *" O1 F  {2 B5 w+ N' t2 ~4 H7 e
  72. *    ====================                      *& m$ N- M; [) Z/ ?) J' O
  73. *                                              *
    2 [1 |3 S, K' f; [7 |
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *
    ( L9 F8 z0 a1 C/ _. V4 r' U' W! |3 r2 ^; V
  75. *   如:                                       *
    4 K$ @  w7 V8 t! K" P- }
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *
    8 o; ^" b7 q+ }" l6 c; x
  77. *       表示为 2个GTD                          *9 d3 S4 I; N5 n5 ~1 F: w( z
  78. *                                              *
    0 x8 h/ d, B, M' G9 Z- L
  79. *    选择子为所在描述符内的字节偏移。          *2 ?1 K/ x% n( m* U9 b
  80. *                                              *. k, k3 ?4 K8 }3 N1 k; K2 c3 Y
  81. ***********************************************/# ]* ~3 L. G6 k5 P5 {; U
  82. void set4gb(void)4 H3 @! O  @) t4 a
  83. {
    6 o- c: x( _+ U+ m4 P& b
  84.     asm{; T4 t! {* Y! T4 Q( D5 T! g) p
  85.         cli
    + m, s. S, y* q% c  |6 ]& t& ]! c+ L
  86.         /****************************************4 l( A0 L$ V6 C  U
  87.         *    GDTR寄存器                          *
    $ u5 i. \" C6 z, X& s) Z4 V
  88.         *    +-------------------------------+   *0 D4 G* B, e7 C& q. I
  89.         *    |   32bit基地址       |16bit界限|   *
    - Z- h4 z* K6 ]# ?3 g' I4 ]
  90.         *    +-------------------------------+   *! }: P* y' p& C' N1 {+ g* k9 `
  91.         *****************************************/5 A9 U$ ~) X8 Z7 l1 w4 Z5 s# F# `7 f
  92.         /*********************
    * k% n. M. n* s/ `# }
  93.         *        得出段界限       *
    3 I) Q0 i" T  Q; |. E
  94.         *********************/
    ' {2 y, h, g# c6 f
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    6 d2 t, Z5 @+ F4 B( G. P
  96.         /********************************************
    ; L% F+ U* m% N% G# p
  97.         *    计算GDT表的32位基地址,存入GDTR        *
    - I* ~. E0 c$ U/ z1 v4 Q. p, j
  98.         ********************************************/
    ) ]! o( b3 a; J5 [
  99.         mov        eax, ds
    # j5 z  ^; M; ?5 D0 \0 b
  100.         shl        eax, 4
    4 a% n  L( c/ l8 [
  101.         xor        ebx, ebx
    : H- \  D/ x; A/ z
  102.         mov        bx, offset GDT_def
    : h/ j7 I" r; v; Y. a
  103.         add        eax, ebx* q# A) z' c& M# r/ \3 i! h
  104.         mov        dword ptr GDT_Addr[2], eax
    , Z2 R1 S" Z7 g
  105.         lgdt       fword ptr GDT_Addr9 D! \" F0 B6 C' b+ |) b
  106.         /********************4 V; C+ }& I: c; n4 S. Z8 k; ~0 `
  107.         *   选择子偏移      *, u$ E  `0 f. o" ~& h
  108.         ********************/4 U8 B  X4 p7 f  r! }5 s" ^8 {' z
  109.         mov        bx, 8( M  y7 z, Z6 ]/ `( T7 z
  110.         mov        eax, cr03 C. z' K. Y, d7 ]; T
  111.         or         al, 1
    " V3 G4 R, O3 U: S9 G6 \# p
  112.         /**********************$ i$ s3 i/ E0 C  h) r. x2 L0 R6 B
  113.         *     进入保护模式    *
    0 f" Q* t* S1 V) t0 \2 Q6 H
  114.         **********************/$ [/ N% [, \9 U7 J
  115.         mov        cr0, eax
    / D. K' u' g0 m4 V4 q
  116.         jmp        pMod" J& q9 f$ s  H# i
  117.     }
    8 ~& e8 W" S! R& W; I

  118. & M9 s8 ~( f7 v# o
  119.     pMod: asm{# ]" i7 Y) ^$ g$ n7 Y6 A
  120.            /************************************************************
    - V6 A! s9 H! J' L1 @
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *4 q( `( k" O# N: Z' C5 F# _
  122.            ************************************************************/+ n! h' x( B4 w" p# f
  123.         mov        fs, bx
    ; k- @& Q% E! M3 ?; j+ p# r3 o2 B
  124.         mov        gs, bx
    & w% @& O0 n5 ]% V
  125.         and        al, 0x0FE
    7 ~4 `9 l7 _4 U7 o+ P" z6 ~
  126.         /******************% ^6 Z. H3 @* A+ m
  127.         * 进入实模式      *& \( d# I: ~8 Y; z" H6 X
  128.         ******************/2 p  [2 Z( U2 I2 \
  129.         mov        cr0, eax
    + b! t0 b0 h9 a4 d, D
  130.         jmp        rMod
    # R4 Y* r1 }( d
  131.        }$ I# z! T6 m1 w7 ]
  132. ( ?" ~* }" L5 m( X% T+ Z5 ~2 Y# X
  133.     rMod: asm{
    3 w- P, A" ~' v) ]0 T
  134.         /* ******************************************************************
    . Z; B; Y2 N2 K% k
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    7 @+ M7 J9 L' O6 u, M0 ~
  136.         ********************************************************************/
    / z9 G# D0 O1 I; s) c2 e7 Z
  137.         mov        ax, 0! T1 b' n$ @' Y/ r3 F8 u7 @1 b; k
  138.         mov        fs, ax
    5 b! ?) G- n, I. H" H% e# G- N
  139.         mov        gs, ax
    . q1 U3 z; c& z1 t7 C, N
  140.         sti0 p0 O4 q7 R* x7 t5 {1 L+ N
  141.     }
    3 j/ \! x; C% i& h* ^+ ~: e- l
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    , N% P) X+ ~3 I
  2. ;*    File: DOS4G.asm                                                *
    : a3 l5 R7 n7 X" g0 U; j7 `
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *4 t2 a. C% d$ N
  4. ;*                                                                   *
    0 |, ^3 O. W  y
  5. ;*    ========================Title===============================   *5 y( }2 ^- j4 v4 v
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *: u5 L  I6 z4 ]$ K9 v/ L8 M2 Z
  7. ;*                                                                   *
    8 P% e+ ?8 f; t: Z8 P1 r
  8. ;*   ===========================History==========================    *
    ( |1 Y" _6 ~0 h5 X2 R, \" B
  9. ;*    author: bini                                                   */ |# x$ \- B2 U
  10. ;*      date: 2008-10-08  Frist version.                             *
    8 p0 H/ `/ @6 ~% E
  11. ;********************************************************************/
    , }* s6 U# n2 |0 w/ T' y$ N
  12. .model small
    ; K6 w7 x# S7 v! _) u
  13. .586p
    9 r2 [6 ^4 ]! _, \/ L

  14. ' ?9 G* \2 U# g/ s* @& k" _
  15. DSEG  SEGMENT   USE16                 ;16位数据段9 j/ w4 ?3 K4 a

  16. - m1 \5 P8 X- a" w: p
  17. DESC            STRUC
    % j6 Q% r4 ^. l! A) W7 Q9 r
  18.         LimitL          DW      0 ;段界限(BIT0-15)
    ) O' {, o' }% [3 ^3 M' a  p
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    ; j$ ~, N( y- L+ ]2 a
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    4 r2 S. v$ q5 B& u- _* [: n
  21.         Attributes      DB      0 ;段属性! [$ P# f. i- E2 _4 J6 ~& |
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位), _" Z) P# ], m
  23.         BaseH           DB      0 ;段基地址(BIT24-31)3 E& r3 u+ [9 T  t
  24. DESC            ENDS7 l8 o0 V) n. k) N# _# n

  25. : I5 R+ m2 v3 O* A9 M
  26. PDesc           STRUC1 |: A+ I0 q. |$ S
  27.         Limit           DW      0 ;16位界限% ~0 n% s( m2 a4 P" C/ ^
  28.         Base            DD      0 ;32位基地址
    ' p0 p+ P  {9 S2 {
  29. PDesc           ENDS  u2 }1 E/ h! W# z3 D

  30. 9 q% `- Z6 a0 u; f8 B
  31. GDT_def         Label   Fword
    $ ^( ?: e+ c( A6 N' f+ h. `
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    5 C$ \2 U5 W6 I; K7 A
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>8 w, f  u3 t2 K! M0 i

  34. $ `" e0 K' @) _) w
  35. GDT_Addr        PDesc   <$-GDT_def-1, >
    - h) J! M! N2 i$ V- r, o
  36. DSEG            ENDS                          ;数据段定义结束
    7 p  {9 V- \( l" i6 _

  37. 8 I5 ]5 W5 W/ P! e$ p# f5 I; F
  38. CSEG            SEGMENT USE16                 ;16位代码段- E+ E: Q4 i  f- b) ^
  39.                 ASSUME  CS:CSEG,DS:DSEG
    5 x% q+ u- Y% \2 n# u; e& ?
  40. .Startup- T, b' S# B$ Z) }$ T9 |) H4 M. V
  41.         call      Set4gb( N" j8 Z3 |* _( I2 P) l
  42. ;
    . q) Q* N0 m% Q% b" F7 D
  43. ;       fs, gs即能访问4GB空间9 Q3 t3 T3 V' J; \  `; Y
  44. ;       write your code in here.& ~8 }( S0 b+ n) o- _+ m( r: e
  45. ;
    1 Z( X! z) @3 K: z1 }
  46.         .exit
    ( n' e* o  r6 H' B( Y! P, P
  47.         
    ) ]. p% r2 \1 n3 n
  48. Set4gb          PROC      NEAR
    0 m1 x3 Y8 f$ F6 z! A1 a
  49.         in        al, 92h0 w' h* a2 L/ N' q# I3 W# [
  50.         or        al, 002) u" h. a. W- ~, z; X4 G. g! M  S
  51.         out       092h, al) |. H, U6 H0 j/ ^9 C& e! p
  52.         out       0edh, al
    6 ^& x( ^8 k6 _: ^4 x
  53. 7 n! o  z2 j: p* j& E
  54.         cli) `$ \6 ?4 W( \
  55. 6 {: X1 p& A7 m; d: K
  56. ;        mov      word ptr GDT_Addr, (2*8-1);
    $ @/ E8 d6 G5 D& e! A* |: k7 u

  57.   J5 P6 Q* j$ O3 ?4 e& C
  58.         mov       eax, ds! P4 t# G. z5 p  z4 C3 P
  59.         shl       eax, 4
    $ v  b7 p& r- L; o( f" L5 c( \
  60.         xor       ebx, ebx$ N* W' E( h- V7 O& n) v
  61.         mov       bx, offset GDT_def( Q1 Y( ~5 m& {- Y1 s
  62.         add       eax, ebx+ f4 _9 Y- K- `! R
  63.         mov       dword ptr GDT_Addr.Base, eax
    ! n) E8 T0 e! \+ H' q9 U5 W
  64.         lgdt      fword ptr GDT_Addr- T0 J3 t9 Q8 U& ~0 L9 S
  65. / ?/ O& Q5 q8 V" m. a
  66.         mov       bx, 8* o/ G2 \% L3 T  F/ N, C
  67.         mov       eax, cr04 A' i% _. @5 m7 B, w) X' g, u
  68.         or        al, 1
    3 o$ x' U/ p4 ^+ t6 U" x! j3 F* }) ]
  69.         mov       cr0, eax- ]- T' T) {7 t7 s
  70. . \; {: G( j# D4 b, c! W1 w( K2 ^
  71.         jmp       pMod  t& b, d' E# @6 x4 d
  72.     pMod:0 G; m# @4 F# T, s. K
  73. 3 ^! {; D, ?9 A0 b
  74.         mov       fs, bx; f: m/ z, [5 ~4 h% j. t# c
  75.         mov       gs, bx1 `# q( l+ F) J& T, I! }
  76.         and       al, 0FEh
    / g: t3 H5 d6 Y: l0 `1 R
  77.         mov       cr0, eax
    # {. @) j# I$ i1 Y
  78.         
    7 d2 e* q6 k* q% W" r0 R
  79.         jmp       rMod& \, p1 N% C% w- D6 z4 W- X( ~
  80.     rMod:4 I' J, q( |/ n9 s: z

  81. ; m' T# ]* W0 R2 |3 O5 N$ `
  82.         mov       ax, 0
    2 k, e3 y7 ]2 A1 _# K
  83.         mov       fs, ax( m: ~, Q0 {/ _' v: U
  84.         mov       gs, ax+ w, r  w: \( I
  85.         1 j( {; N7 w0 j! k/ V0 v, Q+ r  b
  86.         ; 在2M的位置测试写一下数据/ u; N3 u; X2 j0 V
  87.         mov       esi, 200000h# Y7 d/ p( o: N1 z
  88.         mov       dword ptr fs:[esi], 055aa55aah
    $ O' c, j$ x: T
  89.         ; 用RU去看看200000h的位置是否是此数据....$ j3 X! I$ }% v, A8 y9 I* b  R& O

  90. ( _, H& D$ S5 X* ]3 N
  91.         sti
    ! Z8 k" z8 W! ~4 ?) S2 j
  92.         ret
    ( v" ~; d3 k+ R# T
  93. Set4gb  ENDP
    + `/ Z) N2 O# E4 l. {: t+ V$ m
  94.        ) q9 Z1 E3 w' s! f7 G- J6 U% l  ]
  95. CSEG           ENDS                              ;代码段定义结束
    , M+ v* h. O4 o$ @  \
  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选 803869 ^9 ~6 t' w$ ?, c
9 E3 P$ O' u, o/ ?8 D5 P
option->compiler->code generation中的option选中, [X] compile via assembler. M+ J. r* z) B
$ ^) s! @& B6 n% e
[ 本帖最后由 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;# P' u+ r; V* \/ ?, T- I# a
Data_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;( I' o) N% y1 F% [" y4 g3 P& X8 y1 s4 C

7 C: n9 }2 ]* u" PGDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
5 G5 R( z& }# q+ _3 L" E8 e 替换如下,$ Q, f; q2 ]. W% B
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>9 `* D6 R7 H* D) D$ k5 j, g$ Z
Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>: C4 {) W$ `$ s4 ~

  l6 @3 a/ x! J" @! }: w3 iGDT_Addr        PDesc   <$-GDT_def-1, >
& a7 t2 M0 k2 K/ q2 U这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表
8 w6 z: U, J) T( D$ J5 ^. ~6 ]6 Hoption->compiler->advanced code generation中的instruction set选 80386; z& J+ m% q( j* J/ N

, W, b# D8 x; ]option->compiler->code generation中的option选中, [X] compile via assembler

1 `4 H8 h1 L- w2 P  I   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表 ) s! B: y7 A5 W- v
1 b1 f* L9 u5 t) P" m+ B0 j! p
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...

* L4 k5 o( D; E( {4 e: W7 ~; a. F4 e+ O5 V% W7 _' X
我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-13 07:19 , Processed in 0.034021 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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