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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
) h" ^" O+ V" r& r1 g+ }# y3 z) v' {' }8 y# i7 P
这是C的
  1. /********************************************************************6 m2 T! w. O* k1 A# H9 M' k5 W
  2. *    File: DOS4G.H                                                  *
    ' X1 j/ [  G) _' a
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    7 O" g5 ]2 R* A# C
  4. *                                                                   *
    : B! v1 V2 `" Q) H) B; }2 y
  5. *    ========================Title===============================   *
    + u& @, `9 v* G4 z3 ^( t6 d4 m
  6. *        这个函数是让系统进入DOS 4G模式                             *' r% _) o1 J8 C6 R. A, T
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *
    6 l4 }2 b( \7 }
  8. *                                                                   *
    & ~- \6 w* n  N# y: h4 d3 v1 R
  9. *       使用: openA20(); set4gb();                                  *
    . o; F2 W( C& x9 d. Q) e5 r. B$ x
  10. *                                                                   *( Z0 v! R# N2 g% w
  11. *   ===========================History==========================    *- w. _5 L. Y- F7 }5 ?8 M# I
  12. *    author: bini                                                   *
    : H1 E  b2 k- y: ^4 `) K
  13. *      date: 2004-11-30  Frist version.                             *
    7 W4 }5 i1 }/ O8 M0 k0 [: ]
  14. ********************************************************************/
    2 W+ ^6 u3 q+ S9 Y& Q
  15. 8 q! G- c! ]; k" c
  16. #include <conio.h>' Z( k9 O0 [9 h; P
  17. #pragma inline+ K0 b  l, m- N$ ^% b+ p' s' M

  18.   u7 q$ I8 {4 ]% i, r
  19. /***********************************************
    & {' B) E: L" k0 o
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    $ V& G" C9 G, K1 m7 _, b6 `8 Z
  21. *    第二个为一个数据段,没有代码段。           *' g) W# _& M0 Q
  22. ***********************************************/
    . \8 e8 S( p/ T4 d: y
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    4 L% J7 w1 J! {' s$ d' H
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0,
    0 J( x1 O# y3 z4 \  S
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF
    9 \2 a/ c! I9 C2 @( Z
  26.                                       */9 O% G7 l6 b, ?% S- W# g& O, v' V
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    * @2 E6 A! N* v$ p+ `# B2 q, i
  28.                                          最高字节为 base( bit 24~31 )
    % ?; b8 B# j2 g
  29.                                          
    , R- P# z* {3 u
  30.                                          属性Attrib = 0x8F92
    & J8 W0 a3 n5 R, m; T' l, o, y
  31.                                          
    0 m7 J1 `+ E* y4 K1 k6 l7 N* o# j9 s, W
  32.                                              属性位Hibyte低四位为 * R' z' w. U; m2 s; N
  33.                                                  Limit( 16~19 )=F  l4 e5 k$ Z( r
  34.                                              属性位Hibyte bit7 为粒度
    / w% n! Q4 J& M
  35.                                                  (值1=4KB粒度)$ o+ H1 W- I# V
  36.                                                  8F & 0x80 = 1: L" j, P4 ~2 r" W+ K
  37.                                                  3 G' J7 C& J, J. F# h" G% v
  38.                                              属性位Lowbyte低四位为段类型,值=22 t7 o! N$ o  P: x* p9 H
  39.                                                  表示为可读/写段
      Y2 a, U4 ^* W
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    4 f/ h! J3 e: y& A9 W1 P. S
  41.                                                  描述符对地址转换是有效的。
    4 L7 m' c9 ^( R7 M
  42.                                                  bit0=1表示为:
    * O2 G' E5 y5 K
  43.                                                  系统段描述符。而不是门描述符。- M( _# f0 a$ j
  44.                                              # J2 O! L) l/ ^% g1 v+ v0 M3 X' H
  45.                                          */6 L  u# M& H$ B6 z& q& M
  46. : h. ~' d- ]1 N
  47. /****************************************
    6 ?3 j4 G& @5 e2 q2 M* B
  48. *    GDTR寄存器, 48bit=6bytes            *5 x: `( C, D' [  u/ L# z' w
  49. *    +-------------------------------+   *+ e* \  p4 ?2 M9 |1 _8 B! p
  50. *    |   32bit基地址       |16bit界限|   *& ^+ R2 G3 s3 n) `) ?' d( n4 }
  51. *    +-------------------------------+   *
    : Z" S2 h, z  F% C: Q
  52. ****************************************/
    + S2 h- U; F7 u( h1 r+ D" u/ B1 r
  53. unsigned char GDT_Addr[6]={0};) M0 t( }- R# w/ s4 K; B, G

  54. ' C/ l; J  y5 U4 k
  55. /****************& ]7 a* Z0 b# o  G
  56. *    打开A20门    *" [8 I! m7 a  B5 R& u& v; i
  57. ****************/0 q9 [8 e- V) n' n. y$ \- |9 ~+ h* {
  58. void openA20(void)" a- T- g5 w9 S; E' v1 z3 G
  59. {
    0 a$ j6 d4 R; G8 T9 a
  60.     asm{
    2 n2 Q6 h5 S) u5 K% |% Q
  61.         pusha
      ~( r/ y4 n( V4 U# H
  62.         in         al, 92H# s+ y; ?6 J: x' r) ]
  63.         or         al, 0x02: t4 S' Z: ]9 K% h. P
  64.         out        0x92, al9 z9 j! E3 x5 H; ?( {5 ~
  65.         out        0xed, al' X% w2 }/ d8 ~
  66.         popa
    6 k. i0 A  l+ x* l* D" M1 O( ]1 I
  67.     }8 Z* v+ h% B/ {9 c3 Q) l- x
  68. }
    . S) i# h% h3 q6 s
  69.   H6 i6 f- e, h
  70. /***********************************************
    2 _/ }* u& z- _' L
  71. *    函数功能:进入DOS4G                       *2 V* g  _7 I) E( I
  72. *    ====================                      *
    ; Q2 {) o7 c' N" O
  73. *                                              *( e1 x$ f9 X( r- D  c' u
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *1 c- x! O- t1 ~) k) l
  75. *   如:                                       *( f' r) [  L# t% B0 }3 d
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *
      B2 k' [" o) Z2 M4 Z$ k0 I3 t: F' m1 w) P+ R
  77. *       表示为 2个GTD                          *
    8 R6 T2 P$ F& {9 q! J& ~  Q' x
  78. *                                              *+ |, ^% Z6 A" A  w  s
  79. *    选择子为所在描述符内的字节偏移。          *! `  @+ s4 f! x8 V" N2 d
  80. *                                              *% L' \8 g& g$ g/ k5 u4 T# D
  81. ***********************************************/" k5 I3 f! y& ^  @( s5 |* k
  82. void set4gb(void)9 a: `9 w' s9 v+ K6 d+ g+ v; O! c
  83. {( O6 ^" @! K! A6 k
  84.     asm{
    * g$ M) X/ \) \; {  d' P
  85.         cli
    % w+ k, A% L) Z  b
  86.         /****************************************
    ; r! N+ Q& N) i% [( {, @& S
  87.         *    GDTR寄存器                          *
    - c9 J! d! l* Y
  88.         *    +-------------------------------+   *
    1 e: ~2 X/ \9 U( m, F2 g# I# ?- l
  89.         *    |   32bit基地址       |16bit界限|   ** w: }. q. d% {) G
  90.         *    +-------------------------------+   *
    2 _2 W7 e5 }7 Z# o: h* F4 j: ~
  91.         *****************************************/4 V! O5 p+ c3 [3 k$ m1 t+ [
  92.         /*********************
    ) b6 f$ A8 c# `1 l9 G6 J
  93.         *        得出段界限       *& R- U5 W: F$ m$ ^1 ^. y
  94.         *********************/" Y7 C+ U3 L- o( ~* S
  95.         mov        word ptr GDT_Addr[0], (2*8-1);: m& `/ t# Z) o% |: d% C5 S3 i! a
  96.         /********************************************5 i$ ]4 l! p7 g. A5 j$ l
  97.         *    计算GDT表的32位基地址,存入GDTR        *
    6 J9 h* H5 z0 N! C6 ^
  98.         ********************************************/& L/ J. W2 \; O* Q6 }$ c% T
  99.         mov        eax, ds
    + g8 t0 N. d+ \: X" L" v: T
  100.         shl        eax, 4
    % b' {3 `$ T* `5 `% m8 ]
  101.         xor        ebx, ebx
    % M/ G5 T$ {. j8 p
  102.         mov        bx, offset GDT_def
    # L. V4 ]9 y5 N
  103.         add        eax, ebx; N; Q8 O) T3 j
  104.         mov        dword ptr GDT_Addr[2], eax$ t# ]9 G& s1 C8 p& ~6 z
  105.         lgdt       fword ptr GDT_Addr, b$ h" c$ l8 G8 i& B3 k% b
  106.         /********************% \' G- F/ a( }4 J9 \* D# ~4 {
  107.         *   选择子偏移      *' s, Q& W) m. }* O
  108.         ********************/# q. P% Z: {/ t
  109.         mov        bx, 8
    8 k; t+ I  n! F* q7 _- T+ j
  110.         mov        eax, cr03 f. F! q* t8 x+ d# Z) e2 d" @
  111.         or         al, 1" ~+ r2 y% {6 m
  112.         /**********************1 A' R" h9 [! {
  113.         *     进入保护模式    *1 x& I% G) m, b6 \- K: D
  114.         **********************/
    * {& }* D& T5 O& R4 N7 w
  115.         mov        cr0, eax
    " G; U& Q8 B' Y) `/ P! o: A, ]
  116.         jmp        pMod
    0 U$ H' ~9 O- i$ e% P) I/ G3 G( h
  117.     }5 V( ?- I0 m; u' V: w0 j: K
  118. # Q" V5 ^6 s* @
  119.     pMod: asm{
    $ l( [7 s" R+ P8 L7 e2 I) w: T) x
  120.            /************************************************************
    5 E) K4 `) j* c, x* v, ?
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *
    - z' L/ K1 e( l$ D- i1 `; l7 v* S
  122.            ************************************************************/9 p! R4 j9 j4 ^( l
  123.         mov        fs, bx. h; x; F9 l( W8 @+ W% Y  L( Y; x
  124.         mov        gs, bx
    1 [9 c& C" o) ?8 Q" ?
  125.         and        al, 0x0FE
    - K- i/ |4 r/ Y: D8 ^
  126.         /******************% l; @0 U. r; d$ }
  127.         * 进入实模式      *# x5 z) D3 P1 `$ F5 x. k) m1 D; G
  128.         ******************/
    5 ^3 Y& p% {+ y, a
  129.         mov        cr0, eax4 g- z$ @# b3 n: A0 d& K1 i8 T7 |, a
  130.         jmp        rMod; y/ I) f1 Y: A; w
  131.        }5 z9 V1 e, P$ L1 ^: b1 h$ }* J* B

  132. 2 `. Z9 V$ a$ \+ v$ }' i  d7 K$ ?
  133.     rMod: asm{
    + i3 D: I# @& I  ?
  134.         /* ******************************************************************# ~" |) o6 D. @2 S% m
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    # g! [. `# k8 T" A3 q4 w
  136.         ********************************************************************/
    . j1 }& X# m8 ?  i. c/ f
  137.         mov        ax, 0
    & {! r7 _9 h: S' ?5 I1 i
  138.         mov        fs, ax0 b! c( d: k7 j$ e2 w/ G
  139.         mov        gs, ax
    ( h7 K! R! q8 v2 M6 K7 }
  140.         sti: c' E8 \, p8 e
  141.     }0 I' f8 K. ^& Y- ]
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    8 c5 M; D% p- v! q
  2. ;*    File: DOS4G.asm                                                *
    * N4 |. l3 {: Q, G6 V2 ^! g
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    ) G. t7 o9 w$ P" _% i: x8 I0 F4 }
  4. ;*                                                                   *
    * E1 I2 W$ n/ z- q- [
  5. ;*    ========================Title===============================   *
    4 u# ?  W* i3 ^, E" n1 g
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *
    , S# X) R  R' }2 P/ w' ]* E8 M
  7. ;*                                                                   *) u# ]. |, L4 F% b. Z2 B7 B' l
  8. ;*   ===========================History==========================    *) y- d. e7 x% {0 d
  9. ;*    author: bini                                                   *7 Z6 U: S2 W! p% U
  10. ;*      date: 2008-10-08  Frist version.                             *9 C9 S' y3 n/ r1 A/ K7 k3 P6 B
  11. ;********************************************************************/ 0 {+ B1 S. v3 j$ w
  12. .model small
    7 T: O( K$ v" H8 Y0 n5 h6 l! O. q
  13. .586p
    $ U8 ?/ g2 x# q& Z

  14. ' Q& Z5 f: ]2 m2 Z( }/ G/ z& n0 j3 J3 \
  15. DSEG  SEGMENT   USE16                 ;16位数据段" C  T# @0 B! v# J4 C5 t9 _

  16. 0 d" O1 _; W  y! Z. F
  17. DESC            STRUC  X2 \$ D; |* L& ^7 A" _
  18.         LimitL          DW      0 ;段界限(BIT0-15)$ K, t+ E( P" W7 I. M
  19.         BaseL           DW      0 ;段基地址(BIT0-15)4 o1 G, K  m0 L8 |4 `  p' d3 d
  20.         BaseM           DB      0 ;段基地址(BIT16-23)
    " _$ l  ]% j5 W3 }$ E
  21.         Attributes      DB      0 ;段属性. a: w. z* D; ~
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)# V. f: ^) ^4 Q9 R1 {
  23.         BaseH           DB      0 ;段基地址(BIT24-31): J* u  f$ L, A5 z! ^) U. ^
  24. DESC            ENDS
    9 A  c  O, U) G  _* ~5 X7 _

  25. ' I, k* d1 O2 n; |
  26. PDesc           STRUC
    # k6 F& ?8 B+ @/ K
  27.         Limit           DW      0 ;16位界限* X3 O- ]6 L, ^6 x( b
  28.         Base            DD      0 ;32位基地址
    2 K: `3 T* n- h8 v9 ~! I; X5 ~% |* Q
  29. PDesc           ENDS
    0 _6 w% d3 I- D! S' a  a
  30. 8 H! S! q! |: ~- S* Y4 d  Q' V$ ?5 |
  31. GDT_def         Label   Fword9 G1 d6 h6 w9 e- X/ w8 X
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>7 O# o; Y, M3 n# W0 F4 I
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    9 v/ v$ w/ T' `9 y- w; D
  34. ; {7 p7 \7 p& u/ V- A, T
  35. GDT_Addr        PDesc   <$-GDT_def-1, >
    2 A& Z, w2 }* P5 `5 S
  36. DSEG            ENDS                          ;数据段定义结束
    + X7 p" W: u" ]  U# M6 b) I) g# P) [

  37. 6 d3 P# D: _- u" T4 e9 D
  38. CSEG            SEGMENT USE16                 ;16位代码段
    5 q% {) {( W* N
  39.                 ASSUME  CS:CSEG,DS:DSEG/ g2 Q( m6 z: w- m/ d- S
  40. .Startup3 `/ \* x' s, r7 V* w5 [* C3 E
  41.         call      Set4gb% a1 C" o$ R' I6 t4 {4 r
  42. ;3 E) y& E0 Q. ^7 g/ @
  43. ;       fs, gs即能访问4GB空间2 J, v2 P1 K, i7 Q
  44. ;       write your code in here.
    ; w3 G& p! B% p4 |$ z& E2 y7 P
  45. ;+ M" Z( d) y4 B
  46.         .exit1 U5 \. a' g1 T- r: W
  47.         * x' a6 N0 A6 d0 o: p* c
  48. Set4gb          PROC      NEAR
    . [! S! s' c2 ^7 X
  49.         in        al, 92h
    . c: D% N3 Q& M. m8 L5 \7 P; {( ~
  50.         or        al, 002
    ) d6 l7 P# f* H- r5 }3 d: [
  51.         out       092h, al! M0 z2 F/ g* I( M
  52.         out       0edh, al) g+ i: C" O' g# _

  53. 5 ~: Y( ^6 [8 E! N
  54.         cli% e9 P$ m8 F* S, q6 S% W" Y
  55. : \' \; m" ]  L& q3 A
  56. ;        mov      word ptr GDT_Addr, (2*8-1);9 |+ r8 O0 w9 k2 m1 p

  57. - y3 m" e# U8 c8 z
  58.         mov       eax, ds
    - K' V5 J" _/ P3 m$ T
  59.         shl       eax, 4
    * m% H9 u6 y: y& _' G& k
  60.         xor       ebx, ebx
    3 P& e6 d: J2 O: i3 Z' k
  61.         mov       bx, offset GDT_def
    5 o. [' n7 q3 Z5 J! I; f
  62.         add       eax, ebx
    5 A1 C; Y4 r( c9 ~8 _  t5 [, w$ r1 T0 m
  63.         mov       dword ptr GDT_Addr.Base, eax8 |: u! J. A' w
  64.         lgdt      fword ptr GDT_Addr, |! {  B  B, y! M9 k! I9 A% Z0 Y8 A

  65. 2 q+ `6 Y* G* K# z& C
  66.         mov       bx, 8
    1 j+ T2 n$ `' ~- A* q- o
  67.         mov       eax, cr05 j- n9 ]& D) T. y1 K) x0 R
  68.         or        al, 1  E, T$ ?: K) E1 O
  69.         mov       cr0, eax0 W/ y! R& C5 N& k& X

  70. . B% f& R# C. g$ _) B
  71.         jmp       pMod
    2 d- U; h; ^3 E5 X" M3 e  o4 T
  72.     pMod:
    # M4 \4 F; S" J9 f- s0 W% E& K

  73. " r' `- [  h% j4 r. h9 @
  74.         mov       fs, bx
    ( a- k& H, M4 A
  75.         mov       gs, bx7 `! k  _8 i5 `9 y* r3 Q
  76.         and       al, 0FEh
    + g- n3 F7 d/ n: i4 H# w9 Z
  77.         mov       cr0, eax
    : q& [4 C! ^4 B/ X4 a3 M9 r3 i
  78.         
    / n2 D0 Y; q3 U/ `* H1 D$ r
  79.         jmp       rMod- {; ]# q" r* m& q  o$ X! m
  80.     rMod:
    % ~& n1 m2 h' H3 B" Z

  81. : `- |- p! z  ~, e( r3 F
  82.         mov       ax, 08 k7 [% F% C1 J
  83.         mov       fs, ax
    6 l4 I) N' O7 t& E: X/ k. c
  84.         mov       gs, ax
    / q; D, v+ |4 {$ m" A% _% b
  85.         5 G# p% _; u/ S
  86.         ; 在2M的位置测试写一下数据
    & S& k6 k9 V  P; J9 X
  87.         mov       esi, 200000h. P% x7 b2 @2 X' E  [1 |" u1 \  V8 q
  88.         mov       dword ptr fs:[esi], 055aa55aah( S0 S! k4 w4 j) D4 j) m, q
  89.         ; 用RU去看看200000h的位置是否是此数据....7 |% n: @+ r/ f0 h2 x3 ?

  90. 7 p* l3 a. v8 F( j0 h
  91.         sti
    # h; t, V; u. ]+ U/ d
  92.         ret( Y, E, R) T7 u+ i8 R
  93. Set4gb  ENDP% ]! Y3 {8 `; R
  94.       
    2 Y/ Q" V- W$ h  q
  95. CSEG           ENDS                              ;代码段定义结束
    $ T; o/ r2 F4 r6 A
  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
/ _+ @2 ~: q( |1 ^1 K: d' ?$ U2 A
$ m) A+ U5 z6 N1 X. B! Z, voption->compiler->code generation中的option选中, [X] compile via assembler+ [3 \; Z, L. Y! a6 V/ D! M& R2 b

9 ^' p& H) k% q9 F8 j: `& S[ 本帖最后由 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 G$ g" ]" h' k5 B( O4 m5 NData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;/ ]( k' Q; i$ P5 }& z

  D6 y- B" W; ]GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;
  A9 b6 l- O+ v 替换如下,+ o3 e; w0 {3 t5 L* w+ w) B
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>0 I( D+ G: N0 _
Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>+ z' J) V1 r+ T! M( u. L7 Z

* t1 k/ Z& Y. k1 Z: D/ lGDT_Addr        PDesc   <$-GDT_def-1, >3 Q1 W+ k+ H8 w% g8 B: N0 a
这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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  R) P( R0 G; @  }) e4 }3 V
option->compiler->advanced code generation中的instruction set选 80386
) U0 y) J$ c  \. U' `8 [7 O) R+ Q( q/ O5 l7 P/ c& `( C
option->compiler->code generation中的option选中, [X] compile via assembler
* d! i  M+ m( I% k
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表 * q$ C, b8 h7 K4 v+ q+ v
+ l1 m$ a+ C6 [# j$ u0 e; A7 |4 i
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...
% }" @5 a9 e& X! i
4 ~, g" t7 F4 R) h7 b
我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 14:30 , Processed in 1.194342 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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