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

DOS 4G big real Mode Demo code。

[复制链接]
发表于 2008-10-8 14:29:37 | 显示全部楼层 |阅读模式
刚学习的同学,有些还不会,我这里贴点C和asm的代码。只供参考。
4 B& Z$ m4 m- b0 P3 ]
: J$ J6 D9 L( X% f这是C的
  1. /********************************************************************
    . y! j( K$ n0 C, t8 q' \
  2. *    File: DOS4G.H                                                  *
    3 |0 @9 ~' j+ s, Z8 [
  3. *       Compile with BC 3.1 ( Editor: Tab size = 4 )                *
    + L+ D/ b1 @" w2 C6 o, Y
  4. *                                                                   *
    1 U& e7 H- p/ \4 ~
  5. *    ========================Title===============================   *
    , r$ c+ y, b% X/ J$ m
  6. *        这个函数是让系统进入DOS 4G模式                             *
    % y$ k5 s( j: `1 d
  7. *       程序参考了:陈家琪《DOS实方式下直接访问4GB》                *7 x9 G% T/ i% ^
  8. *                                                                   *) {+ Q/ Z1 q/ H8 Z, w8 S
  9. *       使用: openA20(); set4gb();                                  *
    + t1 l' o, f. Y* |
  10. *                                                                   *
    * N. a8 I; n- @
  11. *   ===========================History==========================    *+ M- ^5 v: B. j9 B; Z
  12. *    author: bini                                                   *6 ]- ?5 W! i& I1 ]
  13. *      date: 2004-11-30  Frist version.                             *
    ; X/ n, \% A  k
  14. ********************************************************************/
      {+ [. M  h, j% y( y
  15. . w! U& a0 ^! D5 C5 H
  16. #include <conio.h>2 Q- C3 }7 W8 N4 W! x; S# v9 F
  17. #pragma inline
    / l- k+ N" A  y8 L/ H+ [. b

  18. 5 U9 n2 y7 F' G2 V0 F
  19. /***********************************************
    2 m; e' O" U: o# [
  20. *    两个GDT,第一个为系统使用,不管,默认为0   *
    ( R: I5 t, y6 b( s
  21. *    第二个为一个数据段,没有代码段。           *8 H9 h' |* a# w) Q+ n- {& M
  22. ***********************************************/
    1 r7 V2 v) o- F" j) J( |9 A: U4 _* L4 c
  23. unsigned long GDT_def[ ]={0,0,      /*系统使用*/
    : s4 G4 M' q, N* w
  24.                           0x0000FFFF, /* hi16bit( 0~15 ) is base low=0,
    / k5 w$ H4 M& m  V- T# ~
  25.                                          low16bit( 0~15 ) is limit low=0xFFFF : P( j* _8 W! I1 W5 F5 l! [
  26.                                       */$ Q9 h2 B) U9 s9 a
  27.                           0x008F9200};/* 最低字节为 base( bit 16~23 )0 |/ v/ X& V  J+ W
  28.                                          最高字节为 base( bit 24~31 )
    5 C8 w0 U) i0 E5 T& M, ]  {! @1 C7 ^# M
  29.                                          # Q  X2 D9 A$ G% j
  30.                                          属性Attrib = 0x8F92
    0 B1 I; ^! y5 `% m  b% R2 Q
  31.                                          & d/ g: u6 g8 V: g3 z
  32.                                              属性位Hibyte低四位为 $ ]3 u! s' H/ ]  m
  33.                                                  Limit( 16~19 )=F
    6 k) U) w4 \' X, j& T" `
  34.                                              属性位Hibyte bit7 为粒度
    , G: W$ |! {9 D3 F4 D- p/ K4 o
  35.                                                  (值1=4KB粒度)
    1 [% f9 q8 D0 n8 i
  36.                                                  8F & 0x80 = 14 q& ~7 u% N$ i( r& K
  37.                                                 
    ' T8 }3 U2 V1 S
  38.                                              属性位Lowbyte低四位为段类型,值=2$ ]3 f5 S% c) z0 |, L( {* g
  39.                                                  表示为可读/写段
    6 @2 u+ C+ w- M/ ?+ B) @' ^
  40.                                              属性位Hibyte高四位=9,bit3=1表示:
    . \1 D) Y: L0 {0 v2 q- ~8 h
  41.                                                  描述符对地址转换是有效的。% ?% ]$ \- w0 a( L
  42.                                                  bit0=1表示为:
    ( {; ?* a% m5 Y% H! I4 Y6 M6 L
  43.                                                  系统段描述符。而不是门描述符。
    7 d* D/ d. G& v" y$ Q
  44.                                              
    ; `- C+ l' ?# M. R
  45.                                          */
    - R' B8 O2 V) `3 i7 ^9 e" E$ ?

  46. " X. Q8 t1 [- J0 i  z
  47. /****************************************, r: b3 @) b; a' A2 |& T  Q
  48. *    GDTR寄存器, 48bit=6bytes            *( k( `/ ?/ k! z% u
  49. *    +-------------------------------+   *) V$ _4 W8 j1 s- ]6 W
  50. *    |   32bit基地址       |16bit界限|   *
    $ N% |, s) h4 c- g
  51. *    +-------------------------------+   *
    % B1 i4 g8 \; B2 M; v1 s$ U
  52. ****************************************/- a( H, K1 n( g$ V% m8 ^' ~. p
  53. unsigned char GDT_Addr[6]={0};
    6 E  S1 c) i: h, H. m* R

  54. 5 `' x: A9 a0 Y- S
  55. /****************
    3 Y$ Y4 c5 Z* G8 R. k! C
  56. *    打开A20门    *  U8 Q) g5 X, E& c
  57. ****************/# A* I( }0 I& w& A# [
  58. void openA20(void)* J. b! ~8 z7 ]7 A- D
  59. {
    " u# Q; v' ~- y/ e3 p1 G
  60.     asm{1 M9 s6 T- d+ N% v& z
  61.         pusha
    " M. V: [6 o  R4 {1 P
  62.         in         al, 92H, ]' _( i! k9 R( m7 Z* n* O# _+ A
  63.         or         al, 0x02$ D! j  A/ E4 k( b, Y7 k
  64.         out        0x92, al% r5 A& t# x# H: J' r9 I( b5 F
  65.         out        0xed, al
    & s: b" f2 ?2 n
  66.         popa( ?: `2 v, X2 V3 s! M
  67.     }
    $ i) S- h4 L( z, _
  68. }
    - _* z) S7 s# C; ]; J" n
  69. 4 X- N% [; C+ G: W0 Z# J
  70. /***********************************************
    # j) r' E! s* |! E/ ?/ _
  71. *    函数功能:进入DOS4G                       *# j* s1 q# F  Q; r+ D  l6 {. a
  72. *    ====================                      *  J: w# J- V8 _/ ~1 b$ ^, |
  73. *                                              *
    5 s0 e2 p! x+ ?0 j; O( g
  74. *    GDT描述符界限计算方式:描述符个数*8-1     *1 S: L0 f* w/ m! x2 V4 n0 r
  75. *   如:                                       *- @& @7 H$ k% u9 F! v$ Q- {
  76. *        mov    word ptr GDT_Addr[0], (2*8-1); *7 x* S3 F3 W4 |# p4 M
  77. *       表示为 2个GTD                          *
    * _6 E3 ~$ |, O1 d
  78. *                                              *
    6 |2 v3 O* `3 B5 x# e1 t
  79. *    选择子为所在描述符内的字节偏移。          *
    ! c) {, g, w5 y: \/ w8 L, v
  80. *                                              *
    - A$ b; E0 G: V& ?" U: N$ S
  81. ***********************************************/
    ( A$ x2 U3 x3 Z$ k4 s! E
  82. void set4gb(void)3 n, x* y' x. |
  83. {
    . B6 h& t. R0 R3 k5 T3 E
  84.     asm{
      t2 F. y8 Q4 n& ?: A* e: o- d
  85.         cli
    1 J' x# B. @% j$ m( I0 ^0 ~
  86.         /****************************************
    - @. ^$ z8 O0 A8 D& E4 q+ o! H
  87.         *    GDTR寄存器                          *
    6 g: |3 G9 P" U' E4 j3 d; g( ~8 z( `
  88.         *    +-------------------------------+   *% f+ t5 {$ o+ r4 O1 e! A5 J- D! A
  89.         *    |   32bit基地址       |16bit界限|   *: i% p6 L5 U4 d* c5 u, ]& k$ y8 l
  90.         *    +-------------------------------+   *' I, z% y: @, M- l; K5 H& x$ e; {
  91.         *****************************************/
    ) i/ U6 s4 \$ y3 i# G
  92.         /*********************& y) E0 ~- l9 w3 k4 T) N/ Z5 u
  93.         *        得出段界限       *
    # P! G% ^' n' n$ h/ \
  94.         *********************/1 B2 u! G; T6 _! Y3 u4 R0 S; S& k
  95.         mov        word ptr GDT_Addr[0], (2*8-1);
    / M, q1 i. Z# M: o1 z
  96.         /********************************************
    6 p% j7 G# O8 ~, m& {& O4 Q
  97.         *    计算GDT表的32位基地址,存入GDTR        *! `% G) F% a) }% t) r
  98.         ********************************************/3 _% x/ o( o1 l. {' l0 p3 G3 y7 T
  99.         mov        eax, ds
    " I- _3 l2 y2 N! x4 m
  100.         shl        eax, 4
    . \1 p2 k4 f$ Z- k/ H0 ^
  101.         xor        ebx, ebx
    7 m! w4 F# W2 J: u6 `
  102.         mov        bx, offset GDT_def
    8 K8 y7 @  ~% y! M. l. ?& o* E/ {: i
  103.         add        eax, ebx4 f2 W# {" T7 p, M, g$ j. q
  104.         mov        dword ptr GDT_Addr[2], eax  [, W' j& \1 s- H
  105.         lgdt       fword ptr GDT_Addr
    ) `+ F3 X# p+ E7 M5 w
  106.         /********************/ Q# e! y+ x% Z7 [3 x
  107.         *   选择子偏移      *. N6 C, S0 i# |# y- s
  108.         ********************/
    1 [: y' Y3 x- |, ?  M9 G
  109.         mov        bx, 8
    ( m4 o1 S, s; F) P& u1 \
  110.         mov        eax, cr01 Z  |0 t: m& U- a" Z: Q* X' D% J! r
  111.         or         al, 1
    5 O& ~( r$ k" Z% H
  112.         /**********************
      E, l( y7 ?: V. H3 w  i* f
  113.         *     进入保护模式    *
    , w8 S! }* g. \  n1 K
  114.         **********************/
    + W" O' R) R! c( I- r
  115.         mov        cr0, eax
    * P' l$ J4 Q1 T
  116.         jmp        pMod
    / O6 U9 Y2 v: Y' F/ \6 [$ @( u
  117.     }! k4 C. V8 g3 K: n: u+ o
  118. $ V: u3 z6 l; Z- I' k+ q& L6 n
  119.     pMod: asm{
    9 J" c9 v1 Z2 D& ], `
  120.            /************************************************************
    $ _' W+ `, d6 p7 d
  121.            * 让fs与gs加载选择子,使其能访问 0xFFFFF * 4K (4GB) 空间    *
    0 E4 Y9 F$ i$ k* }
  122.            ************************************************************/
    & I7 c" x+ d: t! B
  123.         mov        fs, bx8 n8 {1 Q$ q9 u- T5 J- s
  124.         mov        gs, bx8 S3 [$ ^8 x5 f1 r( _( I- x( [
  125.         and        al, 0x0FE, {3 ~% p: S4 x
  126.         /******************9 J. m7 E: W8 I1 _- l8 |8 b' y
  127.         * 进入实模式      *
    , e4 X; o' n( O& v8 \: _2 T
  128.         ******************/* B% a5 C0 }& z7 w* H
  129.         mov        cr0, eax' v5 |1 X! Y, m5 \4 ~
  130.         jmp        rMod3 {# i; H- Z2 l4 p% A; _
  131.        }0 G9 }3 Q+ E  m/ l5 }
  132. 1 c4 A0 P. R8 e! w- V1 M1 @
  133.     rMod: asm{; K1 H. h: M8 e  a! S" ]
  134.         /* ******************************************************************
    / A0 o+ h' m1 O( q: ~# s/ e  j
  135.         * 退出,fs、gs清0,访问系统内存可用: gs[32位,相对于0的偏移地址]     *
    : [: v) i0 E, ?& [4 R
  136.         ********************************************************************/+ P5 d1 W9 i6 ~1 B  d
  137.         mov        ax, 0' L1 n5 F2 h/ ?; H
  138.         mov        fs, ax
    9 Q, V# I% ?0 ]2 H) i' F( @; Y: z
  139.         mov        gs, ax, J- e$ f0 I+ e; R! S1 N
  140.         sti1 |; \8 @" V& N' n! I$ g2 f6 F2 M
  141.     }
    0 L! E3 [/ N2 h5 w- J. D9 n
  142. }
复制代码
这是asm的
  1. ;/********************************************************************
    & {( A  y; i: i
  2. ;*    File: DOS4G.asm                                                *
    6 O) g2 b5 ?: C, a1 c
  3. ;*       Compile with masm ( Editor: Tab size = 4 )                  *
    0 C' w5 s$ }: T: D% f8 G2 q/ `  `. b2 j
  4. ;*                                                                   *; q+ D' L6 ?& F* d) n! B
  5. ;*    ========================Title===============================   *
    4 e& o+ N! n2 G% k6 a- J, ?
  6. ;*        这个demo是让系统进入DOS 4G模式,进行数据访问               *6 y. Y7 p+ ~9 C+ m
  7. ;*                                                                   *
    4 m: d9 p$ H( C/ i, `8 A
  8. ;*   ===========================History==========================    *; J3 \! R4 \% E3 ^/ C6 U% t0 l
  9. ;*    author: bini                                                   *: v; L- t" m) ]: `
  10. ;*      date: 2008-10-08  Frist version.                             *& l- p' k+ U$ f3 d: H: g
  11. ;********************************************************************/
    0 @5 x8 o2 {2 ?/ o8 w/ i/ p
  12. .model small5 P! c2 D) `% K( M+ I
  13. .586p7 T; n7 Z1 O/ o

  14. ) Q" a( D# i& v" v' w. i
  15. DSEG  SEGMENT   USE16                 ;16位数据段
    7 j; `8 y) J  }$ s( M0 G; ^

  16. % @5 R1 [; Z# z- ]
  17. DESC            STRUC
    ) `8 Q& n& {" b" s* B0 f# `
  18.         LimitL          DW      0 ;段界限(BIT0-15)$ ]! V* R- u% F$ s
  19.         BaseL           DW      0 ;段基地址(BIT0-15)9 [, i# d4 K3 a% A7 e  e
  20.         BaseM           DB      0 ;段基地址(BIT16-23)$ K# q6 N# G0 J  b% Z
  21.         Attributes      DB      0 ;段属性: z5 A6 d1 c9 w' ^; K
  22.         LimitH          DB      0 ;段界限(BIT16-19)(含段属性的高4位)
    ) R* [+ }! D! g0 W  G! j' ~. j
  23.         BaseH           DB      0 ;段基地址(BIT24-31)
    ) C* `% y! U. q) k! d
  24. DESC            ENDS0 q. E" E* a& r# l
  25. + m+ L  F# Y. w: Q* l! x
  26. PDesc           STRUC) ^. Z/ ?( I+ v6 i; }8 h
  27.         Limit           DW      0 ;16位界限& R0 q% W& W5 g9 O: o( i
  28.         Base            DD      0 ;32位基地址
    3 R2 v! h! `' |7 W# p
  29. PDesc           ENDS( U' k6 v) k! U! h% x/ v! E2 X
  30. % h2 j4 ^7 {9 c6 B2 e. X
  31. GDT_def         Label   Fword# g/ g. c; E* U% Z" Q
  32. Null_Desc       DESC    <     0h,  0h, 00h, 00h, 000h, 0>8 \# R( l) @& b; S/ T7 C
  33. Data_Desc       DESC    < 0FFFFh,  0h, 00h, 92h, 08Fh, 0>
    : o: Y- V" }; C' W
  34. ' `  y& }  e$ I9 U9 V
  35. GDT_Addr        PDesc   <$-GDT_def-1, >5 K+ p. m" g# _* b- ?
  36. DSEG            ENDS                          ;数据段定义结束
    6 Z7 [0 M2 |' {$ k( F. w
  37. ! E( v9 K; T0 l& D% x6 J2 A7 J! B% `
  38. CSEG            SEGMENT USE16                 ;16位代码段
    $ d) ^1 e6 Q: c0 _; }2 t
  39.                 ASSUME  CS:CSEG,DS:DSEG. p4 a# {0 {+ z
  40. .Startup* e7 q: d# s3 ?7 I* Q2 w1 P
  41.         call      Set4gb
    : o4 f. J3 p1 `9 \  l
  42. ;
    : S( \, Q/ Q% }
  43. ;       fs, gs即能访问4GB空间
      e6 Y' L! b: d- x" m
  44. ;       write your code in here.
    : f  x+ J3 i/ q+ E  V
  45. ;
    3 X* @& `& v  G, f0 v1 S
  46.         .exit
    ' Q& @4 D" I- ?% o1 j; _8 A& G9 I
  47.         3 ]$ t, _7 h- E  P- ^
  48. Set4gb          PROC      NEAR5 \* U8 w" ?3 ]) {& @* W6 c
  49.         in        al, 92h
    - z: y, O$ }% ~1 A
  50.         or        al, 002- h2 S3 C! I: g
  51.         out       092h, al
    : N% y0 V# l! d
  52.         out       0edh, al
    . Q' K5 J% t- p* W& a* H+ q! E* ^9 V

  53. 8 X: J$ t  Y+ c5 m8 F
  54.         cli
    ) g9 C+ y  p1 o) C! w( E

  55. ( [) J( @% ~, e
  56. ;        mov      word ptr GDT_Addr, (2*8-1);( Z" Y5 U1 W$ U3 w, I/ Y! x, Q

  57. 8 o) G+ A' c5 p! i# Z* {
  58.         mov       eax, ds
    : A1 Y8 P0 z8 l- C9 k5 G, }
  59.         shl       eax, 41 Z+ e; w+ @: Z* P" g- J
  60.         xor       ebx, ebx
    2 ?+ h, L. G, }* E
  61.         mov       bx, offset GDT_def
    ; V% W- f; ^; t* \4 P$ }
  62.         add       eax, ebx
    5 c1 _) B& W/ ]4 p2 x2 u
  63.         mov       dword ptr GDT_Addr.Base, eax
    , N5 p7 A5 T( e4 p
  64.         lgdt      fword ptr GDT_Addr! e; y+ S* _3 D+ q# p$ c2 f
  65. , A0 |. G7 z- K2 c9 u- r1 T+ L" {! a1 f
  66.         mov       bx, 8
    , D0 J: ~& m) V9 W& T1 W9 R
  67.         mov       eax, cr0
    ) u  z& M$ @* G0 h
  68.         or        al, 1
    . m. X2 {9 w+ F5 C
  69.         mov       cr0, eax$ ]7 P* T9 O1 j# u) g, \
  70. / y% B& u; }/ W6 m% d" ~
  71.         jmp       pMod3 P! T: c: C, h2 E& d( |
  72.     pMod:
    # w! M! ~( f' z

  73. 3 B; p' X/ G( O
  74.         mov       fs, bx
    / |& |$ ^2 F3 K- {7 \7 f. n
  75.         mov       gs, bx
    8 n, n7 ?  N, d
  76.         and       al, 0FEh
    , u  [! b4 `. b$ j, E
  77.         mov       cr0, eax* w, |1 u3 a( A) _' P9 P+ F3 j
  78.         
    - `. H4 O4 ~: B. f8 M1 {3 G! h+ E
  79.         jmp       rMod/ k" Z7 [/ \% T% x3 ]
  80.     rMod:
      S* Y  p+ M. S
  81. / o/ i: k/ j( w2 {8 Y/ M
  82.         mov       ax, 0
    2 C. L$ O" j. v% b4 @3 F, _
  83.         mov       fs, ax
    4 I& e9 b8 ?. F/ I" o  b& X
  84.         mov       gs, ax
    & S# r+ X' F# U4 L
  85.         
    , F8 s1 s0 _2 N" `
  86.         ; 在2M的位置测试写一下数据" ]$ S7 u4 d) K% U$ G
  87.         mov       esi, 200000h7 ?9 @  s7 O; P. M0 f
  88.         mov       dword ptr fs:[esi], 055aa55aah
    ' F5 I/ q0 f7 X7 T
  89.         ; 用RU去看看200000h的位置是否是此数据....
    ; |( K5 y- y$ m" z; |
  90. & d% q; l- c2 x" y$ F' ~
  91.         sti) e3 c! v6 }" m8 J+ g0 E* z
  92.         ret1 j% |1 Y- W7 U! V4 g( F" B
  93. Set4gb  ENDP. P0 F8 t$ R- E5 w& _
  94.        4 q1 `( w) t# S1 @0 C& J
  95. CSEG           ENDS                              ;代码段定义结束
    . q0 F6 B  Q) X4 W9 {2 X5 z2 y
  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
* g5 M  Q6 ~/ Q  T+ F4 e3 u( D: `9 O* L8 L$ f  W
option->compiler->code generation中的option选中, [X] compile via assembler
" f9 u# G( m* a" h/ a6 B% ?7 O; b$ i8 @& T) V
[ 本帖最后由 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;& P3 k# A; [: Y. C+ \0 [
Data_Desc       DESC    &lt; 0FFFFh,  0h, 00h, 92h, 08Fh, 0&gt;" A$ t) N& u4 G$ n* p& N
* [4 N! n4 ^* `2 u
GDT_Addr        PDesc   &lt;$-GDT_def-1, &gt;8 n8 R, L! c  u# A5 S: b6 w$ |0 N
替换如下,
7 Y6 O6 N; M) V+ Q7 e8 ANull_Desc       DESC    < 0h,  0h, 00h, 00h, 000h, 0>
9 |; L3 U+ j4 E  I& pData_Desc       DESC   <0FFFFh,  0h, 00h, 92h, 08Fh, 0>0 h# ]- y9 D+ Y" O. f, \

+ Z7 A1 t- W) BGDT_Addr        PDesc   <$-GDT_def-1, >& o2 K3 w1 I1 e; A3 e( _. N/ K) x
这样你就能编译通过并且可以运行
回复

使用道具 举报

发表于 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 发表
, M# k) f" l" q8 y: g& h1 Noption->compiler->advanced code generation中的instruction set选 80386
1 H3 Y0 \2 U/ e8 Y9 y
" p0 ?9 i6 F7 [7 O0 Q6 N- Loption->compiler->code generation中的option选中, [X] compile via assembler

5 ]+ x9 t* T( u3 T7 x" ]   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教
回复

使用道具 举报

发表于 2010-4-12 10:27:08 | 显示全部楼层
原帖由 A_jack 于 2010-2-26 10:47 发表 7 p' E4 W! \  {+ S- ~

3 o1 r) b1 Z9 B   作了上述设置之后还是不行,编译的时候提示: cannot find executable: TASM. 我换了几个版本的TASM还是没用,除非拿掉含有32位寄存器的那些code才行。这个是什么原因,请各位大侠多多指教 ...
* L2 b# t& z, U- P/ q# C  o
. o( i( u' ]# z9 j/ ]3 i. U
我也是相同的问题,请问哪位有解,谢了!
回复

使用道具 举报

发表于 2011-2-21 21:04:39 | 显示全部楼层
option->compiler->Transfer 设置TASM的路径,就不会提示找不到TASM;
% M! @( \! g  l( T' S8 [7 m还要把TASMMSG.exe拷贝到源代码(工程目录),就可以编译完成了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 21:12 , Processed in 0.035537 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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