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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。' W. k3 M- T3 i; n) W

4 }$ e5 R4 T) M3 }4 f这是C的
  1. /********************************************************************
    & ?, R& D9 z7 I2 x
  2. *    File: DOS4G.H                                                  *8 R0 @! G% p/ s9 F- ]
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *3 b" z% k$ h+ m7 h
  4. *                                                                   *" S. w2 E" Z* b) K) S
  5. *    ========================Title===============================   *
    # d5 l2 B! o& M' s
  6. *        这个函数是让系统进入DOS 4G模式                             *) x  Z, e; P' T/ s1 ^' d0 i7 a
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *
    0 t7 s6 O0 L* k8 B$ z2 U, G, O
  8. *                                                                   *  u9 Y. Q. q' Q- t
  9. *       使用: openA20(); set4gb();                                  *9 j/ _$ d+ _9 @7 F. @) J9 ^
  10. *                                                                   *3 x4 p6 w- a1 `5 a$ y+ }
  11. *   ===========================History==========================    *" K6 E1 S& V, Y! [9 z2 D" j& x* p
  12. *    author: bini                                                   *
    & m2 I9 D9 I) U* |2 w" I
  13. *      date: 2004-11-30  Frist version.                             *! i2 r" [9 w; F
  14. ********************************************************************// E2 K; j2 o6 \6 m
  15. 6 J8 X. j3 T: x( c, {& C
  16. #include <conio.h>& P0 o- _6 k2 h9 u3 n( x" J9 V* P
  17. #pragma inline
    1 K6 H7 d' j* Q* }- r- J% q- |
  18. 6 Q9 i% D0 X/ ~
  19. /***********************************************  }. a) G" B5 y9 h/ I& l5 ^
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *( k" R- r  \! X! Y
  21. *    第二个为一个数据段,没有代码段。           *
    7 m- z% z2 f- l" F& b) k
  22. ***********************************************/
    - O9 u0 m1 }% a
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    8 R  M# Q0 Q# A5 i5 t% i+ O/ V6 W
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0, ! j; k" A1 C) L
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
    5 l- @8 L# ^, r7 y: j8 E
  26.                                       */
    8 F; W' C) u. Q, ^' _
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )# Y# O, s  F7 K) ]. D" c0 m
  28.                                          最高字节为 base( bit 24~31 )  i7 R* x. j1 z$ }9 H9 J
  29.                                          
    ; q# P- s/ X. q1 S
  30.                                          属性Attrib = 0x8F92
    " U' p, e! y7 e/ _# l: S
  31.                                          6 {$ B. J0 x+ A2 Z1 M3 ^9 m  y
  32.                                              属性位Hibyte低四位为
      R" Q& ?/ k6 L1 ?
  33.                                                  Limit( 16~19 )=F- c7 b- ^, ?: x+ L
  34.                                              属性位Hibyte bit7 为粒度
    ( g9 }5 s% b+ R1 h
  35.                                                  (值1=4KB粒度)
    0 L. U* {- b5 T! H2 {
  36.                                                  8F & 0x80 = 12 h3 J" h$ Q4 d+ j: Y, e: }! x
  37.                                                 
    7 p! S1 F4 Y: j4 U; o8 R
  38.                                              属性位Lowbyte低四位为段类型,值=2" R7 I7 S% O- H* }5 P
  39.                                                  表示为可读/写段
    9 V' `% ]# u8 O, N, r. L
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    2 T+ r, s1 }9 O( F$ u
  41.                                                  描述符对地址转换是有效的。
    3 r3 P/ Q, M9 W
  42.                                                  bit0=1表示为:& E  s8 q9 Z4 }! x) @; B
  43.                                                  系统段描述符。而不是门描述符。/ v5 \  e5 K( y! q. c# T# Z- j4 l
  44.                                              
    " O) O. D) y2 k: z
  45.                                          */" E& s; _0 p3 T, O& z' B
  46. / G4 L+ o/ Z2 e( j9 p5 B7 k* F$ \8 K
  47. /****************************************8 u* {/ `' s* y- [* I1 m: J
  48. *    GDTR寄存器, 48bit=6bytes            *
    0 D9 [% T' C: f' F9 R
  49. *    +-------------------------------+   *; C# y( }1 z# r1 ?0 |& _' ]1 a
  50. *    |   32bit基地址       |16bit界限|   *
    % y  ?; I$ w* n- @
  51. *    +-------------------------------+   *
    8 E0 e) G/ |7 R2 I$ Q4 m
  52. ****************************************/0 k0 w  D, f- f% w' v% p$ g
  53. unsigned char GDT_Addr[6]={0};( b' ?3 K: y$ p; k3 q( t8 X& ^6 B

  54. 2 P. U% t# G& ~  r
  55. /****************7 d& L* X) |: S6 H
  56. *    打开A20门    *# z/ m1 l- c7 p5 n
  57. ****************/
    , N6 P+ O  R! t
  58. void openA20(void)* I$ G2 J/ b7 w* N
  59. {
    : u, t8 o" g4 r# D6 y* C
  60.     asm{/ t5 b6 p$ h$ ]* h
  61.         pusha
    7 C+ h: q: y& {" o9 @9 [
  62.         in         al, 92H
    / ]1 J9 w8 p2 A* A
  63.         or         al, 0x02
    0 T0 A* z) U* e8 N3 `: B
  64.         out        0x92, al
    3 h1 x1 g. Z0 j9 e
  65.         out        0xed, al
    ) D! e$ z( w6 s& L, w
  66.         popa
    # A7 t" e) q/ l  F) ]
  67.     }. M' V3 h- i1 z5 l
  68. }: h7 ~( {! c8 x0 q3 L  v
  69. , ~8 _' j: a2 ]$ @. A1 ]
  70. /***********************************************
    ! ~1 ~, e0 w3 H! L  E! k5 O
  71. *    函数功能:进入DOS4G                       *: z- V( Y2 I" s8 \0 u
  72. *    ====================                      *
    , ~! X$ x9 T& s2 c
  73. *                                              *9 V- C, A+ {) h4 X
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *$ t) p2 U* e0 S" M$ O1 `7 E7 n
  75. *   如:                                       *
    9 R+ S1 T4 B% I: R+ \! V$ C4 j
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *' _9 x: X; k. C  ^) ^
  77. *       表示为 2个GTD                          *; Z8 Z$ w. s' P$ v3 N0 `* T' }
  78. *                                              *( K6 d7 Z! S" a' b; t4 n2 G: t
  79. *    选择子为所在描述符内的字节偏移。          */ Q6 B5 a  u# P# ^/ ^) k" J
  80. *                                              *! z7 F/ H9 K' x$ o# y0 Y/ m& l7 m8 q
  81. ***********************************************/
    * _% T+ M6 G: F2 G, z6 E
  82. void set4gb(void)/ p- p% X* ~1 W
  83. {& l3 V: @' {6 ~' F; ^5 [8 x
  84.     asm{& `: s1 v/ H- x$ P
  85.         cli/ D, O% k4 L& d+ b( y
  86.         /****************************************
    0 n  `: E/ X$ D, v6 ?
  87.         *    GDTR寄存器                          *1 ]5 ]/ S4 K1 H
  88.         *    +-------------------------------+   *- y' S* B% \4 d6 L, q( l9 ~
  89.         *    |   32bit基地址       |16bit界限|   *
    + T2 W/ A; E5 B2 c) b7 E
  90.         *    +-------------------------------+   ** ^* _5 I* r( g2 M& X
  91.         *****************************************/
    & e% \. U0 q7 ?3 k- u
  92.         /*********************, a, B- e( H# @% J6 s
  93.         *        得出段界限       *
    , o2 `  w6 r# |, B  ]% e: U
  94.         *********************/' t9 a# R0 H: n& p' W2 T
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    * \  J. [6 Z6 W' ~" N- z5 s, \
  96.         /********************************************( l6 t8 u+ ^% T- X+ V
  97.         *    计算GDT表的32位基地址,存入GDTR        *! }' f# ^8 \9 |% V# O
  98.         ********************************************/& Y. K1 Q7 N6 g
  99.         mov        eax, ds+ I" U$ ]4 V" }. Y
  100.         shl        eax, 4
    7 r0 t* ^5 A. u5 K- v6 }
  101.         xor        ebx, ebx+ Y3 e% s9 P% X; ^# J) Q
  102.         mov        bx, offset GDT_def
    + [0 `4 D5 f/ h8 v! m% }% I
  103.         add        eax, ebx+ B7 }# }( L& @: k7 \4 u1 b
  104.         mov        dword ptr GDT_Addr[2], eax
    0 V/ Z" r; D) r# j1 N* F/ P
  105.         lgdt       fword ptr GDT_Addr
    1 V* I3 R; _; j! B; ~# j+ G
  106.         /********************
    / M; J9 @1 W5 v7 d( ^% Y3 U/ M; O
  107.         *   选择子偏移      *& z& e( i- d# G. K
  108.         ********************/$ ~$ u& Y& i; i8 ~5 ]
  109.         mov        bx, 8* Q+ l) ?$ i" l& v* P
  110.         mov        eax, cr0
    : j3 A# O8 J6 ]% Y7 C1 w8 g( Y) D. ?: R
  111.         or         al, 19 j9 _" q# x, T: Q
  112.         /**********************
    & J4 B9 F. }1 v# ]2 X2 p1 @
  113.         *     进入保护模式    *
    ) \& q. i) F3 H! P( \6 |7 t
  114.         **********************/
    * b5 k- B: P7 d$ p- Z) g" V
  115.         mov        cr0, eax9 f+ e: s& m" p0 {! W
  116.         jmp        pMod6 ~( e, I7 ?8 ]4 A, s
  117.     }. r' a: P3 f2 {8 }# M" w

  118. 7 I. {% R) e) p; l% b0 w' k/ [: M1 P! Q
  119.     pMod: asm{% N/ d9 F& D& O3 c' l7 I+ s) i
  120.            /************************************************************, ~/ l3 e$ k6 D( Z
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *
    ) o+ T$ m! c+ j. r, }8 T- h
  122.            ************************************************************/
    2 V3 O2 ]& ]. J1 g% t8 u& s% R& m8 p
  123.         mov        fs, bx: j& n0 o- ~% ]1 c
  124.         mov        gs, bx) x* k8 t: c/ D) W2 V3 X
  125.         and        al, 0x0FE
    * E* X- @/ v5 c& m
  126.         /******************0 M' `4 H- q- O! L
  127.         * 进入实模式      *
    $ @+ p8 w$ m% w0 J% V3 x8 [
  128.         ******************/
    7 b/ M- v" d0 q/ ]2 ]2 N3 h
  129.         mov        cr0, eax& I' u& V) E3 l
  130.         jmp        rMod5 \4 I' H- C2 C! v$ I- C& w
  131.        }& ?, J  i; K$ y+ R6 K" p

  132. 7 ?8 N. q5 k0 i6 M
  133.     rMod: asm{" _& N" V% j9 D5 t( {  g
  134.         /* ******************************************************************
    ; Q8 d7 h) l4 Q" @/ W+ ^
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *9 H; v& h; G- j7 ~5 g: D7 h
  136.         ********************************************************************/
    ' v' f- C3 P. g
  137.         mov        ax, 0* U4 `  o4 q& q' i0 x/ H$ G, j, S3 m
  138.         mov        fs, ax/ m$ n# n1 m; B: m
  139.         mov        gs, ax0 D4 s  `3 O" R0 H7 n7 @, u
  140.         sti3 j5 r, T! Q( p$ _) N" }
  141.     }
    $ N5 D  E* d; c
  142. }
复制代码
这是asm的
  1. ;/********************************************************************% c/ o4 ~$ ?$ q( }+ a
  2. ;*    File: DOS4G.asm                                                *; o$ m; W$ n- f, h5 F
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    4 H) c' a7 T) @# t! P3 g  R
  4. ;*                                                                   *
    5 ?3 L( G) D' X& K9 R; E
  5. ;*    ========================Title===============================   *- w1 U' p* c. T/ Z* E8 J$ e; F$ q2 y
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *
    7 e$ w% F* ]' l; I
  7. ;*                                                                   *2 \% p: |" l; Z
  8. ;*   ===========================History==========================    *
    1 ^4 x7 N# `. j3 S: A/ k; k  L
  9. ;*    author: bini                                                   *
    ) @' g2 D( L. A. @& Z* t5 P
  10. ;*      date: 2008-10-08  Frist version.                             *
      G; p, ~( ~8 @0 k* ^  ^
  11. ;********************************************************************/
    6 T- h9 x3 {, e7 S( H0 G
  12. .model small
    0 G8 u; `! {% n) ^& l$ s7 A, n; N# ]
  13. .586p. g  T5 T3 Q* d6 T/ v3 ?- W1 @- d5 C

  14. 0 e  g1 y% v0 ?- K5 Q6 I8 h; D) D
  15. DSEG  SEGMENT   USE16                 ;16位数据段3 o, y+ S" M# }: E# S
  16. / ~9 D6 @9 n9 N) y
  17. DESC            STRUC
    + r# f8 A7 U4 A3 T6 A% {
  18.         LimitL          DW      0 ;段界限(BIT0-15)
    8 E( ~7 A* \( B
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    ! y4 v+ H9 A$ V$ I. z, X0 ~) d
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    ' n+ j3 _& b" z5 o! r8 J$ |+ r, J
  21.         Attributes      DB      0 ;段属性6 p1 L) N" r, n2 p6 R0 J
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)
    , H* e! M# \2 C7 k/ n! ~" Z1 F
  23.         BaseH           DB      0 ;段基地址(BIT24-31): Z" {9 x$ s4 Y
  24. DESC            ENDS7 `# x- m8 W9 c0 W

  25. ; y4 M+ `! v- W8 _! @) V
  26. PDesc           STRUC8 T4 `% f( G  O5 g  e
  27.         Limit           DW      0 ;16位界限9 _! b6 m. y% g
  28.         Base            DD      0 ;32位基地址
    5 F& l. o0 i2 g/ f$ Q
  29. PDesc           ENDS7 O) X4 F) v8 r8 v8 a

  30. 6 U3 u0 e$ ?# J" z
  31. GDT_def         Label   Fword
    - b+ L1 J& \) D4 F* m6 P1 P
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>% }7 z  o; w$ y# t* g/ l5 n
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    ) L6 L$ H3 D% J; a& s

  34. $ D+ g' f/ y7 v3 k; T
  35. GDT_Addr        PDesc   <$-GDT_def-1, >/ X$ P4 L# m: X- }: E) E- ^" a
  36. DSEG            ENDS                          ;数据段定义结束9 O; \2 J7 C# N, m  w+ v6 C7 P

  37. ) p4 C; S4 T% T; Z4 ^
  38. CSEG            SEGMENT USE16                 ;16位代码段
    * Q1 O4 |7 ]& S
  39.                 ASSUME  CS:CSEG,DS:DSEG, |0 ^9 @( D3 I7 @! F( O8 P! H
  40. .Startup  |, l+ X" d) v
  41.         call      Set4gb: A$ ]9 U5 g: b! V8 V
  42. ;
    ) {. }; r6 I5 e
  43. ;       fs, gs即能访问4GB空间
    , W! U6 z9 u# e: o, F# t
  44. ;       write your code in here.
    / C* F) |' r7 h9 x# k
  45. ;
    3 r4 U7 v; Q1 z$ w) a6 c
  46.         .exit
    9 N8 Y( {. T4 I7 Q! L: c! ~
  47.         2 G6 I! A: y0 U
  48. Set4gb          PROC      NEAR- M8 ?/ ?! X1 a+ R; z2 ^' o2 V
  49.         in        al, 92h* `& |, U& Q9 J" z! ~
  50.         or        al, 002
    ! m- \' Q& @# q8 ^* Q2 N4 c( J6 Z
  51.         out       092h, al
    ; a9 D1 m) I7 ]0 O, V& k5 W
  52.         out       0edh, al! y* f1 \# j4 g

  53. # {- [+ o7 d, D; y. `
  54.         cli
    $ q# v7 a1 h. u* j' _1 ^& v7 D
  55. 7 D% c2 P: e8 @  v7 c- c- `+ t7 o
  56. ;        mov      word ptr GDT_Addr, (2*8-1);
    # I& @  t# n9 Y# y0 K
  57. ( j+ P* D3 k( o7 N8 }
  58.         mov       eax, ds
    : F( u. {: `6 O0 ]
  59.         shl       eax, 4
    ; f' z# F8 H3 q' G  @
  60.         xor       ebx, ebx5 K; k5 E. d1 k. J: Q) d. r, \
  61.         mov       bx, offset GDT_def
    0 b9 @5 A3 |$ K% E  w5 U6 z
  62.         add       eax, ebx
    . \2 c9 c* M- \$ Z1 v$ n
  63.         mov       dword ptr GDT_Addr.Base, eax
    $ R5 l5 ?$ j+ |& W# s% e/ k
  64.         lgdt      fword ptr GDT_Addr
    4 V$ Y1 n/ o0 f4 [$ }  G1 [
  65. ; h) }+ I9 i% d- I! f# b, D
  66.         mov       bx, 8- C( k) ]0 G3 J) v8 K$ X$ L
  67.         mov       eax, cr0% d* G: T( |" X* \! g
  68.         or        al, 1
    % G6 A) S" L) Y# b% `& @) k
  69.         mov       cr0, eax# S0 y4 ?8 m4 y) r$ d
  70. 4 z( ~2 W/ ]0 u
  71.         jmp       pMod
    . Q3 W: c6 _1 @( y% y1 b& |8 r6 N. `
  72.     pMod:
    6 x; \5 v0 S  T* p0 Z6 p1 M1 [
  73. % c) d2 J2 r( G- J
  74.         mov       fs, bx
      b: x. p" w. J" D4 o. I) P
  75.         mov       gs, bx3 N8 s% f+ ~# [4 ?
  76.         and       al, 0FEh$ Z  ]- L9 u4 ?' m
  77.         mov       cr0, eax
    0 V/ T2 S+ @7 E9 A/ @' x, k: E9 F
  78.         . n; f# S0 ?9 J+ c) Q% O: M7 z
  79.         jmp       rMod9 K4 c; h. g) h4 A
  80.     rMod:
    % B/ y5 a! L, n4 T; f: j
  81. " y$ ?, b, K4 `/ m
  82.         mov       ax, 0
    8 W9 A2 }# y5 I' y
  83.         mov       fs, ax/ P( A# \& z+ D* Z4 S. b$ U# Q. j8 z6 [7 T
  84.         mov       gs, ax
    / [; \; a# Y4 e! k1 k2 ~7 ?& E
  85.         1 {  H2 i% N5 B' Y
  86.         ; 在2M的位置测试写一下数据; I' o' m6 N9 x) h/ x
  87.         mov       esi, 200000h
    ( l+ H$ ~3 C* `7 W- `
  88.         mov       dword ptr fs:[esi], 055aa55aah
      }" X9 y2 z+ \+ \% Z
  89.         ; 用RU去看看200000h的位置是否是此数据....$ l# U# b/ v9 N, _, S

  90. % n4 ^- t3 @* |1 i- ?% S
  91.         sti
    $ B4 p1 P, c7 t. x% M
  92.         ret
    5 i' e1 P! `: p+ j5 ~, o- \
  93. Set4gb  ENDP8 j" w. q2 Z$ b7 B
  94.       
    $ \3 Y7 o5 A! S2 f3 F+ U8 Z
  95. CSEG           ENDS                              ;代码段定义结束
    2 C$ g# A( @) I3 i/ T: C) p% S' 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选 80386# \! A* ]: `; {1 _; L6 c

$ K$ u0 e3 r7 moption->compiler->code generation中的option选中, [X] compile via assembler
+ z( L) E! z# d
: z- L. M& S1 b8 x+ w* x5 X% j[ 本帖最后由 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;4 e0 b7 c; I- N9 e+ ^# G. R
Data_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
8 P+ ~3 d! P' _& o- c( m$ A
8 n5 }) D, |4 O( d8 P" X/ ?GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
1 z  m2 n- ]2 K 替换如下,8 a0 Q, K3 ^, Q4 x3 O
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>* F: }9 ~1 a6 M+ Q: N
Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
7 f5 U; V9 V  ^+ Y, {+ E: R) |9 p6 t* c( l  G& w
GDT_Addr        PDesc   <$-GDT_def-1, >
! n& i0 h$ S2 \- D& H这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表 / i, Z, a% X# B$ F7 D7 @  @& X1 N
option->compiler->advanced code generation中的instruction set选 80386
( w4 S8 y5 {8 X5 N0 B+ x+ b0 \$ C) N; r" M2 m6 c" B
option->compiler->code generation中的option选中, [X] compile via assembler
! G2 _4 I7 ^2 ]) A9 f$ ~- u
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表 ( n# t+ L: Z) u
! x2 |- s# T/ Z
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...
5 i1 ]* m$ J9 j0 M" B7 f  T! _

+ s5 m% t" O- t- R% r我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-25 00:01 , Processed in 0.080866 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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