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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
$ J) M" j: S3 g3 A+ ^% v, G+ M# ]9 B; w4 a  w3 j
这是C的
  1. /********************************************************************
    1 J6 o/ i; q: V. C$ h
  2. *    File: DOS4G.H                                                  *& T+ k8 S6 ]* x7 ?' A6 E( l& Z3 _* G" @
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *- H! u. t& w( c, C
  4. *                                                                   *% z& K' S$ f! V0 G" [
  5. *    ========================Title===============================   *
    8 v* l* ^( k. ^6 @
  6. *        这个函数是让系统进入DOS 4G模式                             *
    8 r  E7 `6 J8 V6 j; d# Z- H
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *) v, k& h- o# ?  t. q- p
  8. *                                                                   *
    # o. U, w  V! g  H
  9. *       使用: openA20(); set4gb();                                  *6 i: |& a4 p4 x% H0 V0 B
  10. *                                                                   *$ a; y. c( c2 ?, l8 q" y3 j
  11. *   ===========================History==========================    *' k' h% A( f0 I
  12. *    author: bini                                                   *: k- {+ \2 j) z& H. x5 z6 J
  13. *      date: 2004-11-30  Frist version.                             *, r0 A5 A# o& n  z# J8 U
  14. ********************************************************************/
    0 G" N, f% n1 C4 ]# z+ b

  15. % K4 M+ C9 X6 Z# k1 U2 y9 Q
  16. #include <conio.h>0 t6 w$ l; I( @/ v3 @( m
  17. #pragma inline
    ! K; a) F( ]. ]4 p! N
  18. 9 i( O$ Z& z- @' v$ ]9 T
  19. /***********************************************
    1 j. z1 B! x1 z; @
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    & ?1 L9 e  Y6 q1 P0 l. `" ~* o2 |
  21. *    第二个为一个数据段,没有代码段。           *
      n6 a* ]/ ^! O( m% b
  22. ***********************************************/4 A& F6 G+ E7 `3 Y
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/. k4 A7 M/ P2 P) M4 Y, k( E
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0,
    ! y  ]7 J. K8 b9 v: H
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF + @. I5 m" \" S. D- w/ [, P
  26.                                       */! L5 h5 U8 U: P! {- E
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )
    + u& I8 j. C" E& ~3 s3 K
  28.                                          最高字节为 base( bit 24~31 ); n9 N/ I7 |$ F
  29.                                          ) H" e: z$ i& t" @5 p) J
  30.                                          属性Attrib = 0x8F92
    5 m& p  H: Z4 B. K# i' p# y
  31.                                          
    2 _2 h2 `# _; i
  32.                                              属性位Hibyte低四位为
    0 Y2 z' ?; X4 ]0 z# f
  33.                                                  Limit( 16~19 )=F3 T8 w3 T# s" n# G6 J
  34.                                              属性位Hibyte bit7 为粒度: o2 Z% `  p2 n! [6 ~% @  ?5 d
  35.                                                  (值1=4KB粒度)' e0 S! X$ d6 m9 }/ ]7 d
  36.                                                  8F & 0x80 = 1
    2 M  M- w  n% m  e* L2 F0 S
  37.                                                 
    " Q) W1 V1 w* V, ?8 Q7 M
  38.                                              属性位Lowbyte低四位为段类型,值=2& ^: A  @; E, p9 N
  39.                                                  表示为可读/写段  D; w) A/ P5 b$ S
  40.                                              属性位Hibyte高四位=9,bit3=1表示:& f8 a# Q$ w9 z
  41.                                                  描述符对地址转换是有效的。5 x1 u0 |6 N7 n1 N  i* }
  42.                                                  bit0=1表示为:0 o7 V. M3 g1 z/ X4 l
  43.                                                  系统段描述符。而不是门描述符。
      Y& ]$ R5 R1 V3 c
  44.                                              
    % N9 M; ?' W  H' L, C0 f
  45.                                          */& a( J; }8 b- k3 k& [) u
  46. 3 F- [# z/ V' J# T& r4 h
  47. /****************************************# m2 Q5 r, \8 {- _1 q- _
  48. *    GDTR寄存器, 48bit=6bytes            *
    & J" r* E9 R# c" \( J; p3 P% S; L
  49. *    +-------------------------------+   *: b6 O- Y, f4 O5 M
  50. *    |   32bit基地址       |16bit界限|   *: Q: o" f# {- E
  51. *    +-------------------------------+   *
    ' W& ?8 z  F1 ^( y/ T
  52. ****************************************/, R/ O) |7 j: m
  53. unsigned char GDT_Addr[6]={0};( a; K0 {: h$ R0 R: C

  54. ! n5 \2 O, Z% z; q
  55. /****************
    6 N: `3 s9 D% h3 m, r! K( m8 |
  56. *    打开A20门    *
    + u, H5 l$ }9 x
  57. ****************/8 N; S7 L+ h5 Y9 T4 i
  58. void openA20(void)
    $ l9 }% q* }* `3 |  W1 Z
  59. {
    0 Z, M6 @  n: _. t) M9 X
  60.     asm{
    : @# w- f* w! E9 Z! n1 v
  61.         pusha, q( k3 J+ p4 l9 u
  62.         in         al, 92H
    # p; J; b+ s1 m' L- ]* Z3 M
  63.         or         al, 0x024 l) V* z, o2 n2 x2 D  Z
  64.         out        0x92, al
    9 t- E1 l+ z7 j9 u$ Q/ q/ }( r+ I
  65.         out        0xed, al+ |# o2 |! S( e2 `. U
  66.         popa
    # g6 N- {/ E5 b4 M4 S
  67.     }
    ( t5 g1 E8 O5 h% A! }  `( O
  68. }
    - Y+ G' Y$ ^1 y, j/ ^: s9 W7 j1 P

  69. ( p4 V& A  f4 W7 C! f! z, |2 D- v0 t
  70. /***********************************************
    3 D/ n# c( D' y, i$ |& _) K% {+ O1 [
  71. *    函数功能:进入DOS4G                       *. [7 ?. U& B' E! q( w
  72. *    ====================                      *3 J+ l( K" r) a, z2 c  h5 T9 M8 F2 ~% i; K
  73. *                                              *1 D! L' X, E+ [5 L
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *+ j1 Q& N  P4 @1 ^' f
  75. *   如:                                       *
    % d9 r3 x2 m/ D! _
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); ** x0 H1 f) A0 P' S# f  l
  77. *       表示为 2个GTD                          *, c8 P9 B/ U( o- ]& V% x
  78. *                                              *4 y4 ~* z+ M- w& ?
  79. *    选择子为所在描述符内的字节偏移。          *
    : g- a$ d8 ^/ t& ^. C$ ]" F
  80. *                                              *6 K1 ~; {3 B0 u) v9 `1 Y
  81. ***********************************************/
    : X8 z4 D" X$ N3 b/ [
  82. void set4gb(void)
    : Z7 _2 N4 ~/ x/ o2 @3 J5 l
  83. {& f8 s6 f! w' B' r
  84.     asm{
    % I# t# a$ L& y( ?+ `/ X0 U7 T
  85.         cli
    9 O$ Z% H5 O( U+ w
  86.         /***************************************** L- }5 U: K; _$ n* g- a  |. G0 T
  87.         *    GDTR寄存器                          *1 q; A# G2 {  o' x9 U
  88.         *    +-------------------------------+   *2 V4 W" _4 ^; I2 h2 w
  89.         *    |   32bit基地址       |16bit界限|   *
    # Q  x  U  ?: k1 R4 ?/ n" B3 K1 s
  90.         *    +-------------------------------+   *
    2 i  E4 H* Z# t7 n; y$ C
  91.         *****************************************/$ ~0 x0 t, @. r$ V2 C5 H# |8 F/ Z
  92.         /*********************
    & P+ F/ y( `: Q6 \* w& |- l- E  R
  93.         *        得出段界限       *% W. Q/ J! ]/ v: O
  94.         *********************/
    % Y" m: A6 V% d
  95.         mov        word ptr GDT_Addr[0], (2*8-1);& Y; w' V' L# N4 F
  96.         /********************************************
    8 s, x) A4 t: v2 A" a0 q- k: W
  97.         *    计算GDT表的32位基地址,存入GDTR        *0 k8 q) w- n! B: m0 ^
  98.         ********************************************/" _8 f3 \( I( o3 R
  99.         mov        eax, ds) J+ T8 m8 t; R
  100.         shl        eax, 4
    2 f9 D4 G: `9 B; b" k- i" W/ v4 J, V
  101.         xor        ebx, ebx) _+ b6 i2 Q+ p- \! P
  102.         mov        bx, offset GDT_def
    , L/ i+ M9 N, \, e  Z* t; M
  103.         add        eax, ebx% D+ N& X! S# u( ~5 M+ E1 B
  104.         mov        dword ptr GDT_Addr[2], eax9 I- Q1 F7 ?7 _2 r
  105.         lgdt       fword ptr GDT_Addr
    ( m! c. e; T; h( h
  106.         /********************3 B$ v% U# H& w7 n  y
  107.         *   选择子偏移      *. U8 k) B1 c2 x/ V: \5 z
  108.         ********************/5 }" u1 W9 \, Y2 H1 ?& Z. H
  109.         mov        bx, 8
    0 n" D  b3 T! O# F2 D
  110.         mov        eax, cr0& w1 P, G- x, ?
  111.         or         al, 1
    & {# q8 [6 S( P9 t5 `/ y' _+ K: I
  112.         /**********************
    1 n# o' T6 ^; ]+ n
  113.         *     进入保护模式    *
    1 w3 u! k1 F. H7 [# q( ?# n
  114.         **********************/4 G0 R' Y! f: p, W/ o& |
  115.         mov        cr0, eax
    + Z1 k& p  b9 ?& p& B# {
  116.         jmp        pMod
    . w# I* B, N/ o( h& T9 @* a
  117.     }) }! \# d2 V5 Y* Q

  118. & A% M4 [4 m: S3 x/ w% H' n
  119.     pMod: asm{
    8 D$ {3 w+ a8 W. z! {
  120.            /************************************************************
    1 H' u4 Z9 Q0 n& Q
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *6 g% w/ l6 ~/ o
  122.            ************************************************************/
    ; T, T* ]5 g+ v# \+ f' i4 z
  123.         mov        fs, bx% i- D( {' w5 s2 F
  124.         mov        gs, bx
    2 g- s7 ], u% x. A7 |1 t
  125.         and        al, 0x0FE7 s/ w. S, x4 B3 n
  126.         /******************
    8 M4 p3 y1 ^: L/ i
  127.         * 进入实模式      *
    , q( R6 T7 j3 V
  128.         ******************/
    " y% F  a, v3 b+ d2 N! Y9 e" z! y
  129.         mov        cr0, eax/ I- Q2 k" ]& T( m2 X
  130.         jmp        rMod
    ! }- }$ _' a  ~- S& k4 Q6 |
  131.        }
    & x1 R- |. z# d# x; I) g0 V( f
  132. " z5 b! Z0 U  V6 D
  133.     rMod: asm{  \  _8 E9 H+ u( I9 P+ \
  134.         /* ******************************************************************3 f4 v( B6 B* J" k
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     ** q, h" h! \# I/ ^+ e5 d
  136.         ********************************************************************/
    $ y9 F& \& `1 ?- h9 u) Z: e
  137.         mov        ax, 0
    ' L& G8 e! W, R3 D% r* N0 o: l
  138.         mov        fs, ax
    6 U/ Y1 h, D1 O7 d% S6 N
  139.         mov        gs, ax% {: v. s! t2 b3 O1 x& W
  140.         sti
    % r% U0 x  x% [  s6 m2 h* ?
  141.     }
    * s7 ^) {. @6 Y, u- W* p9 q/ {" S
  142. }
复制代码
这是asm的
  1. ;/********************************************************************) O. ^5 Z1 M9 v9 H9 }$ b5 B' p
  2. ;*    File: DOS4G.asm                                                */ r! {: d, N" r( R: u
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *# c& n( l1 l+ [7 V2 o& ?( x% k
  4. ;*                                                                   *
      ]& z# K  n' q: B1 v5 {
  5. ;*    ========================Title===============================   *6 m* o% u$ J1 X
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *# A3 T, V$ k, @0 L" a  W
  7. ;*                                                                   *
    2 S. j" d7 J* y4 F) a! C% F
  8. ;*   ===========================History==========================    *' l5 P- `3 H# I$ L
  9. ;*    author: bini                                                   *, i8 _7 d4 H2 j" X. s0 H; f: w, S
  10. ;*      date: 2008-10-08  Frist version.                             *; |; ^! l/ @' M, @6 w
  11. ;********************************************************************/
    + C& v8 u+ Q+ Y* n7 y4 h
  12. .model small
    , {5 C2 n4 H& ~: v" B% ]+ e
  13. .586p
    / u/ N* Y. K9 G5 R- R7 D0 ^" Z
  14. # }' Z/ u, ?6 r0 d& m
  15. DSEG  SEGMENT   USE16                 ;16位数据段: T1 _$ x( L5 x5 ^5 k
  16.   Z+ L* p8 u4 K0 d. \9 C* |' S
  17. DESC            STRUC. \' ]8 }$ y8 |8 O' O$ F
  18.         LimitL          DW      0 ;段界限(BIT0-15)) L) {2 K) D" s7 z6 v5 V, p8 L& N
  19.         BaseL           DW      0 ;段基地址(BIT0-15)
    1 n7 Q- A- v" r$ \1 Z
  20.         BaseM           DB      0 ;段基地址(BIT16-23)( P3 I) T6 A" v( X+ B5 I& i3 n5 ]; W
  21.         Attributes      DB      0 ;段属性$ A! G; k3 ~! L
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位). [4 X: b7 P; b; y' l5 F4 l
  23.         BaseH           DB      0 ;段基地址(BIT24-31)# b: v. _# g6 \  l$ f1 H1 v7 a; K
  24. DESC            ENDS
    " s! B( \7 E% l% p. [
  25. / O, Y# R4 N, [- z$ `5 `  W6 y" y
  26. PDesc           STRUC8 c0 s$ l: m- L- v1 u3 I
  27.         Limit           DW      0 ;16位界限
    3 w6 f8 R, k4 S2 ?
  28.         Base            DD      0 ;32位基地址
    + w% U+ {0 _% x  c. K
  29. PDesc           ENDS# d% I% S3 Y4 B# ~6 G: C7 ~

  30. 2 B' w( X( O; L5 g' H" [
  31. GDT_def         Label   Fword0 U* y- I! D  |$ x
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>7 W9 K( B5 t1 O' R) d7 z' A, Z
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>8 m& q6 m) Z; _2 D
  34. 2 \, m5 ^7 L: h  v9 S! z9 m/ M
  35. GDT_Addr        PDesc   <$-GDT_def-1, >! L& m5 s8 o) @
  36. DSEG            ENDS                          ;数据段定义结束
    6 o& u7 e! g) `1 K" h" p4 s
  37. & d% j2 O& {) p/ L+ y$ }
  38. CSEG            SEGMENT USE16                 ;16位代码段
    * W& T. P( J: I) k: ]4 U8 E. o! u
  39.                 ASSUME  CS:CSEG,DS:DSEG+ s8 [& W3 ^9 f7 E$ c, x
  40. .Startup
    * i: s6 }6 w" F. O- L
  41.         call      Set4gb
    $ U+ H% Z! _1 l: j% O
  42. ;
    2 [0 L: \2 i. M1 V9 Z
  43. ;       fs, gs即能访问4GB空间
    / i$ u! v1 c2 n
  44. ;       write your code in here.- y  \8 Y6 Q( x9 M7 d: F
  45. ;
    2 Z- n5 h4 W! F& B4 O  s
  46.         .exit
    7 {9 e$ y# X& \6 u  M2 h) J7 B
  47.         2 s) F7 X- B* O  D  T& o1 I' j
  48. Set4gb          PROC      NEAR; l/ N8 c# R% W! p4 T0 f
  49.         in        al, 92h
    . g5 ]* \" |0 \7 ~3 D! r7 G6 G
  50.         or        al, 002
    + y- d4 d1 E. `! b. o* L
  51.         out       092h, al; R8 z( c) p$ A1 q$ C* s+ K' x0 `
  52.         out       0edh, al
    2 \2 v! _7 v8 \  M# a
  53. $ ]( G, N6 L7 o7 `0 z* q
  54.         cli
    9 i$ @; v1 F& {/ x2 y& ]$ u! f

  55. 6 c, n' E, ]7 o5 L0 B( x6 P
  56. ;        mov      word ptr GDT_Addr, (2*8-1);7 F) C* l" O/ A0 x

  57. 4 S' R( o. p* a9 ^- a( k
  58.         mov       eax, ds7 |6 ~' L# F5 v' V- b+ {* W, X. `! t
  59.         shl       eax, 4% K3 z5 _( H2 c. f
  60.         xor       ebx, ebx
    5 i, R* a) ?% J2 Z
  61.         mov       bx, offset GDT_def: W* m+ @3 W! u. i5 `
  62.         add       eax, ebx
    : R# v. }; S" R6 ]( F6 z
  63.         mov       dword ptr GDT_Addr.Base, eax. j+ Q1 {% l+ m1 _6 v) @
  64.         lgdt      fword ptr GDT_Addr
    ! c; [# s) y! k2 s9 B* A( N

  65. $ Q1 R* z8 S/ p& j
  66.         mov       bx, 88 k/ Q: m# E0 I" b! k& E$ _' n5 l
  67.         mov       eax, cr0
    $ F6 W* z6 O6 L, W. _9 b! e( W. u
  68.         or        al, 13 r- C' b6 J5 y; _9 Z1 v
  69.         mov       cr0, eax2 O* |+ x4 B( s( j/ \) L! L
  70. # h; Z8 Y4 b9 E. G
  71.         jmp       pMod
    5 W/ d+ f) U% m0 q9 t/ F4 _$ G! y
  72.     pMod:
    - U6 f3 ~) n6 r) ^) L
  73. 2 {, `) r' C  L$ `4 h
  74.         mov       fs, bx$ M; J' P7 s6 c( P  m% ?' p
  75.         mov       gs, bx8 A# A) r! k+ s6 _1 B1 t
  76.         and       al, 0FEh2 @9 v1 ^1 g8 t% M" c
  77.         mov       cr0, eax
    * g' [7 R4 r% [. Q6 C0 t% L7 b* B
  78.         $ \6 R4 s4 e! g1 v) x! h( u6 x0 O
  79.         jmp       rMod9 G  A2 @4 g1 u( h& ~" I+ w8 A
  80.     rMod:$ |% g2 |1 }% l( o

  81. 8 O( z" s; T( t; \
  82.         mov       ax, 0
    % o6 a$ ^( n) g6 J
  83.         mov       fs, ax
    2 H  z+ {3 I: K
  84.         mov       gs, ax1 b% W$ U' @# F5 ]
  85.         " A  ?* k9 l7 o  P( K* }1 T1 c
  86.         ; 在2M的位置测试写一下数据8 g2 ^0 n! h( w' ~; ^+ M9 H
  87.         mov       esi, 200000h& a, t) |: A9 V
  88.         mov       dword ptr fs:[esi], 055aa55aah# H% D: m/ }- P& t9 U2 e, P* B% F
  89.         ; 用RU去看看200000h的位置是否是此数据....% l% |1 a1 h  w

  90. 3 |8 ~) w8 r8 D7 L+ I
  91.         sti
    ' ~6 X3 b8 a2 s+ r8 V
  92.         ret, I6 {4 I2 C7 v& A
  93. Set4gb  ENDP
    $ x' I5 B- {' j/ u, x6 `
  94.       
    ) C" T+ i" j4 ]
  95. CSEG           ENDS                              ;代码段定义结束1 h" K) L6 Z) Z$ K, H% [. 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选 80386
  S" }9 k& j, D/ m* N. c
( ^/ v! c; S  M: n0 U; g' Voption->compiler->code generation中的option选中, [X] compile via assembler
! k% u3 F: w9 u) w3 S' M& {( `" q% t- h! 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;
$ K- W( V, u3 x, M! o4 K! PData_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;# L+ ]+ Y  D* O
+ V6 b' F0 u6 V. A9 `7 n
GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;/ r  W: T3 ]/ a. S; I: \
替换如下,& ^( A% R; w( w. `) {# n% l
Null_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
9 P6 D. ?& i( B" X4 {Data_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>
( T! P  l( k2 j- I. z/ m
' z: W) }* X8 N* K* U% t6 W( AGDT_Addr        PDesc   <$-GDT_def-1, >
; s, V4 |" C$ @这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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) s- n0 ?( l4 ?- P0 r2 Boption->compiler->advanced code generation中的instruction set选 80386
7 a& a1 v6 R( }) ^# ^3 m& k6 S1 d2 c( F1 G  N9 w
option->compiler->code generation中的option选中, [X] compile via assembler

: k( ]# |& w. [9 l   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表 & o+ a% Q& g6 b" v" i$ Q
, g5 r  T, O+ d# z( x/ t5 D
   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...
7 E' M8 d  K' s, A5 {" j

2 `! w, D6 C* z. U5 W, L/ u% n, b我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

发表于 2011-2-21 21:04:39 | 显示全部楼层
option->compiler->Transfer 设置TASM的路径,就不会提示找不到TASM;
/ R5 _1 b: W2 @+ Y9 l还要把TASMMSG.exe拷贝到源代码(工程目录),就可以编译完成了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 00:18 , Processed in 0.081929 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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