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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
+ `' }" C, d. k6 f1 E! L+ P2 D1 G4 f% p
这是C的
  1. /********************************************************************
      M8 e; u7 o9 l2 t& r% n7 ?7 [
  2. *    File: DOS4G.H                                                  *7 `1 p8 ^! a* C3 S
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    / M" [) T  `4 U4 b
  4. *                                                                   *) E- Y, q8 P8 a" v5 B7 W4 y3 f; e
  5. *    ========================Title===============================   *
    # F: |9 f) u; N8 g/ f. i. W4 B
  6. *        这个函数是让系统进入DOS 4G模式                             *6 }& Z; y7 r* i5 c- h
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                ** `; L$ A' S8 {" H/ ?  D
  8. *                                                                   *
    8 K3 N% [0 r7 `
  9. *       使用: openA20(); set4gb();                                  *
    + _0 a1 k' J0 r" }) Q
  10. *                                                                   *  G: B* \/ d5 C) n( D, v. T
  11. *   ===========================History==========================    *
    & B3 {- s6 I4 q. g
  12. *    author: bini                                                   *
    ! L# j- @" h3 ^* ?! a# _
  13. *      date: 2004-11-30  Frist version.                             *% ?+ o' `- J4 Q, k
  14. ********************************************************************/1 O+ b! d+ Q; T' P% A: S, a
  15. & E8 q7 _5 V+ @' E$ Q! ?+ ^* ]1 {
  16. #include <conio.h>
    8 I* G" W2 `, k" z
  17. #pragma inline
    % T; O. j5 A* L4 _

  18. " C$ s; A8 `- ]+ z* I7 c9 x
  19. /***********************************************" S' L3 e+ |9 v$ l. ^! G  z
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    - f; D& F7 |; S& \
  21. *    第二个为一个数据段,没有代码段。           *
    ; o; V" v. b; ^/ c
  22. ***********************************************/
    0 [' ^& V5 l/ N0 ^# r2 d
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    2 d$ G9 M- h! K+ C
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0,
    8 v, A* E9 C1 }5 F; [
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
    % W+ i# {7 i9 a) {, B7 U4 r* i( }8 k
  26.                                       */
    " ~2 H/ Z, u. Q* H/ G
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )/ M1 x, l' j7 z0 W+ K& }
  28.                                          最高字节为 base( bit 24~31 )/ L+ j" \& _' r- P' l
  29.                                          1 J  H2 F& F/ O& i# u( u$ v
  30.                                          属性Attrib = 0x8F92# s2 {/ x) e% h2 [- _$ S! J# p
  31.                                          ( q4 H( x+ g7 W
  32.                                              属性位Hibyte低四位为 7 G8 Y" V' U8 B
  33.                                                  Limit( 16~19 )=F
    * j2 T+ z4 ^9 Q) B9 W4 P# w% E
  34.                                              属性位Hibyte bit7 为粒度
    $ r( \" b, K$ q! I; h& b
  35.                                                  (值1=4KB粒度)
    ; w' ~# _( u0 |6 |, E
  36.                                                  8F & 0x80 = 1: S. M9 O' l& }3 a& n
  37.                                                 
    % ?# a- |3 N( {5 o+ H$ M
  38.                                              属性位Lowbyte低四位为段类型,值=2
    % i- R+ C; b% S0 [) f. b
  39.                                                  表示为可读/写段% S2 ^0 l! G* v9 y4 `  c/ V/ N) _0 Q1 p
  40.                                              属性位Hibyte高四位=9,bit3=1表示:5 [& H9 ^* M+ U+ j- q3 b! D! `# {* y
  41.                                                  描述符对地址转换是有效的。
    5 i! s- @* Q5 J) c2 f# q7 R5 D
  42.                                                  bit0=1表示为:
    : }! e, k- U  m. K! J: }- ?6 P
  43.                                                  系统段描述符。而不是门描述符。: \) u  W2 w, l& _
  44.                                              
    7 }/ I# `& b9 e7 E, V6 v: D+ p
  45.                                          */( ~: Y* W% Y/ U4 l
  46. 6 @8 o' {. ^* Y* N
  47. /****************************************
    # e' u, b; A" v5 Z; x2 j. X
  48. *    GDTR寄存器, 48bit=6bytes            *
    + E, O4 {( `# `' d2 o' S. N  y# o
  49. *    +-------------------------------+   *  f  w& r% `# F5 O5 v5 H
  50. *    |   32bit基地址       |16bit界限|   *- d6 `5 t- @, {/ }
  51. *    +-------------------------------+   *
    / K# i. p, H2 |! Q  y
  52. ****************************************/( s& d; m! ^7 r) o$ L" w6 P) q
  53. unsigned char GDT_Addr[6]={0};4 r: p5 d. A5 P" ?
  54. ) z" m# c' A7 {+ `$ f
  55. /****************
    % ^. |8 L! }( K" w/ G$ p
  56. *    打开A20门    *- m2 o# D. c; d- R" H
  57. ****************/; f7 ~) X) ~, D/ d& {
  58. void openA20(void)
    6 o/ v: K- ^3 P: M1 A% X$ R3 s5 Q
  59. {
    . N( h# n. _( E& v
  60.     asm{5 Z! {* i$ E( K. Q/ {5 i+ Z/ A
  61.         pusha
    . H+ O+ l" a$ w) r1 O" d( B
  62.         in         al, 92H- Z8 {* L7 Q  ?
  63.         or         al, 0x02
    4 O/ @: W2 W% M) j$ K$ A* b* Z& Z
  64.         out        0x92, al
      U, j: O, l/ J+ u' E
  65.         out        0xed, al; n* T3 h0 {. V; ?- ?" X; j2 t
  66.         popa/ {- a0 E  G) ^& c
  67.     }+ A4 s  v5 u& Y# q. g1 N! V  _
  68. }2 c3 @0 h: ?" F' a

  69. : T+ b, r% `. ~9 ^
  70. /***********************************************
    % D& _! }$ H* b. F) N
  71. *    函数功能:进入DOS4G                       *% `) Q% D. t7 T2 N
  72. *    ====================                      *% h" L: i4 h8 ?2 C: d* K7 _
  73. *                                              *
    ) @0 S2 [( u. Y. R- N, Q
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *
    - W' I( b/ [5 f: z5 Q$ r" S
  75. *   如:                                       *7 z& c& z+ |4 X$ P3 x6 w5 j0 `, E
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *% n6 X% b4 \! O4 `$ s* J% K/ H
  77. *       表示为 2个GTD                          *8 ~& G7 d* e; k# w* m
  78. *                                              *
    4 K  J- {9 a; h- m7 F  p4 G; O
  79. *    选择子为所在描述符内的字节偏移。          *+ O/ x! d& H, q* _' R
  80. *                                              *
    & [: B6 z$ x& t  g2 K
  81. ***********************************************/
    / B0 \8 e# i  G
  82. void set4gb(void)
    + V: Z  K6 P$ s! s( P- m5 Z0 V
  83. {
    - V2 ]1 l% L$ t& N8 U
  84.     asm{' `# M' q3 u0 j" t
  85.         cli* K: D( q6 @" L: L7 c* g
  86.         /****************************************
    # k- D$ \: w; k* B3 L1 s& I9 E
  87.         *    GDTR寄存器                          *$ k* ]7 G9 H) @( ?& l
  88.         *    +-------------------------------+   */ }; i, G( R8 H7 `8 G
  89.         *    |   32bit基地址       |16bit界限|   *
    ! E/ Z( C  N4 |! ]1 T
  90.         *    +-------------------------------+   *
    - S0 L" h; J) e7 r9 j1 Z4 p
  91.         *****************************************/) _$ r% `: i, b$ c& z
  92.         /*********************
    ) R: z# O4 p* i
  93.         *        得出段界限       *, p3 C) Q$ r" R: g" Y- M) O& ~: B9 S! N
  94.         *********************/0 @' o( P' _) D  a0 S, _
  95.         mov        word ptr GDT_Addr[0], (2*8-1);/ M6 O3 _# Q) ?
  96.         /********************************************  o3 q- R/ @5 ~# |7 M% A6 f
  97.         *    计算GDT表的32位基地址,存入GDTR        ** U6 y. |. \1 F! \+ ~: O8 U
  98.         ********************************************/
    : ~$ r# E; n# t) O! O! v
  99.         mov        eax, ds
    8 ]: u6 c7 y& s9 d: [! j. E+ ^6 ^
  100.         shl        eax, 40 g( ~( n4 i7 O
  101.         xor        ebx, ebx
    + m4 [; ?  A! i  w" h! ?: s
  102.         mov        bx, offset GDT_def
    # m& u: a$ j0 P1 T
  103.         add        eax, ebx0 @$ n. V4 c7 ~  J$ C. j
  104.         mov        dword ptr GDT_Addr[2], eax
    ( u6 A/ ^0 e" I. R& \8 T+ c: y
  105.         lgdt       fword ptr GDT_Addr- S# W! N  q- n) ?! s
  106.         /********************1 A9 S/ D- Z- }
  107.         *   选择子偏移      *6 p% k7 z$ F' ?: M! Q2 _
  108.         ********************/, n) L! w8 _7 a2 @, @
  109.         mov        bx, 89 o0 [% t* F; S$ m+ R6 N  e/ g
  110.         mov        eax, cr0
    6 V' e8 H1 A) G$ m( _7 _4 z
  111.         or         al, 1
    0 _0 f* a; h5 @) t* q4 T: I
  112.         /**********************7 |8 W# O0 R6 h% F& d& Y
  113.         *     进入保护模式    *' K! Y* j" J3 f. t( r
  114.         **********************/7 o3 Y2 S7 A% ~
  115.         mov        cr0, eax& j; m; a  \2 X7 w/ m9 x
  116.         jmp        pMod  l* @; J& J6 a9 g# g! Z
  117.     }4 O2 J. T# j) i* D, |
  118. * }. \3 m; R+ |6 x# U
  119.     pMod: asm{
    0 ^6 R* r# M6 R/ f7 [/ |5 J2 h
  120.            /************************************************************8 [) t0 r, E5 ~) T- `/ H& F
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *: o" b7 }# _+ M: [6 e
  122.            ************************************************************/
    & l4 q' X1 `: \1 n6 i
  123.         mov        fs, bx
    + l/ n  T6 L) j5 E) ~: f; ~
  124.         mov        gs, bx6 Z5 D4 J$ l7 r) e; N7 I0 @4 E. o2 T
  125.         and        al, 0x0FE
    8 Y2 p( k! Z5 e0 y0 u1 g0 p8 S8 l
  126.         /******************$ B2 H5 q$ M9 |" L% v
  127.         * 进入实模式      *7 D3 L0 O3 X7 P5 b/ V
  128.         ******************/
    ; t5 M3 J, k2 I6 v
  129.         mov        cr0, eax
    4 A9 j, j$ p' }& _9 R: l$ {
  130.         jmp        rMod9 f4 c( w1 a3 o: T% }7 {4 X. C: [
  131.        }1 s4 n8 H% F0 O; B, f
  132. % U$ X0 F# H+ z& W! |* r
  133.     rMod: asm{
    ( |: R8 F6 e  ~6 _0 p0 |
  134.         /* ******************************************************************$ G0 C2 V) I% z' |7 u; [: o
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    ( h& Q$ d3 K: w+ x
  136.         ********************************************************************/
    ( _: L+ a* ^2 E0 U- q
  137.         mov        ax, 06 z' F& b3 ]! N- b" B: o' A
  138.         mov        fs, ax
    ! t, u6 S& G: p; c& }
  139.         mov        gs, ax
    ( ?1 j6 c+ z4 G$ K5 y2 N' f. l
  140.         sti
    8 d8 C* G  y7 [) ^, N5 f8 X0 m
  141.     }& Z+ {9 d7 O8 `: Z+ G5 H
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    : Q) Q1 t! T$ S2 u
  2. ;*    File: DOS4G.asm                                                *' b, M' b  g& r
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    ! |7 g$ |+ T4 ^1 r1 Z" l
  4. ;*                                                                   *1 g/ c8 ~3 p; A
  5. ;*    ========================Title===============================   *
    6 j: {% k3 p( C" |. i
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *
    + X0 ~3 W7 p* ?& [/ M# N  D/ v
  7. ;*                                                                   *
    + D- _& ]5 v' T+ V- K$ l8 X
  8. ;*   ===========================History==========================    *
    * J* V6 l# I- M( s, p& m* B' p
  9. ;*    author: bini                                                   *% q( H+ Q; R; n9 T3 t! k! |
  10. ;*      date: 2008-10-08  Frist version.                             *3 |! l+ R2 \/ {# E; T) ]# s
  11. ;********************************************************************/ 1 c- P$ ^3 d3 r' T' R# a
  12. .model small9 T1 X# F: V1 d: |$ Z* v
  13. .586p
    - s" c; z% b7 S8 t
  14. ! b+ U9 o& s' D
  15. DSEG  SEGMENT   USE16                 ;16位数据段
      |% Q' L4 Q' i' A9 m* w
  16. ; X' l/ W, {: y; s6 u: [
  17. DESC            STRUC. r8 W, R$ [9 @* O) n! s
  18.         LimitL          DW      0 ;段界限(BIT0-15)! V' N: h& c$ o
  19.         BaseL           DW      0 ;段基地址(BIT0-15)$ E9 c6 v2 W" ?. d4 O
  20.         BaseM           DB      0 ;段基地址(BIT16-23)$ q( \  l5 K1 [8 @# }6 R5 J2 u/ E! K8 E
  21.         Attributes      DB      0 ;段属性( v5 Q) r! X8 A$ W/ H! W
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)
    . \9 [6 z# y& K/ V7 j. b
  23.         BaseH           DB      0 ;段基地址(BIT24-31): A6 Y1 ^0 b: E. G0 w4 U3 Z1 n+ r  T2 N
  24. DESC            ENDS
    ! J% x: I" T7 k! p0 }  n! J( ^: ^
  25. . k6 V, d8 }' n: v8 }8 x  l5 m
  26. PDesc           STRUC
    + f8 t% F8 v3 k# O5 G  I- b$ k
  27.         Limit           DW      0 ;16位界限
    0 q% P# w- M" \+ H! U& i
  28.         Base            DD      0 ;32位基地址
    9 w3 _5 |- k9 e; F2 [5 P
  29. PDesc           ENDS
    ) P2 f- {8 R; N# Q& }. e

  30. * N  h( o# z2 L) X+ j  U% [
  31. GDT_def         Label   Fword
    % I2 F* o, g% ~% ~" e
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>
    1 c5 n9 K6 U2 y( o! |: F- B8 L) g
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    ! s/ Y/ B' a1 G, e) \( y8 d
  34. " P! r# \" k$ Q" O; D0 \  ^  ]
  35. GDT_Addr        PDesc   <$-GDT_def-1, >4 {( a" V% D; p- F
  36. DSEG            ENDS                          ;数据段定义结束9 t7 K; e3 ?4 `. a, |" T) g% h

  37. 2 P5 y" x( N. \& N8 V7 h
  38. CSEG            SEGMENT USE16                 ;16位代码段( V7 S; D6 I+ T0 @9 ?( F
  39.                 ASSUME  CS:CSEG,DS:DSEG
    0 N! ?. I. }4 s+ s1 w) L
  40. .Startup
    5 _3 P" [. p9 C/ A# M/ j  m
  41.         call      Set4gb, J, ?5 @' N6 [3 N8 S
  42. ;. f% _. s  h& z1 s8 E$ T
  43. ;       fs, gs即能访问4GB空间/ n% f: h- _$ }* `
  44. ;       write your code in here.
    ( a2 R+ I5 A1 l+ Q3 H7 E
  45. ;
    2 s9 \. C) z  w4 _- r9 |: y
  46.         .exit
    : y) U* p9 \+ H2 U4 n# n
  47.         
    6 r7 I6 R1 ?0 L
  48. Set4gb          PROC      NEAR* X) Z' B: |6 T1 s7 p+ _
  49.         in        al, 92h
    % }/ u0 O( W+ U/ n3 O
  50.         or        al, 002
    # r3 r' U! e- X- V8 Y! h
  51.         out       092h, al5 D  ]0 W; G$ ]7 S1 O! o# K" V
  52.         out       0edh, al. }" q) Y6 a1 L& a

  53. $ k8 i" Q  M" j: o0 [7 X
  54.         cli3 W! s% H, z( O

  55. ' @* v. t# g) D
  56. ;        mov      word ptr GDT_Addr, (2*8-1);: F, k$ U4 M' p% u9 X  N

  57. ( V% R+ g8 a- A/ a$ d1 x* \
  58.         mov       eax, ds
    1 P$ m- o( H' O' i
  59.         shl       eax, 4
    ' D$ x- e1 I/ t7 y& f: [9 L
  60.         xor       ebx, ebx  H+ v, E& C1 G2 M/ f/ D
  61.         mov       bx, offset GDT_def% B# v+ s) ^* i4 B: W
  62.         add       eax, ebx
    6 j+ A+ Y! G0 D: e+ h! ?/ Z
  63.         mov       dword ptr GDT_Addr.Base, eax7 p3 [& \; v: d9 D6 W+ _& ~
  64.         lgdt      fword ptr GDT_Addr
    * {+ ?! X: P8 V& D! F1 K% S5 e1 _
  65. 8 o6 C9 b. s& I, j. A
  66.         mov       bx, 8. v, `3 Q7 z: f5 r- x- I
  67.         mov       eax, cr04 T6 {! e3 a' a) M& A$ I9 ?; j- h
  68.         or        al, 1, U3 X* O, c) V$ j7 y1 g- Y
  69.         mov       cr0, eax
    7 ^: k( O$ r/ D# }. ^# C

  70. 0 a6 A$ h7 `$ g5 Q% @
  71.         jmp       pMod. t6 U( [0 @$ Y* I6 d
  72.     pMod:; z7 f1 J( Q' h/ e5 N! Q
  73. 9 c* b+ _& ^4 f6 D6 [
  74.         mov       fs, bx
    2 \7 Q8 l  m4 O9 E. G4 }
  75.         mov       gs, bx' J6 e9 e% y. F, }8 a/ q( v
  76.         and       al, 0FEh; o5 m7 O+ o% U9 q' {
  77.         mov       cr0, eax
      D  z7 O/ ?$ q) q
  78.         
    - z' v9 D& k" X/ b) s
  79.         jmp       rMod& f) p9 t. j! E5 Q5 v
  80.     rMod:
    ; t  J7 u+ X* D! q

  81. ! \- d3 @+ ^' `- Y$ O
  82.         mov       ax, 0
    $ d. H7 a! A6 K' s. K
  83.         mov       fs, ax" Q- d( V5 t1 Y$ S2 C
  84.         mov       gs, ax; a4 U2 u* I1 g5 x
  85.         , m1 e3 a# v& p) `% q$ H" s
  86.         ; 在2M的位置测试写一下数据' ]+ Q2 O( M( Q9 }+ Z  B' G, l
  87.         mov       esi, 200000h
    * l: G/ A; b2 {6 e' ^/ q: T
  88.         mov       dword ptr fs:[esi], 055aa55aah. r5 v, y5 B! z( t% f: ?
  89.         ; 用RU去看看200000h的位置是否是此数据....
    $ f$ ]5 P: N( j/ W

  90. - a6 x1 M6 R# u% h
  91.         sti- ^( `. R7 k/ y7 \7 {2 }
  92.         ret
    ( r; r1 T+ h7 i) j
  93. Set4gb  ENDP; `8 f: Q# Z, a6 x
  94.        ! ]2 @8 b0 r+ p) O
  95. CSEG           ENDS                              ;代码段定义结束
    % g# t+ E$ A" O" B1 H. e1 n
  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选 803866 Y8 R. S7 W4 C& u. N2 g

, Y, l; M) q( B2 X( [. Y+ m# woption->compiler->code generation中的option选中, [X] compile via assembler( b; E, u2 Z) a" a

4 I4 n0 C4 ~; i: B$ n5 o  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;6 n' A7 N# {  j4 ?1 ~8 i$ t
Data_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;
( d( `3 s) I5 T/ i' }6 k! k& x4 B) e; S9 y/ K! v
GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
1 ]* o. a, |( k" [  H* A 替换如下,( ]! w/ I5 V# y2 N$ Y
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
( h8 j8 E9 j9 N& WData_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
  S  V# t9 |. S1 e' C. b
: ]5 [6 B8 Y* q+ w0 S! b% B' FGDT_Addr        PDesc   <$-GDT_def-1, >  u0 M9 f* c$ d7 L- 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 发表 ' X" ?" p! k" @/ k
option->compiler->advanced code generation中的instruction set选 80386
+ {3 \- z3 P) M) Y1 y( }
5 w0 O3 B2 u  Y8 @. V+ Aoption->compiler->code generation中的option选中, [X] compile via assembler

8 l% j3 w9 v6 t: O' g3 h, C   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表 1 e% w9 E" |% [8 n# T: G2 u: w

/ ]6 B2 g0 i& _: u8 W  B3 v; @   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...
8 l# n* n6 b3 w' ]
" Z1 d8 o& E( X' g, B$ P
我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-18 07:59 , Processed in 0.050572 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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