home *** CD-ROM | disk | FTP | other *** search
- ä«»«½¡Ñ¡¿Ñ ñ½∩ Borland C++ 3.1
- ══════════════════════════════════════════════════════════════════
-
- ì«óδÑ ßαÑñßΓóá Æπαí« áßßѼí½Ñαá óÑαß¿¿ 3.1
- ─────────────────────────────────────────────────────────────────
-
- Æπαí« áßßѼí½Ñα óÑαß¿¿ 3.1 »αÑñπß¼áΓα¿óáÑΓ ß½ÑñπεΘ¿Ñ ¡«óδÑ
- ßαÑñßΓóá:
-
- 1. ÉáßΦ¿αÑ¡¡δÑ ¿¡ßΓαπ¬µ¿¿ SETFIELD ¿ GETFIELD.
-
- è«úñá ¿ßσ«ñ¡«Ñ º¡áτÑ¡¿Ñ ß«ó»áñáÑΓ ß µÑ½Ñóδ¼ αÑú¿ßΓα«¼,
- ¿¡ßΓαπ¬µ¿∩ SETFIELD í«½∞ΦÑ ¡Ñ óδ»«½¡∩ÑΓ «»Ñαᵿε OR ¡áñ
- ¿ßσ«ñ¡δ¼ º¡áτÑ¡¿Ñ¼. é¼ÑßΓ« φΓ«ú« SETFIELD íπñÑΓ «íÑß»Ñτ¿-
- óáΓ∞, τΓ« ¡ÑπßΓá¡«ó½Ñ¡¡δÑ »«½∩ µÑ½Ñó«ú« αÑú¿ßΓá íπñπΓ ¡π-
- ½Ñó묨.
-
- ǡὫú¿τ¡«, Ñß½¿ óδ ¿ß»«½∞ºπÑΓÑ »α¿ ß«ó»áñÑ¡¿¿ ¿ßσ«ñ¡«ú«
- ¿ µÑ½Ñó«ú« αÑú¿ßΓαá ¿¡ßΓαπ¬µ¿ε GETFIELD, Γ« ¿¡ßΓαπ¬µ¿∩
- í«½∞ΦÑ ¡Ñ íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ¡ÑΣπ¡¬µ¿«¡á½∞¡πε ¿¡ßΓαπ¬µ¿ε
- "MOV »α¿Ñ¼¡¿¬, ¿ßΓ«τ¡¿¬".
-
- 2. ä«»«½¡¿Γѽ∞¡δÑ »áαá¼ÑΓαδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿.
-
- Æπαí« áßßѼí½Ñα 3.1 »«ºó«½∩ÑΓ ΓÑ»Ñα∞ ºáñáóáΓ∞ ñ«»«½¡¿-
- Γѽ∞¡δÑ «íΩÑ¬Γ¡δÑ Σ«α¼áΓδ, ¿ß»«½∞ºπѼδÑ «Γñѽ∞¡δ¼¿ ¬«¼»«-
- ¡«óΘ¿¬á¼¿. ¥Γ« ß½ÑñπΘ¿Ñ »áαá¼ÑΓαδ:
-
- ┌───────────────┬───────────────────────────────────────────────┐
- │ Åáαá¼ÑΓα │ ç¡áτÑ¡¿Ñ │
- ├───────────────┼───────────────────────────────────────────────┤
- │ /o │ âÑ¡Ñα¿απεΓß∩ ßΓá¡ñáαΓ¡δÑ ß«ó¼ÑßΓ¿¼δÑ ß TLINK│
- │ │ «íΩÑ¬Γ¡δÑ Σá⌐½δ ß αáºαÑΦÑ¡¡«⌐ »«ññÑ᪬«⌐│
- │ │ «óÑα½ÑÑó. │
- │ │ │
- │ /oi │ âÑ¡Ñα¿απεΓß∩ «íΩÑ¬Γ¡δÑ Σá⌐½δ ó Σ«α¼áΓÑ, ß«ó-│
- │ │ ¼ÑßΓ¿¼«¼ ß ¬«¼»«¡«óΘ¿¬«¼ IBM. │
- │ │ │
- │ /op │ âÑ¡Ñα¿απεΓß∩ «íΩÑ¬Γ¡δÑ Σá⌐½δ ó Σ«α¼áΓÑ, ß«ó-│
- │ │ ¼ÑßΓ¿¼«¼ ß ¬«¼»«¡«óΘ¿¬«¼ Phar Lap. │
- │ │ │
- │ /os │ âÑ¡Ñα¿απεΓß∩ ßΓá¡ñáαΓ¡δÑ ß«ó¼ÑßΓ¿¼δÑ ß TLINK│
- │ │ «íΩÑ¬Γ¡δÑ Σá⌐½δ ß ºá»αÑΘÑ¡¡«⌐ »«ññÑ᪬«⌐│
- │ │ «óÑα½ÑÑó. ¥Γ«Γ »áαá¼ÑΓα ºáñáÑΓß∩ »« π¼«½τá-│
- │ │ ¡¿ε. │
- └───────────────┴───────────────────────────────────────────────┘
-
- 3. ì«óδ⌐ áΓα¿íπΓ ßÑú¼Ñ¡Γá ¿ »αÑñπ»αѪñÑ¡¿Ñ « ¡Ñ¿¡¿µ¿á½¿º¿α«-
- óá¡¡«¼ ßÑú¼Ñ¡ΓÑ.
-
- ÇΓα¿íπΓ ßÑú¼Ñ¡Γá UNINIT »«ºó«½∩ÑΓ óá¼ óδ∩ó½∩Γ∞ ¡Ñ»αÑñ¡á-
- ¼ÑαÑ¡¡πε ºá»¿ß∞ ¿¡¿µ¿á½¿º¿α«óá¡¡δσ ñá¡¡δσ ó ¡Ñ¿¡¿µ¿á½¿º¿-
- α«óá¡¡δÑ ßÑú¼Ñ¡Γδ ñá¡¡δσ. êß»«½∞º«óá¡¿Ñ ñá¡¡«ú« áΓα¿íπΓá
- ó «»¿ßá¡¿¿ ßÑú¼Ñ¡Γá »«ºó«½∩ÑΓ óá¼ úÑ¡Ñα¿α«óáΓ∞ »αÑñπ»αѪ-
- ñáεΘÑÑ ß««íΘÑ¡¿Ñ, πóÑñ«¼½∩εΘÑÑ «í φΓ«⌐ »α«í½Ñ¼Ñ.
-
- Åα¿óÑñѼ »α¿¼Ñα ßÑú¼Ñ¡Γ¡«⌐ ñ¿αÑ¬Γ¿óδ, ¿ß»«½∞ºπεΘÑ⌐ ¡«óδ⌐
- áΓα¿íπΓ:
-
- BSS SEGMENT PUBLIC WORD UNINIT 'BSS'
-
- äá¡¡á∩ ñ¿αÑ¬Γ¿óá íπñÑΓ úÑ¡Ñα¿α«óáΓ∞ ß½ÑñπεΘÑÑ »αÑñπ»αѪ-
- ñáεΘÑÑ ß««íΘÑ¡¿Ñ:
-
- Warning: Data or code written to uninitialized segment
- (ÅαÑñπ»αѪñÑ¡¿Ñ: äá¡¡δÑ ¿½¿ ¬«ñ ºá»¿ßδóáεΓß∩ ó ¡Ñ¿¡¿-
- µ¿á½¿º¿α«óá¡¡δ⌐ ßÑú¼Ñ¡Γ)
-
- ä½∩ ºá»αÑΘÑ¡¿∩ ñá¡¡«ú« ß««íΘÑ¡¿∩ ¿ß»«½∞ºπ⌐ΓÑ ñ¿αÑ¬Γ¿óπ
- NOWARN UNI. é¡«ó∞ αáºαÑΦ¿Γ∞ φΓ« ß««íΘÑ¡¿Ñ ¼«ª¡« ß »«-
- ¼«Θ∞ε ñ¿αÑ¬Γ¿óδ WARN UNI.
-
- 4. ä¿αÑ¬Γ¿óδ PUSHSTATE ¿ POPSTATE.
-
- ä¿αÑ¬Γ¿óá PUSHSTATE ß«σαá¡∩ÑΓ ΓѬπΘÑÑ «»ÑαáΓ¿ó¡«Ñ ß«ßΓ«∩-
- ¡¿Ñ ó¡πΓαÑ¡¡Ñú« ßΓѬá, ¿¼ÑεΘÑú« ú½πí¿¡π 16 πα«ó¡Ñ⌐. ä¿-
- αÑ¬Γ¿óá PUSHSTATE «ß«íÑ¡¡« »«½Ñº¡á, Ñß½¿ π óáß ¿¼ÑÑΓß∩
- ¬«ñ ó ¼á¬α«¬«¼á¡ñÑ, Σπ¡¬µ¿¿απεΘ¿⌐ ¡Ñºáó¿ß¿¼« «Γ ΓѬπΘÑú«
- «»ÑαáΓ¿ó¡«ú« ß«ßΓ«∩¡¿∩, ¡« ¡Ñ ó½¿∩εΘ¿⌐ ¡á ΓѬπΘ¿⌐ «»Ñαá-
- Γ¿ó¡δ⌐ αѪ¿¼.
-
- æ«σαá¡∩Ѽá∩ Æπαí« áßßѼí½Ñα«¼ ¿¡Σ«α¼áµ¿∩ « ß«ßΓ«∩¡¿¿ ß«-
- ñÑনΓ:
-
- - ΓѬπΘπε óÑαß¿ε φ¼π½∩µ¿¿ (¡á»α¿¼Ñα, T310);
- - óδí«α αѪ¿¼á (¡á»α¿¼Ñα, IDEAL, MASM, QUIRKS, MASM51);
- - »ÑαѬ½ετáΓѽ¿ EMUL ¿ NOEMUL;
- - óδí«α ΓѬπΘÑú« »α«µÑßß«αá ¿ ß«»α«µÑßß«αá;
- - »ÑαѬ½ετáΓѽ¿ MULTERRS ¿½¿ NOMULTERRS;
- - »ÑαѬ½ετáΓѽ¿ SMART ¿½¿ NOSMART;
- - ΓѬπΘÑÑ «ß¡«óá¡¿Ñ ß¿ßΓѼδ ßτ¿ß½Ñ¡¿∩;
- - »ÑαѬ½ετáΓѽ¿ JUMPS ¿½¿ NOJUMPS;
- - »ÑαѬ½ετáΓѽ¿ LOCALS ¿½¿ NOLOCALS;
- - ΓѬπΘ¿⌐ »αÑΣ¿¬ß ½«¬á½∞¡«ú« ß¿¼ó«½á.
-
- ä½∩ ó«ºóαáΓÑ »«ß½Ññ¡Ñú« ß«σαá¡Ñ¡¡«ú« ß«ßΓ«∩¡¿∩ ¿º ßΓѬá
- ¿ß»«½∞ºπ⌐ΓÑ ñ¿αÑ¬Γ¿óπ POPSTATE.
-
- ; »α¿¼Ñαδ ñ¿αÑ¬Γ¿ó PUSHSTATE ¿ POPSTATE
-
- ideal
- model small
- codeseg
-
- jumps
- locals @@
-
- ; Å«¬áºδóáÑΓ ¿º¼Ñ¡Ñ¡¿Ñ ß«ßΓ«∩¡¿Ñ »α«µÑßß«αá, «ß¡«óá¡¿Ñ
- ; τ¿ßѽ ¿ αѪ¿¼ JUMPS
- pushstate
- nojumps
- radix 2 ; ôßΓá¡«ó¿Γ∞ ó ñó«¿τ¡«Ñ «ß¡«óá¡¿Ñ
- p386
- jl next1 ; Å«ß½Ñ φΓ«ú« ¡ÑΓ ñ«»«½¡¿Γѽ∞¡δσ NOPS
- mov eax,100 ; ÆÑ»Ñα∞ 100 «º¡áτáÑΓ ñó«¿τ¡«Ñ τ¿ß½«
- ; 100 ¿½¿ ñÑß∩Γ¿τ¡«Ñ 4.
- next1:
- popstate ; é«ßßΓá¡«ó¿Γ∞ JUMPS ¿ αѪ¿¼ ¡Ñ 386.
-
- ; éÑα¡πΓ∞ß∩ ¬ ñ¿αÑ¬Γ¿óÑ JUMPS, ¡Ñ 386 ¿ ñÑß∩Γ¿τ¡«¼π «ß¡«-
- ; óá¡¿ε
-
- jl next2 ; Æα¿ ñ«»«½¡¿Γѽ∞¡δσ NOPS ñ½∩
- ; «íαáí«Γ¬¿ JUMPS
- xor eax,eax ; ÆÑ»Ñα∞ ¡Ñ αѪ¿¼ 386!
-
- mov cx,100 ; ÆÑ»Ñα∞ 100 «º¡áτáÑΓ ñÑß∩Γ¿τ¡«Ñ 100
-
- pushstate
- MULTERRS
- mov ax,[bp+abc
- popstate
-
- mov ax,[bp+abc
-
-
- ; Å«¬áºáºδóáÑΓ ºá»αÑΘÑ¡¿Ñ ½«¬á½∞¡«⌐ «í½áßΓ¿ ñÑ⌐ßΓó¿∩
- ; ¿ñÑ¡Γ¿Σ¿¬áΓ«α«ó
- locals
- next2:
- @@a: loop @@a
- next3:
- @@a: loop @@a ; ä«»πΓ¿¼« í½áú«ñáα∩ «í½áßΓ¿ ñÑ⌐ßΓó¿∩
- ; NEXT2: ¿ NEXT3:
-
- pushstate
- nolocals
- next4:
- @@b: loop @@b
- next5:
- @@b: loop @@b ; ¥Γ« »α¿óÑñÑΓ ¬ ¬«¡Σ½¿¬Γπ ¿º-ºá
- ; ¡Ñ½«¬á½∞¡«ßΓ¿
- popstate
-
- ; Å«¬áºδóáÑΓ ¿º¼Ñ¡Ñ¡¿Ñ »αÑΣ¿¬ßá ½«¬á½∞¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá
- ; ¿ αѪ¿¼ MASM/IDEAL
- pushstate
- masm
- locals @$
-
- testproc proc ; ÉѪ¿¼ MASM ñ½∩ «»¿ßá¡¿∩ »α«µÑñπαδ
- jmp @$end
-
- @$end: nop
- @@end: ret
- testproc endp
-
- testproc2 proc
- jmp @$end
- @$end: nop ; ¥Γ« ¡Ñ »α¿ó«ñ¿Γ ¬ ¬«¡Σ½¿¬Γπ ß ¼ÑΓ¬«⌐
- ; ó TESTPROC
- @@end: ret ; ¥Γá ¼ÑΓ¬á »α¿óÑñÑΓ ¬ ¬«¡Σ½¿¬Γπ
- testproc2 endp
- popstate
-
-
- ; ÆÑ»Ñα∞ óÑα¡Ñ¼ß∩ ¬ @@ ó ¬áτÑßΓóÑ ½«¬á½∞¡«ú« »αÑΣ¿¬ßá ¿
- ; αѪ¿¼π IDEAL
- testproc2b proc ; ¥Γ« íπñÑΓ αáí«ΓáΓ∞, Γᬠ¬á¬ ¼δ ß¡«óá
- ; ó αѪ¿¼Ñ IDEAL
- ret
- testproc2b endp ; á φΓ« ñáßΓ «Φ¿í¬π.
-
- proc testproc3
- jmp @$end2
- @$end2: nop
- @@end2: ret
- endp testproc3
-
- proc testproc4
- jmp @$end2
- @$end2: nop ; ¥Γá ¼ÑΓ¬á ¡Ñ »α¿óÑñÑΓ ¬ ¬«¡Σ½¿¬Γπ
- @@end2: ret ; ¥Γá ¼ÑΓ¬á ¡Ñ »α¿óÑñÑΓ ¬ ¬«¡Σ½¿¬Γπ
- ; ß ¼ÑΓ¬«⌐ ó TESTPROC3
- endp testproc4
- end
-
-
- 5. ì«óδÑ ñ¿αÑ¬Γ¿óδ »α«µÑßß«αá.
-
- ì«óδÑ ñ¿αÑ¬Γ¿óδ »α«µÑßß«αá ñ«íáó½Ñ¡δ ñ½∩ αáí«Γδ ß »½áΓ«⌐
- 486SX.
-
- .487 - αáºαÑΦáÑΓ áßßÑ¼í½¿απÑΓ ¿¡ßΓαπ¬µ¿⌐ τ¿ß½«ó«ú« »α«-
- µÑßß«αá 487. äá¡¡á∩ ¿¡ßΓαπ¬µ¿∩ αáí«ΓáÑΓ Γ«½∞¬« ó
- αѪ¿¼Ñ MASM.
-
- P487 - αáºαÑΦáÑΓ áßßÑ¼í½¿απÑΓ ¿¡ßΓαπ¬µ¿⌐ τ¿ß½«ó«ú« »α«-
- µÑßß«αá 487. äá¡¡á∩ ¿¡ßΓαπ¬µ¿∩ αáí«ΓáÑΓ ¬á¬ ó αÑ-
- ª¿¼Ñ MASM, Γᬠ¿ ó αѪ¿¼Ñ Ideal.
-
- 6. Å«ñßΓá¡«ó¬á ΓѬßΓ«óδσ »α¿ßóá¿óá¡¿⌐.
-
- ä½∩ π½πτΦÑ¡¿∩ ß«ó¼ÑßΓ¿¼«ßΓ¿ ß MASM ó TASM 3.1 óóÑñÑ¡δ ¿º-
- ¼Ñ¡Ñ¡¿∩ ó σáαá¬ΓÑα »«ßΓá¡«ó¬¿ ΓѬßΓ«óδσ »α¿ßóá¿óá¡¿⌐. ¥Γ«
- »α¿ó«ñ¿Γ ¬ Γ«¼π, τΓ« ßΓáαδ⌐ ¬«ñ ñáÑΓ ó TASM 3.1 «Φ¿í¬¿,
- τΓ« ¼«ª¡« πßΓαá¡¿Γ∞ ñóπ¼∩ ß»«ß«íἿ:
-
- 1) êß»«½∞ºπ⌐ΓÑ ñ¿αÑ¬Γ¿ó𠬫¼á¡ñ¡«⌐ ßΓ᫬¿ /UT300 ñ½∩ óδ-
- í«αá «íαáí«Γ¬¿ ó ßΓ¿½Ñ TASM 3.0.
-
- 2) é ¡áτá½Ñ ßΓ᫬, ¬«Γ«αδÑ óδºδóáεΓ «Φ¿í¬¿ ó TASM 3.1,
- ¡« ¡Ñ ó TASM 3.0, ∩ó¡« ¿ß»«½∞ºπ⌐ΓÑ «»ÑαáΓ«α ΓѬßΓ«ó«⌐
- ¼á¬α«»«ñßΓá¡«ó¬¿ %.
-
- Åα¿¼Ñα«¼ φΓ«ú« ∩ó½∩εΓß∩ Σá⌐½δ WHEREIS. ä½∩ WHEREIS, αáº-
- ¼Ñα ¼«ñѽ¿ «»αÑñѽ∩ΓÑß∩ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ ß½ÑñπεΘ¿¼ «í-
- αẫ¼:
-
- TASM /dMDL=small iwhereis.asm
-
- çáΓѼ ó IWHEREIS.ASM, ¬«ñ ñѽáÑΓ »α«óÑα¬π, τΓ«íδ πíÑñ¿Γ∞-
- ß∩, τΓ« «»αÑñѽѡ« MDL, ¿, Ñß½¿ φΓ« Γá¬, ó TASM 3.0 ¿ß-
- »«½∞ºπÑΓß∩ ß½ÑñπεΘá∩ ßΓα«¬á ¬«ñá:
-
- model MDL
-
- TASM 3.0 »ÑαÑñ óδτ¿ß½Ñ¡¿Ñ¼ óδαáªÑ¡¿∩ áóΓ«¼áΓ¿τÑ߬¿ »«ñß-
- Γáó½∩ÑΓ º¡áτÑ¡¿Ñ MDL. TASM 3.1 ΓÑ»Ñα∞ ΓαÑíπÑΓ «Γ óáß ∩ó-
- ¡«ú« π¬áºá¡¿∩ «»ÑαáΓ«αá %:
-
- % model MDL
-
-
- êß»αáó½Ñ¡¿∩ ¿ ñ«íáó½Ñ¡¿∩
- ¬ "Éπ¬«ó«ñßΓóπ »«½∞º«óáΓѽ∩ »« Æπαí« áßßѼí½Ñαπ"
- ─────────────────────────────────────────────────────────────────
-
- êß»αáó½Ñ¡¿∩
-
- ìá ßΓp. 333 ó Åα¿½«ªÑ¡¿¿ D, "ôΓ¿½¿Γδ," ú«ó«α¿Γß∩, τΓ« ß»αá-
- ó«τ¡«Ñ ßαÑñßΓó« Æπαí« áßßѼí½Ñαá ¡áºδóáÑΓß∩ TASMHELP. éδ ¼«ªÑΓÑ
- ¿ß»«½∞º«óáΓ∞ TASMHELP ¬á¬ «»¿ßδóáÑΓß∩ ó ñá¡¡«¼ απ¬«ó«ñßΓóÑ Γ«½∞¬«
- Ñß½¿ πßΓá¡«ó¿ΓÑ Æπαí« áßßѼí½Ñα ó ¬áΓὫúÑ, «Γ½¿τ¡«¼ «Γ Borland C
- ++. é »α«Γ¿ó¡«¼ ß½πτáÑ ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ πΓ¿½¿Γπ THELP, ¬«Γ«-
- αá∩ ¼«ñ¿Σ¿µ¿α«óá¡á Γᬿ¼ «íαẫ¼, τΓ« ¼«ªÑΓ «íαáΘáΓ∞ß∩ ¬ ¼¡«ªÑßΓ-
- óπ ß»αáó«τ¡δσ Σá⌐½«ó ß »«¼«Θ∞ε ¼Ñ¡ε.
-
- ôΓ¿½¿Γπ THELP ¼«ª¡« ¿ß»«½∞º«óáΓ∞ ß½ÑñπεΘ¿¼ «íαẫ¼:
-
- 1) Å«ß½Ñ πßΓá¡«ó¬¿ Borland C++ ¿ Æπαí« áßßѼí½Ñαá ó맮ó¿ΓÑ
- THELP ó «ΓóÑΓ ¡á »«ñ߬Ậπ DOS.
-
- 2) ùΓ«íδ óδóÑßΓ¿ ¼Ñ¡ε ñ«ßΓπ»¡δσ ß»αáó«τ¡δσ Σá⌐½«á, ¡áª¼¿ΓÑ
- ¬½áó¿Φ¿ ALT-F.
-
- 3) ä½∩ ñ«ßΓπ»á ¬ ß»αáó«τ¡«⌐ ¿¡Σ«α¼áµ¿¿ »« Æπαí« áßßѼí½Ñαπ
- óδíÑα¿ΓÑ Σá⌐½ TASM.TAH.
-