Assembler Eto Prosto

download Assembler Eto Prosto

of 329

Transcript of Assembler Eto Prosto

  • 7/26/2019 Assembler Eto Prosto

    1/328

    !

    !

    #$%%

  • 7/26/2019 Assembler Eto Prosto

    2/328

    681.3.068+800.92

    32.973.26-018.1

    17

    . .

    17 . .2- ., . .

    .: -, 20

    11.

    336.: . +

    CD-ROM

    ISBN 978-5-9775-0591-8

    -

    . Intel, 16- 32- ,

    , ,

    , . , -

    , -

    ( Norton Commander FAR Manager) .

    , , -

    . -

    . - , -

    , .

    681.3.068+800.92

    32.973.26-018.1

    :

    .

    .

    .

    02429 24.07.00. 31.01.11. 70 100

    1/16.

    . . . . 27,09.

    2000 . "-", 190005, -, ., 29.

    - 77.99.60.953..005770.05.09 26.05.2009.

    .

    " ""

    199034, -, 9 , 12.

    ISBN 978-5-9775-0591-8 .., 2011 , "-", 2011

  • 7/26/2019 Assembler Eto Prosto

    3/328

    ................................................................................................................................... 1

    .......................................................................................................................... 2

    ...................................................................................................... 3

    I. : ............................................................................. 7

    1. ........................................................................................................ 9

    1.1. ................................................................................ 91.2. ........................................................................................................ 121.3. ......................................................................................................... 13

    1.4. .................................................................................................................................... 16

    2. .................................................................................................. 17

    2.1. 808680186 ...................................................... 172.1.1. ............................................................................................................. 172.1.2. -......................................................................................................... 182.1.3. ..................................................................................................... 18

    2.2. .......................................................................................... 192.2.1. add................................................................................................................... 19

    2.2.2. sub................................................................................................................... 19

    2.2.3. inc.................................................................................................................... 20

    2.2.4. dec................................................................................................................... 212.3. ....................................................................................................... 21

    3. .............................................................. 23

    3.1. . ............................................................................ 233.1.1. ................................................................ 253.1.2. ................................................................ 253.1.3. .............................................. 26

    3.2. ............................................................................. 26

    3.2.1. ......................................................................... 28

    3.3. ...................................................................................................... 323.3.1. ASCII?............................................................................................................. 32

    3.4. ....................................................................................................... 33

    3.5. ...................................................................................................................... 34

    II. ....................................................................................... 37

    4. ......................................................................................................... 39

    4.1. ..................................................................................... 39

    4.1.2. .................................................................................................... 39

    4.2. .................................................................................................................... 42

    4.2.1. ....................................................................... 43

    4.3. ..................................................................................... 44

    4.3.1. .......................................................................... 45

  • 7/26/2019 Assembler Eto Prosto

    4/328

    IV

    4.4. ....................................................................................................... 454.4.1. .......................................................................................... 46

    5. ............................................................................................................ 47

    5.1. ............................................................................................................... 47

    5.2. ....................................................................................................................... 48

    5.3. ....................................................................................................... 51

    5.4. AFD....................................................................................... 53

    6. ......................................................................................................... 54

    6.1. ......................................................................................................................................... 54

    6.2. ....................................................................................................... 616.2.1. nop................................................................................................................... 61

    6.2.2. ........................................................................................................... 62

    7. ................................................................................................ 64

    7.1. 6............................................................................................... 647.2. ............................................................................................................... 66

    7.3. .................................................................... 69

    7.4. ASCII..................................................................................................... 69

    7.5. ....................................................................................................... 71

    8. ..................................................................................... 74

    8.1. .............................................................................................. 74

    8.2. .................................................................................................... 768.3. ....................................................................................................... 82

    9. ........................................................................................................ 84

    9.1. .............................................................................................. 84

    9.2. ....................................................................................................... 87

    III. , , ........................................... 91

    10. . .......................................... 93

    10.1. ............................................................................................ 93

    10.2. ..................................................................................................................................... 97

    10.2.1. .......................................................................... 98 ?.................................................................................................... 98

    ?................................................................................. 98

    ?.................................................................................................................. 98

    ?.......................................................................................... 98

    ?....................................................................................................... 98

    ?....................................................................................................... 98

    10.3. ................................................................................................................................ 99

    10.3.1. ........................................................................................... 9910.4. ...................................................................................... 101

    10.4.1. ................................................................ 104

    10.5. ........................................................................................... 104

    10.5.1. ?........................................................................... 106

    11. ................................................................................ 109

    11.1. ............................................................................................................................. 109

    11.2. ................................................................................................... 112

  • 7/26/2019 Assembler Eto Prosto

    5/328

    V

    12. ............................................................................. 115

    12.1. .............................................................................................................................. 11512.2. .................................................................... 11512.3. ........................................................................................... 118

    12.4. xor sub ........................................ 125

    12.5. ...................................................... 126

    13. : .................................................................... 127

    13.1. ................................................................................................................................. 12713.2. ............................................................................................................................. 12813.3. movs..................................................................................... 13213.4. , ......................... 134

    13.5. ..................................................................................................................... 135

    14. ................................................................................. 137

    14.1. ................................................................................................................... 137

    14.1.1. COM?.......................................................... 137

    14.1.2. ?................................................. 137

    14.2. SuperShell .......................................................................................................... 139

    14.2.1. ................................................................................................. 139

    14.2.2. 80286+................................................... 14014.3. ().................................................................................. 142

    14.3.1. ........................................................................... 142

    14.3.2. Draw_frame............................................................................................... 143

    ?................................................................. 14414.4. ............................................................................................................................. 145

    14.5. ............................................................................................................... 145

    15. .................................................................. 148

    15.1. ................................................................................................................................. 148

    15.1.1. ....................................................... 150

    15.1.2. .............................. 151

    .................................................................................................................... 151 ..................................................................................................................... 151

    15.2. ret retf.......................................................................................................... 152

    15.2.1. ret................................................................................................................. 152

    15.2.2. retf................................................................................................................ 153

    15.3. . iret............................................ 155

    15.4. ............................................................................................................................. 157

    15.5. ..................................................................................... 159

    15.5.1. or................................................................................................................. 159

    15.5.2. and............................................................................................................... 160

    15.5.3. xor................................................................................................................ 161

    15.6. .................................................................... 162

    15.6.1. 05h...................................................................................... 162

    15.6.2. 09h...................................................................................... 162

    15.6.3. 1Ch..................................................................................... 163

    15.7. ................................................................................................................................ 164

    16. ............................................................................ 165

    16.1. ....................................................................................................... 165

    16.1.1. 03h.......................................................................................................... 165

  • 7/26/2019 Assembler Eto Prosto

    6/328

    VI

    16.2. ............................................................................... 170

    16.2.1. ................................................................................... 170

    16.3. ............................................................................................................................. 172

    17. ................................................................................... 174

    17.1. .................................................. 174

    17.2. ................................................................................................................................... 176

    17.2.1. "-".................................................................................. 180

    17.2.2. "-"...................................................................... 181

    18. ........................................................ 183

    18.1. .......................................................................... 183

    18.2. 17.............................................................................................................. 18418.3. Super Shell......................................................................................................... 185

    18.3.1. .................................................................... 185

    18.3.2. ..................................................................................... 192

    18.3.3. .......................................... 192

    18.3.4. Copy_scr/Restore_scr(display.asm) ...................................................... 193

    18.3.5. scas.............................................................................................................. 19418.3.6. ................................................................. 19618.3.7. ...................... 198

    18.4. ................................................................................................................................ 199

    19. ........................................................................... 200

    19.1. .............................................................................................................................. 20019.2. ?........................................................................... 204

    20. ..................................................................................... 205

    20.1. ................................................................................................................................... 20620.1.1. ret, calljmp....................................................................................... 20620.1.2. ......................................................................................................... 207

    20.1.3. ...................................................................................... 210

    20.2. ................................................................................................................................ 211

    21. .................................................................... 213

    21.1. SuperShell .......................................................................................................... 213

    21.1.1. .......................................................................................................................... 213

    21.1.2. ...................................................................................................................... 214

    ............................................................................................................... 214

    ............................................................................................................... 215

    21.1.3. test................................................................................................................ 21521.2. DOS..................................................................................... 219

    21.2.1. .................................................................................................. 219

    21.2.2. .................................................................. 222

    22. ................................................................................... 223

    23. PSP DTA. ( DOS)................... 225

    23.1. ............................................................................................ 22623.2. ( MS-DOS) ............................................................... 227

    23.3. ............................................................................................................ 23123.3.1. ............................................................................... 232

  • 7/26/2019 Assembler Eto Prosto

    7/328

    VII

    23.3.2. ................................................................................... 23323.3.3. " "............................................................. 235

    23.4. ...................................................... 237

    24. ........................................................................................ 238

    24.1. 80386/80486. ......................... 238

    24.1.1. 16- 32- ................................................................................... 240

    24.1.2. use16/use32................................................................................................ 241

    24.1.3. ........................................... 241

    24.2. . ................................................................................... 242

    24.3. ................................................................................................................................ 247

    25. ......................................................................................... 248

    25.1. ......................................................................................... 248

    25.2. ................................................................................ 249

    25.3. ....................................................... 25425.4. ..................................................... 255

    25.5. ............................................................................................................................. 25625.5.1. .............................................................. 256

    26. ............................................................................................ 258

    26.1. IBM- ......................................... 258

    26.2. ....................................................................................................... 25926.3. ............................................................................................................................. 260

    26.3.1. ....................... 261

    26.3.2. ........................................................ 262

    27. ............................................................................. 264

    27.1. ............................................................................................. 264

    27.1.1. 21h.......................................................................................... 26427.1.2. ?....................................................... 267

    27.1.3. , ........................................................... 268

    27.2. ............................................................................................................................. 269

    28. ................................................. 271

    28.1. ............................................................... 271

    28.2. ........................................................................ 27328.3. ......................................................................................... 274

    28.4. .................................................................. 27628.5. ............................................................................... 276

    29. ................................................................................. 278

    29.1. .............................................................. 27829.1.1. ....................................................... 279

    ?....................................................... 279 4 ?......................... 280

    bx (3)?...................................................................... 280

    29.1.2. PSP................................................................................... 280

    29.1.3. EPB.......................................................................................................... 281

    ( DOS)................. 282

    DOS?............................................................ 283

    ........................................................................... 283

    FCB.................................................................................. 284

  • 7/26/2019 Assembler Eto Prosto

    8/328

    VIII

    29.1.4. ................................................................................................ 284

    29.1.5. ....................................................................................................... 285

    29.2. " "........................................................................................... 286

    30. .......................................................................... 288

    30.1. (XMS) . .............................................................. 288

    30.2. XMSmem.asm. XMS-......................................... 289

    30.2.1. XMS-..................................................................................... 289

    30.3. XMSblock.asm. .......................................................................................................... 291

    30.3.1. ................................................................................. 293

    30.3.2. XMS-...................................................... 293

    30.4. XMScopy.asm. ......................................................................................................... 294

    31. ............................................. 296

    31.1. Super Shell ......................................................................................................... 29631.1.1. ........................................................... 297

    31.1.2. ................................................................................................ 298

    31.2. ............................................................................ 299

    31.2.1. ................... 299

    31.2.2. - ..... 300

    32. ............................................................. 30232.1. ?................................................................................................... 302

    32.1.1. ............................................................................. 302

    32.1.2. .................................................................................................... 30332.1.3. (FAT).......................................................................... 304

    32.2. ................................................................................... 305

    32.3. ............................................................................................... 306

    32.3.1. FAT, FAT32.......................................... 306

    ............................................................................................................... 307

    1. ( ).................................................................................................... 309

    1.1. MASM 6.106.13 .............................................................................................. 309

    1.2. .............................................................................................................. 309

    1.3. ....................................................................................................................... 310

    1.3.1. Microsoft (MASM)............ 311

    2. .......................... 312

    3. .......................................................................... 313

    3.1. ASCII................................................................................................ 313

    3.2. ASCII................................................................................................ 3203.3. - ..................................................................................................... 322

    4. -........................................................................ 324

    ............................................................................................................ 325

  • 7/26/2019 Assembler Eto Prosto

    9/328

    , . , -

    , ,

    . , -

    , , -. , -

    : , ,

    .

    "? ! ". ,

    18000 , -

    . -, (

    ). -

    MS-DOS Windows.

    , -

    . , -

    , .

    .

    , , ,

    . ,

    , , , .

    , ,

    , , , .

    :

    I , -

    ( ), II-

    Windows; III

    / ;

    ,

    ;

  • 7/26/2019 Assembler Eto Prosto

    10/328

    2

    , ;

    ;

    , 10,

    :

    ;

    ;

    ( Norton Commander, FARManager ..) -

    XMS-;

    (, -

    ).

    , ,

    . -, , -

    -

    , . - , .

    - ,

    http://www.Kalashnikoff.ru (

    ). .

    .

    (-), .

    .

    ,

    , , , -

    , , -.

    , ! , . -

    IIIII.

    ! ,

    , ( -

    , , , .).

    , , , -

    , -

    http://RFpro.ru.

    ,

    .

  • 7/26/2019 Assembler Eto Prosto

    11/328

    3

    1. ( MS-DOS)

    -

    ( Windows)?

    -, -. .

    , .

    -, WinAPI, ,

    MS-DOS. WinAPI

    , Win-

    dows. , -

    WinAPI.

    -, , COM-, -

    MS-DOS Windows, .

    2. -

    ?

    Microsoft

    , -

    . , , MS-DOS 3.30, -

    , , , -

    , , .

    Windows 95/98/2000/XP/Vista ,

    , -

    MS-DOS, DOS-, -

    "" , , ,

    , , , DOS4GW.

    , -

    (Windows Explorer), . ,NortonCommander, Far Manager,

    , .

    Microsoft (Windows)

    MS-DOS: | | !"#| .

    ,

    , COM- MS-DOS.

    Microsoft IBM- :

    Windows 2000 Pro Server;

    Windows XP Home Edition Pro;

    Windows Vista/Server 2008/7.

  • 7/26/2019 Assembler Eto Prosto

    12/328

    4

    !

    , Windows. . ? : !

    3. ,

    , ? , , , , Akelpad,

    - (, Far Manager). ,

    , .. -

    . Far Manager

    (). , ,

    , , .

    ,

    . MASM.EXE (ML.EXE)

    Microsoft, TASM.EXE Borland, FASM . Windows MASM32

    .

    http://Kalashnikoff.ru. , -

    ,

    . MASM 6.11

    Macro Assembler

    Microsoft 6.11 I

    MASM32 II, . -

    , -

    2 http://RFpro.ru.

    (AFD, SoftIce

    , CodeView

    ).

    .

    AFD CodeView SoftIce

    .

    , , ,

    . IDA,

    .

    , : http://www.Kalashnikoff.ru.

    4. ?

    .

    , .

    ().

    ().

    1. , ,

    , . , -

    , , , -

  • 7/26/2019 Assembler Eto Prosto

    13/328

    5

    , . ,

    Basic, Pascal, C - ,

    . , .

    , -

    MS-DOS, .. -

    (| | !"#). -

    Far Manager, Windows Commander, Total Commander ..

    5. ?

    .

    Intel 8086, 80286, 80386, 80486.

    16- 32- .

    .

    . (XMS-).

    .

    CGA, EGA, VGA ().

    .

    BIOS () MS-DOS.

    , .

    .

    . MS-DOS Windows.

    , .. -

    .

    6. , ?

    , ,

    http://RFpro.ru. ,

    :

    ;

    ;

    , -

    .

    http://RFpro.ru

    !

    1 -

    , "Hello, world!".

    !

  • 7/26/2019 Assembler Eto Prosto

    14/328

    I

    :

  • 7/26/2019 Assembler Eto Prosto

    15/328

    1

    1.1.

    -

    . . - . , , -

    , .

    , , -

    , 10 . :

    1 10 = 10

    10 10 = 100

    100 10 = 1000

    .. 0 9, .. (-

    , ).

    , ,

    "". "" , .. -

    . 0 9 , ,

    : A, B, C, D, E, F. F, , -

    15 (.1.1).

    1.1.

    0 0 26 1A

    1 1 27 1B

    2 2 28 1C

    3 3 29 1D

    4 4 30 1E... ... ... ...

    8 8 158 9E

  • 7/26/2019 Assembler Eto Prosto

    16/328

    I. : 10

    1.1 ()

    9 9 159 9F

    10 A 160 A0

    11 B 161 A1

    12 C 162 A2

    13 D ... ...

    14 E 254 FE

    15 F 255 FF

    16 10 256 100

    17 11 257 101

    ... ... ... ...

    , -

    , 16 (1.1).

    1.1

    1 16 = 10

    10 16 = 100

    100 16 = 1000

    ..

    1.1 ?

    : 10, 12, 45, 64, 12, 8, 19?

    , . , -

    , -

    h H ( .hexadecimal),

    hex. , , . 0

    9 , , 5

    5h, . , 1

    (1.2 1.3).

    1.2.

    1 16 = 10h

    "#$ % "& ' "##$

    "##$ % "& ' "###$

  • 7/26/2019 Assembler Eto Prosto

    17/328

    1. 11

    1.3.

    "$ % "#$ ' "#$

    "#$ % "#$ ' "##$

    "##$ % "#$ ' "###$

    -

    .

    , , -

    .

    , .

    10 ( 0 9) 6 (A, B, C, D,

    E, F). -

    , 16 . -

    , .. - .

    ,

    . ,

    ,

    . , 1.1.

    1.1. ,

    (((

    )#"* +,- .$/0

    )#1* +,- .2/3

    (((

    )"4* +,- 52/46$

    (((

    , ,

    ! - , :

    (01) -, (15)-.

    , -, , -

    , -

    . ,

    .

    . -

    . :+,- .$/0

    789 6:/0

  • 7/26/2019 Assembler Eto Prosto

    18/328

    I. : 12

    . , , -

    , .

    , -

    .

    1.2. , (\001\prog01.asm) (1.2).

    1.2.

    )#"* ; ?@A+@BC

    )#1* ,DA "##$

    )#E*

    )#F* G@AHBI)#4*

    )#&* +,- .$/0

    )#J* +,- 5%/,KK?@C 7@??.A@

    )#3* HBC 1"$

    )#0*

    )"#* HBC 1#$

    )""*

    )"1* 7@??.A@ 5L M:@22,/ N,D25OPM

    )"E* ; @B5?

    )"F* @B5 G@AHB

    : -

    , !

    - ( -

    \001\prog01.asm, 001, prog01.asm

    DOS-).

    , ! 1.2, -

    . .

    , .

    . , (01), (02) (13) .

    (03), (05), (09) (11) .

    . -

    .

    . (04) -

    . , .

    (14) @B5 G@AHB(G@AHB; @B5). -

    . G@AHB

  • 7/26/2019 Assembler Eto Prosto

    19/328

    1. 13

    . ,

  • 7/26/2019 Assembler Eto Prosto

    20/328

    I. : 14

    G'14

    Addition

    ; 35

    ;

    (((

    Addition

    ; ' 6 R G

    ; ,

    () 655HCH,B,

    , 6 G. -

    .

    , , ,

    , , , .

    ,

    .

    (08) (.1.2)

    ( ), . , , , ..

    . ( ,

    ) . (08) : "

    " (HBC . interrupt ).

    , 21 h. , , -

    (33 ). ,

    HBC 1"$ HBC EE. . -

    , .

    (10) , , 1#$.

    - . -

    ( DOS).

    1#$ , (, -

    ). , Norton Commander DOS Navigator. -

    @%HC .

    (12) . (+@??.A@ -

    ) . (, +@???CDHBA.). (07),

    5% .

  • 7/26/2019 Assembler Eto Prosto

    21/328

    1. 15

    , 7@??1. ,

    (09), :(((

    )#0* +,- .$/0

    )"#* +,- 5%/,KK?@C 7@??1

    )""* HBC 1"$

    )"1* HBC 1#$

    )"E* 7@??.A@ 5L M:@22,/ N,D25OPM

    (14) Mess2 db ' !$'

    )"4* ; @B5?

    )"&* @B5 G@AHB

    , , .

    7@??.A@ 7@??1 P.

    . , 1"$

    , - P. , , "" -

    , .

    . 1. -

    , COM-, EXE!

    COM-, (MASM/TASM) -

    . COM- Macro Assembler -

    6.11 .1.1.

    2, -

    . (AFD, CodeView), ( !)

    .

    , -

    .

    .1.1. Prog01.com

  • 7/26/2019 Assembler Eto Prosto

    22/328

    I. : 16

    .1.2. AFD Pro

    .1.2 , AFD Pro. , -

    , , . - .

    1.4.

    .

    , . , 34 , .

    , , , ,

    . , , . , , , . , - , .

    , , , , 10 "", S8T,

    U=VW, XTYUW ., . - , - -

    . . - , , .. , , . , , .. , " ".

    * * * 2

    .

  • 7/26/2019 Assembler Eto Prosto

    23/328

    2

    2.1.

    808680186

    , ,

    - . 808680186

    14. 1 : !" #$. .2.1, 2.3

    2.4 , %& , -

    .

    2.1.1.

    ( ). : ,

    . .2.1 32- ,

    0 4294 967 295 (0FFFFFFFFh). -

    . 16-, 0

    65 535 0h FFFFh , .

    8- : !",!(, )", )(, *",

    *(, #", #(. 255 (FFh).

    ( ) 16- .

    2.1.

    !"# !%#

    &' (' )' *'

    !" !( )" )( *" *( #" #(

    +,-, -

    . , , !( 35h, -

    :

    +,- !(./0"

  • 7/26/2019 Assembler Eto Prosto

    24/328

    I. : 18

    !$ 346Ah, :

    +,- !$./123"

    , ,

    . , -

    :

    +,- !".45/" 66"

    +,- )$.45/10" 6666"

    +,- #(.477" 66"

    ,

    (12h), (5h), : 0C5h.

    , - , -

    , . .

    , +,- !$.45/1".

    !" 12h, !(34h. !", !(, )", )(, *", *(, #"

    #( (Low) (High) 16- (.2.2).

    2.2.

    +,- !$.45/1"

    +,- )$.0289"

    +,- *$.:3;". #( ? 767"

    2.1.2. -

    @%( ) #%( ) -

    . )& @& (.2.3).

    .

    2.3.-

    +, -, (. +.

    2.1.3.

    (.2.4)

    (, ). -

    , .

    2.4.

    /0 -0 !0 00

  • 7/26/2019 Assembler Eto Prosto

    25/328

    2. 19

    2.2.

    : !##,@A), %B*, #C*.

    2.2.1. add !## .2.5. -

    .

    .

    , () ,

    . , -

    , .

    2.5. !""

    !## . Addition 8086

    8086, -

    , , (80286, 80386,

    80486, Pentium ..).

    !## (2.1).

    2.1. &**

    mov al,10 ; al 10

    !## !(.40 D!( ? 50D !(, 15

    mov ax,25000 ; ax 25000

    !## !$.47777 D!$ ? /0777D !$, 10000

    mov cx,200 ; cx 200

    mov bx,760 ; bx827!## *$.)$ D*$ ? :27. )$ ? 827 E)$ ); *$,

    D)$

    2.2.2. sub

    @A) (.2.6, 2.2).

    2.6. #$%

    @A) . Subtraction 8086

  • 7/26/2019 Assembler Eto Prosto

    26/328

    I. : 20

    2.2. +1(

    +,- !(.47

    @A) !(.8 D!( ? /D !(, 7

    +,- !$.50777

    @A) !$.47777 D!$ ? 40777D !$, 10000+,- *$.477

    +,- )$.40

    @A) *$.)$

    , . , 0

    65535. . -, 100, , - 100 . , :

    FFF

    +,- !$.5877

    +,- )$.40777

    !## !$.)$

    FFF

    !$ 17700,

    )$15 000. !## !$.)$

    80486. , 486 DX2-66 0 0FFFFh 66 (!) !

    2.2.3. inc

    %B* .2.7.

    2.7. &'(

    %B* Increment 8086

    %B* (

    ). :

    add , 1

    ( 80486)

    (2.3).

  • 7/26/2019 Assembler Eto Prosto

    27/328

    2. 21

    2.3. ,2)

    +,- !(.40

    inc al ; al = 16 ( add al,1)

    +,- #"./:"

    %B* #" ;dh = 3Ah ( add dh,1)+,- *(.16"

    %B* *( Dcl = 50h ( add cl,1)

    2.2.4. dec

    #C* .2.8.

    2.8. ")(

    #C* Decrement 8086

    #C* (2.4).

    :@A) . 4

    2.4. *3)

    +,- !(.40

    dec al ; al = 14

    +,- #"./3"

    #C* #" D#" ? /:"

    +,- *(.07"

    #C* *( D*( ? 16"

    2.3.

    , -

    , .

    DOS.

    BIOS () 42",

    , 57",

    54" . IO.SYS/MSDOS.SYS

    MS-DOS.

    , -

    47" 42". :

    +,- !".47" D !"

    %BG 42" ; 16" ;HIJ ()

  • 7/26/2019 Assembler Eto Prosto

    28/328

    I. : 22

    ,

    !$ , .

    (\002\prog02.asm)

    , K3LJ> BAT- (-

    2.5).

    2.5.

    E74M N @CO+CBG

    E75M ,PO 477"

    E7/M JG!PGQ

    E71M

    E70M +,- !".:

    E72M +,- #$.,RR@CG JGP%BO

    E78M %BG 54"E79M

    E7:M +,- !".47"

    E47M %BG 42"

    E44M

    E45M %BG 57"

    E4/M

    (14) String db ' ...$'

    E40M N CB#@

    E42M CB# JG!PG

    (01), (02) (15) . (05)(07),

    , . ( (09), (10)) -

    . , (12)

    .

    %B*, #C*, !## @A). -

    ( ) . , :

    FFF+,- !".76"

    %B* !"

    %BG 42"

    FFF

    .

    * * *

    3 ,

    . .

  • 7/26/2019 Assembler Eto Prosto

    29/328

    3

    -

    . -

    ,

    . , - . ,

    . ,

    . - !

    . -

    , , . 4,

    .

    ,

    . : CodeView (CV.EXE)

    AFD Pro (AFD.EXE). , prog03.asm. , prog03.com. , -

    CodeView/AFD,

    MS-DOS :

    !"#$%$ '()*+,#-).

    :

    /01#$%$ '()*+,#-).

    , !

    3.1. .

    , . , -

    , , ""?

    ( ).

    , , (

    ). .

    , :

    0000( ), 0001,

    0010 (.. , 1).

  • 7/26/2019 Assembler Eto Prosto

    30/328

    I. : 24

    : 0011

    0100

    0101

    0110

    +222 1000

    1001

    ..

    "" "" . , -

    , 0 1, .. -

    ("0" "1" ).

    , , ,

    , : 0001 ;

    0010 ; 0100 ; 1000 .. . 0 9,

    ( ; : -

    1010, 1011, ..., 1111).

    . -

    (, , , .) -

    . "" 256 ( 0 255)

    . , (09),

    (az, AZ), (, ) . (.3).

    (255) 8 . 8 . ,

    1 (.3.1).

    3.1. "Z"

    0 1 0 1 1 0 1 0

    "" "" "" "" -.

    .

    , , "", -

    . , 1 .

    ,

    . ""

    314 , , 1001101 -. , "" 4 4 8 = 32 .

    , ()

    , "" "".

  • 7/26/2019 Assembler Eto Prosto

    31/328

    3. 25

    " , (, -

    , ), "-"?" .

    , , -

    ( ) (),

    . , , , -

    .

    b.

    , -

    , . : 10

    , 10h , 10b . ,

    , . :###

    .)5 6789+

    .)5 :482+2++:

    .)5 -;8234###

    67, :4 -; , -

    , .

    ( :4).

    , . -

    ( ) : 10101110 10010010 01111010

    11100101 (, ; ). -

    . , .. .

    , . , . . - , "".

    , - , ! -

    .

    3.1.1.

    , ,

    .

    , 20. :10100b.

    , , 4 0.

    :

    10100b = 24+ 0 + 2

    2+ 0 + 0 = 16 + 8 = 20

    10100b = 1 16 + 0 8 + 1 4 + 0 2 + 0 1 = 16 + 0 + 4 + 0 + 0 = 20.

    3.1.2.

    , :

    20/2 = 10, 0;

    10/2 = 5, 0;

  • 7/26/2019 Assembler Eto Prosto

    32/328

    I. : 26

    5/2 = 2, 1;

    2/2 = 1, 0;

    1/2 = 0, 1.

    : 10100b = 20.

    3.1.3.

    -

    , 16:

    8Ah = 8 16 + 10 (0Ah) = 138.

    , -

    . , -

    Windows. DOS

    Navigator. , , , , .

    !

    3.2.

    : " ".

    , "" "" -

    , ... . , -

    . , -

    3.1 ( "_" ).

    3.1

    ++++< _

    ++2+< _

    ++9+<

    ++,+, ?>, >>, @>(..2.1.3),

    ( ):

    -> (code segment-

    ); ?> (data segment );

    >> (stack segment );

    @> , -

    (, ).

    @>

  • 7/26/2019 Assembler Eto Prosto

    34/328

    I. : 28

    2++4

    , ( ,

    ). , , -

    , . -> A'!

    . AFD

    , CodeView , , ;

    - + +. , -

    (.3.2):

    67= +L++4 (, 64 F +L4, 6; F +, .. .)5 648L

    9 64

    , 6;

    . 6;

    , ,2=4

    ,

    67 +L2=4);

    A'= 2+94 (.. ). -

    , .)5 648L 2 : 102h100h = 2.

  • 7/26/2019 Assembler Eto Prosto

    35/328

    3. 29

    .3.1. 3.1 AFD Pro

    .3.2. .)5 648L

    ( /) ?7

    A'. ?7 SP@>J .@>>6*@QS

    , .. 2+L4, A' 2+=4( ). -

    , .)5 ?78)MM>@J GJ(AI* 3 (105h102h = 3) (.3.3).

    , :

    .)5 ?78)MM>@J GJ(AI*

    :

    .)5 ?782+L T2+L , !)?@"A@U

    ; O4' . .

  • 7/26/2019 Assembler Eto Prosto

    36/328

    I. : 30

    .3.3. .)5 ?78+2+L

    ? , , -

    - (MASM/TASM) )MM>@J GJ(AI*

    GJ(AI* ( ). , , :

    .)5 ?782+L4

    .

    . , (07), 3.1:

    ###

    B+EC AIJ 9+4

    B+NC AIJ 9+4

    B+LC GJ(AI* ?: OP@>J .@>>6*@QO

    B2+C !G$H @I?>

    B22C @I? K>J6(J

    AIJ 9+4 (, ,

    (07)). .

    . -

    CodeView, , .. -

    , ,

    . , -

    , +/+L4. ,

    ?7. , ?7-

    109h, . , .

    , CodeView.

    Memory() CodeView ( AFD ) -

    (.3.2 .3.4).

  • 7/26/2019 Assembler Eto Prosto

    37/328

    3. 31

    3.2. CodeView

    1 2 3 4

    +/+L < ++++ !1 9+ 00 L0 ++ L/ 0+ 0$ = .

    : 1 (+/+L) , (

    );

    2 (++++) ( -

    (:));

    3 (!1 9+ 00 ### 0+ 0$) ,

    , +/+LJ

    .@>>6*@Q, 3 P@>J .@>>6*@Q

    ... ?7 (.3.5)! ,

    () !

    , ?7 !G$H( (01) (09) -

    3.1). : AIJ 924. -

    DOS L(.)5 648L) ?7(.)5 ?78)MM>@J GJ(AI*). , 64-

    . ( -

  • 7/26/2019 Assembler Eto Prosto

    38/328

    I. : 32

    ), ,

    .

    .3.5. P@>J .@>>6*@Q

    3.3.

    +L4 924 ,

    ?7. .3.3.

    .

    ,

    , .

    3.1.

    3.3. !"# $%#

    64 F +L4

    ?7= ASCII- , Q

    3.3.1. ASCII?

    , , ASCII-, ASCII-

    . ASCII- 0 255 DOS, -

    , , . (

    ASCII- . 3).

  • 7/26/2019 Assembler Eto Prosto

    39/328

    3. 33

    .

    - , . -

    , . , -

    .

    3.4. (\003\prog03.asm) ,

    (3.2).

    3.2.

    B+2C !G$H >@*.@IJ

    B+9C )(* 2++4

    B+,C K:@*867

    B+DC .)5 ?A8+

    B+EC

    B+NC .)5 648,2

    B+LC .)5 6;82

    B2+C .)5 @>

    B2NC @I? K:@*

    . .

    (. 3.6),

    .

    , .. . (04)

    (05) @> +VN++4,

    ( !). (06)

    ?A. +VN++4. (08)

    (09) 64 (31-

    ) 6;ASCII- (01 "").

    (10) +VN++

  • 7/26/2019 Assembler Eto Prosto

    40/328

    I. : 34

    ). .)5 (10). -

    W X , ,

    , ( , -

    , +VN++, , -, ?>. -

    .

    .

    . - . (10) 35 .

    , Pentium 100 20 (!) - !

    3.5.

    ! I.

    , . :

    ;

    ; Intel 8086/8088/80186;

    ;

    :

    )(* ;

    .)5 ();

    6??;

    >Y:;

    AI- ;

    AIJ ;

  • 7/26/2019 Assembler Eto Prosto

    41/328

    3. 35

    +L4 924( -

    );

    2+4 2D4( ).

    , ,

    . 75% ,

    , , , . , - , , -

    . ,

    I. - , , ,

    . !

    ,

    II " ".

    !

  • 7/26/2019 Assembler Eto Prosto

    42/328

    II

  • 7/26/2019 Assembler Eto Prosto

    43/328

    4

    4.1.

    3.1. - -

    :!"#$ &&&

    !"'$ ()* +,-.

    !"/$ ()* 01-)22345 678359:;$ &&&

    (06) My_string db '!$'

    !"?$ &&&

    (03) 01 . : ()* 01-)22345 678359:;

  • 7/26/2019 Assembler Eto Prosto

    44/328

    II. 40

    . , 8-

    (0C), D754. 16- (01) A)90.

    -, .

    , -

    . .

    "!$" 03() 01(). 03? ,

    COM- ( ), -

    , ,

    ( 03). 03

    ( ). COM ,

    , . COM-

    64 (65536 ). , "" ,

    , 64 .

    . -

    Norton Commander (

    III).

    36 . ,

    Norton Commander ( Norton Commander

    ).

    Volcov Commander .

    Norton Commander, 64000 (

    Norton). Volcov Commander "" , . Volcov , Norton.

    .

    '#, 03 . , :&&&

    ()* 01-)22345 678359:;$ :;5 '#,

    !"R$ C))B Q+D4C8#

    &&&

    , -

    . , ,

    .

    , . .4.2 , -

    4.3.

    , , Q+D4C8#, .4.1,

    , , C))B, -

    :;5 '#,. , . -

    , -

    .

    , . , #",-

    #R,, +1 , -

    , 4.3.

  • 7/26/2019 Assembler Eto Prosto

    48/328

    II. 44

    .4.2.

    4.3.

    -

    , . -

    C))B,

    , @1 . @1- , -

    , .. .

    ,

    , - .

    .

    .4.3 , .

    4.3. )*(

    S(B Jump ( )

    8086

    S(B

    (4.4).

    4.4.

    &&&

    !"#$ ()* +,-.

    !"'$ ()* 01-)22345 O59

  • 7/26/2019 Assembler Eto Prosto

    49/328

    4. 45

    !"/$ :;5 '#,

    !"=$ S(B Q+D4C8'

    !">$

    !"R$ +00 @1-#'

    !"?$ 04@ @1

    !"T$ Q+D4C8'J!".$ :;5 '",

    &&&

    (05)(07) . -

    , S(B

    (08), .

    4.3.1.

    04@ , -

    , C))B. 4.5

    , 4.2, - (

    ).

    4.5.

    &&&

    !"#$ ()* @1-/

    !"'$ Q+D4C8#J

    !"/$ ()* +,-.

    !"=$ ()* 01-)22345 O59

    !">$ :;5 '#,

    !"R$ 04@ @1

    !"?$ S;U Q+D4C8#

    &&&

    (07). . , ,

    (, ).

    , -

    . ,

    , .

    .

    4.4. 3,

    "" ( 4.6, \004\prog04.asm).

  • 7/26/2019 Assembler Eto Prosto

    50/328

    II. 46

    4.6.

    !"#$ LOVW 34

  • 7/26/2019 Assembler Eto Prosto

    51/328

    5

    5.1.

    , , TASM, -

    . TASM :

    !"#$ &'() *$ +#,, -* ./00"$"1- 23

    2

    #44'(" +452367, TASM -

    .

    ?

    , #44'(" , -

    +4 2367. .

    MASM . #44'(" -, MASM

    .

    TASM. , :

    ,**) 8#9",:;

    &() 8#9",:367, (link.exe), COM-

    ( COM-!), . ,

    :

    #44'(" +452367? .452367? "452367? 4452367

    "" , +4,.4, "4, 44

    2367. , - , , ,

    . .

  • 7/26/2019 Assembler Eto Prosto

    52/328

    II. 48

    5.2.

    -

    .

    I.

    ., , -

    " ...", ,

    : " !", ,

    , .

    ? @AB

  • 7/26/2019 Assembler Eto Prosto

    53/328

    5. 49

    , , , +#,,(.5.1) (5.2).

    5.1. !"##

    +#,, Call 8086

    5.2. !"##

    DDD

    E@;F (*G .H?*004"- I"44;

    E@

  • 7/26/2019 Assembler Eto Prosto

    54/328

    II. 50

    , ? , .

    .

    (01) .H I"44;. (02) -

    , O'-:4-$/1P.

    ?

    () ( (03)) O'-:4-$/1P

    ( (08)). .H , ..

    I"44;(.5.1).

    (09), (10) @AB

  • 7/26/2019 Assembler Eto Prosto

    55/328

    5. 51

    , , : " ( , -

    ) , , -

    ?" , .

    , .. .

    , (stack).

    . 6 , ,

    4454), .

    , (

    (03)) . ,

    :

    O'-:4-$/1P )$*+

    DDD

    O'-:4-$/1P "1.)

    : O'-:4-$/1P ;

    )$*+(procedure);

    "1.)(endprocedure).

    , . -

    . ,

    , ""!

    .

    5.3. 4, -

    (\005\prog05.asm).

    5.3.

    5.3.

    E@;F 2367 4"P("1-

    E@

  • 7/26/2019 Assembler Eto Prosto

    56/328

    II. 52

    E;

  • 7/26/2019 Assembler Eto Prosto

    57/328

    5. 53

    80 25). (20) +H. -

    +H( (25)) (26).

    , : .

    254, 2000. : 2000 254 = 508 000. -

    , , , -

    . - . ,

    .

    -

    . AFD.

    5.4. AFD

    AFD, ,

    : 32- ;

    808680186 ,

    8087;

    PE NE (Windows).

    :

    ;

    , , .;

    .

    DOS , . -

    AFD http://www.Kalashnikoff.ru, -

    64 .

    , , , !

  • 7/26/2019 Assembler Eto Prosto

    58/328

    6

    6.1.

    (, stack)

    () .

    , . , "" :

    !!!!

    !!!#

    !!!$

    %%%

    &&&'

    &&&&

    . , , ,

    ()*, +,-- .. .

    !&&&&., ()!!!!.. - -

    +,--, +,---

    . ,

    , .

    //0/*. , , -

    , - COM- /* !&&&'.,

    //, , - 12'3(, , +/,4/,5/).

    . -

    . 6.1 .

    6.1.

    12'3 /56)578

    ,//9)5 +/012'3: 4/012'3: 5/012'3: //012'3

    ;70

    +,-- ?9

  • 7/26/2019 Assembler Eto Prosto

    59/328

    6. 55

    >78 $!.

    ?978 $!.. , - +,-- ?9

  • 7/26/2019 Assembler Eto Prosto

    60/328

    II. 56

    .6.2.

    .6.3. .

    , , (.6.1 6.2).

    6.1. !"#$

    *9/. Push 8086

    6.2. !%!

    *;* Pop 8086

  • 7/26/2019 Assembler Eto Prosto

    61/328

    6. 57

    , . ,

    , . (6.2).

    6.2.

    %%%

    D!#E );F ,G:CHI.

    D!$E *9/. ,G

    D!CE );F ,.:#!.

    D!HE >78 #J.

    D!IE *;* ,G

    %%%

    ,G 345h (01), (02),

    (03), (04). #!. #J. ,G -, .. ,G , .

    , (05), -

    345h ,G. ,G

    345h, , , . -

    . , : ,G,

    =G, +G:%%%

    *9/. ,G

    *9/. =G

    *9/. +G

    %%%

    , :%%%

    *;* +G

    *;* =G

    *;* ,G

    %%% ,

    , . :%%%

    );F ,G:#$CH.

    );F =G:IJKL.

    *9/. ,G

    *9/. =G

    *;* ,G

    *;* =G

    %%%

  • 7/26/2019 Assembler Eto Prosto

    62/328

    II. 58

    .6.4.

    ,G 5678h, =G1234h (.6.4).

    -

    (6.3).

    6.3.

    %%%+,-- ?9

  • 7/26/2019 Assembler Eto Prosto

    63/328

    6. 59

    .6.5.

    .6.6.

    ( ) //0/*(-

    : ). , ,

    , // /*

    , .

    +-> /8>(.6.3 6.4).

    6.3. &'(

    +-> Clear interrupt -

    8086

  • 7/26/2019 Assembler Eto Prosto

    64/328

    II. 60

    6.4. #)(

    /8> Restore interrupt 8086

    , "" ! -

    . +-> /8>.

    .

    ? , .. -

    . -

    , .

    . , -

    18,2 . - -! , , , .

    , , , ?-

    , . -

    , , ,

    ,

    (, , /

    /). , , -

    , -

    , " " , - . . -

    , , -

    :%%%

    D!#E );F ,G:#!!.

    D!$E );F //:,G

    D!CE );F /*:$!!.

    %%%

    , , -

    (02). // 100h, /*

    200h. , ,

    , , , , /*B!&&&'.. ,

    //B#!!., /*B!&&&'.. .

    . -

    //B#!!., /*B$!!.! , -

    . , !#!!.0!&&&'. (

    ). ? , , "". :

    //0/*, -

    +->, , ,

  • 7/26/2019 Assembler Eto Prosto

    65/328

    6. 61

    /8>. (Pentium) -

    , .. .

    , ,

    "";

    //0/* .

    , ; , . ,

    COM- , // ,

    , /* B !&&&'.. #!!.(;

    %%%

    , , : " //0/*?"

    ,

    , ,

    ( , ),

    , .

    6.2.

    6.2.1. nop

    , (.6.5).

    6.5. *%!

    O;* No operand 8086

  • 7/26/2019 Assembler Eto Prosto

    66/328

  • 7/26/2019 Assembler Eto Prosto

    67/328

    6. 63

    , " ". , - -

    /*, . (09)(12)

    . ! .

    , CodeView, TurboDebuger, AFD - "":

    , " ", -

    >78 $!. (.6.7). DOS, -

    , .. ,

    (. 6.8)! " "

    . !

    ? :

    (.. , ).

    " " .

    ?

    ?

    ? . . -

    , -

    . ! ,

    ! !

    .6.7.

    .6.8.

  • 7/26/2019 Assembler Eto Prosto

    68/328

    7

    7.1. 6

    . , 7.1

    .

    7.1. 6

    !!!

    #$%& !"# %&'"((%)* +,-./

    #$'& ()* +,-.$.$/

    #$0& &0%1 ,2

    #$1& 234 '$/

    #$5& 6+78%9

    #$:& ()* +/-.

    #$;& ()* ?4 @?>>

    #$A& 234 '%/

    #$.& 234 '$/

    !!!

    - ? 6, 3)B .$/.

    (02). +, .$/ (

    3)B). >B 6+78%(01).

    , , , 6+78%. ,

    ! MASM/TASM, ,

    (05), () ( %$./).

    (01) , >B,

    , . , %$./

    ()* +/-$., .. 6+78% .

    ! (03) "" .$/, .. -

    3)B. ? , , "" .

  • 7/26/2019 Assembler Eto Prosto

    69/328

    7. 65

    >B , , -

    .7.1. 234 '$/ 2.

    Hacker's View. 234 '$/ $CD/- '$/.

    , "" COM- .

    , (,

    Volcov Commander), CD '$.

    COM (, prog.com). 2. -

    COM-.

    .7.1. AFD Pro

    , 234 '$/ 2. BE>/ +,(03)

    .$/, 3)B.

    >B 234 '$/, -

    3)B. ! 234 '$/( )

    3)B, ! -

    . .7.1 . , -

    " ".

    .

    , CodeView, AFD, Turbo Debugger -

    . :

    . , ,

    , (

    >>9>B), . - -

    . , , . , ,

    ! ,

  • 7/26/2019 Assembler Eto Prosto

    70/328

    II. 66

    , , , ,

    . ,

    , , ..

    . , " ", -

    , .

    7.2.

    %$/ %:/,

    . -

    , .

    +,.

    ? F(B(.7.1

    7.2).

    7.1. !"#

    F(B - Compare 8086

    7.2. 3!&

    !!!#$%& ()* +/-%$/

    #$'& 234 %:/

    #$0& F(B +G-HIH

    #$1& JK I?>8L?M

    !!!

    #$5& I?>8L?M9

    !!!

    (02) , -

    - . %$/ +,

    , . (03) ,

    . :F(B +G-HIH

    ASCII- . -

    .

    MASM/TASM . -

    , , F(B +G-HIH

    F(B +G-5./

  • 7/26/2019 Assembler Eto Prosto

    71/328

    7. 67

    ! , F(B

    +G-5./. .

    , , ,

    , (7.3).

    7.3.

    !!!

    ()* +G-H'H

    ()*

  • 7/26/2019 Assembler Eto Prosto

    72/328

    II. 68

    7.5 NEO8G+7, ..

    F(B +,-%: . ()* +/-0,

    , , .

    , , - -

    . , . -

    , . , ! 7.6 .

    7.6.

    !!!

    P?,48L?M9

    ()* +/-%$/

    234 %:/

    cmp al,''JK Q8BO?>>?>?>?>234 '%/

    234 '$/

    Mess db ' !!!$'

    !!!

    , JK J?( .jump if equal,

    ) .

    7.6 , 7.7.

    7.7. 4) 45

    !!!

    234 %:/

    cmp al,''

    J? Q8BO?>>?/ +,

    BE>/ ?>

    BE>/ +,

    ()* +,-$VA$$/

    ()* ?>-+,

    ()*

  • 7/26/2019 Assembler Eto Prosto

    77/328

  • 7/26/2019 Assembler Eto Prosto

    78/328

    8

    8.1.

    , 7 . ,

    , -. - -

    , . :

    20h32, ;

    100h256, ;

    1Bh27, ;

    21h33, MS-DOS

    ..

    (8.1).

    8.1. 7

    !!!

    (01) call Wait_key ; ...

    #$%& '() *+,27 ; ..)#$A& :; B;72C ; ...

    ;

    #$D& '*++ E134'F*5

    #$G& :() B;72C ; ...

    ;,

  • 7/26/2019 Assembler Eto Prosto

    79/328

    8. 75

    ; .

    #>$& '*++ E134'F*5

    #>>& 2C3 %$F ; LEM!!!

    #>%& !!!

    #>9& N ??? E134'F*5 ??? ; ()

    #>

  • 7/26/2019 Assembler Eto Prosto

    80/328

    II. 76

    (12) -

    . , :

    ;

    ASCII(, ), -

    ;

    ASCII (, ..) - ;

    (%G >BF),

    ((6K *+P9%) .

    8.2.

    MS-DOS

    .

    , . 9LF %>F(.8.1).

    8.1. !"# $%#

    *F V 9LF

    *+= (00 , 01

    , 02 , )

    Q-IQO= ASCII-

    *O=

    :'

    , *+ , .. ,

    :

    ;

    ;

    .

    , (*+V$%)

    , - . / - - , . ,

    " " ("read-only")

    (*+V%) / (*+V$%), .

    8.2 command.com -

    /.

    8.2. /

    !!!(6K *OP9L$%F

    (6K QOP6WW-;3 =2+;4C*(;

  • 7/26/2019 Assembler Eto Prosto

    81/328

    8. 77

    2C3 %>F

    !!!

    =2+;4C*(; QX Y'6((*CQ!'6(YP$

    !!!

    , *O : 9LF $%F.

    , -

    :!!!

    (6K *FP9LF

    (6K *+P$%F

    !!!

    =2+;4C*(; QX Y'6((*CQ!'6(YP$ ,

    . , - :!!!

    (6K *OP9L$%F

    (6K QOP6WW-;3 =2+;4C*(;

    =2+;4C*(; QX Y'6((*CQ!'6(YP$

    2C3 %>F

    !!!

    , (6K QOP6WW-;3 =2+;4C*(; =2+;4C*(; QX ''6((*CQ!'6(' . , -

    , .

    Y'6((*CQ!'6(Y , . , -

    , (.8.1). (6K QOP$>$DF((6K

    QOP6WW-;3 =2+;4C*(;) =2+;4C*(;

    Z'6((*CQ!'6(Z. QO ,

    *)5+, 2C-[ .., , ,

    "" .

    , " " . , .

    , -

    , .

    .

    , :

    =2+;4C*(; QX Y\I]^MM_]'6((*CQ!'6(YP$

    , -

    .

    , - .

    . :

    _S4W2+; QX Y*I(SW2+;!Q6'YP$

  • 7/26/2019 Assembler Eto Prosto

    82/328

    II. 78

    .8.1.

    myfile.doc,

    A: .

    , . :!!!

    (6K *OP9L$$F

    (6K QOP6WW-;3 `1-34W2+;

    2C3 %>F

    !!!

    `1-34W2+; QX YW2+;YP$

    !!!

    , file (. -

    ) . 9LF -

    ( ).

    - , (

    ).

    :' ( .

    jumpifcarry, ) :C'( .jumpifnot

    carry, ):!!!

    2C3 %>F

    :' ,5565

    EaI

    !!!

    ,5565I

    !!!

  • 7/26/2019 Assembler Eto Prosto

    83/328

  • 7/26/2019 Assembler Eto Prosto

    84/328

    II. 80

    :() 01234)567

    !!!

    =2+;4C*(; QX Y'I]*--(](*-(]X2C5](+!;O;YP$

    Mess1 db ' !$'

    Mess2 db ' !$'!!!

    .8.2.

    *O -

    . , , -

    , . .

    9LF , *O!

    .8.2.

    (

    -), 9,F %>F(.8.2).

    8.2. ! $%#

    *F V 9,F

    XO=

    , ,

    . , -

    . ,

    .

  • 7/26/2019 Assembler Eto Prosto

    85/328

    8. 81

    ! , -

    , -

    , ,

    (.. ,

    -, ). ,

    , e*CQ+;:!!!

    (6K *FP9,F

    (6K XOPe*CQ+;

    2C3 %>F ;

    !!!

    (6K XOPe*CQ+;. e*CQ+; ,

    .

    , ,

    e*CQ+;. :e*CQ+; Q[ $

    . -

    . 8.4 ,

    , ,

    .

    8.4.

    !!!

    (6K *OP9L$$F

    (6K QOP6WW-;3 =2+;4C*(;

    2C3 %>F

    :' ,5565

    (6K e*CQ+;P*O

    ; ...

    (6K *FP9,F

    (6K XOP e*CQ+;2C3 %>F

    N

    ,5565I

    2C3 %$F

    !!!

    e*CQ+; Q[ $

    !!!

    9=F,

  • 7/26/2019 Assembler Eto Prosto

    86/328

    II. 82

    'O , Q-IQO

    /.

  • 7/26/2019 Assembler Eto Prosto

    87/328

    8. 83

    :() E134)567

    ;=== ===

    e*CQ+; Q[ $

    Mess_ok db ' ! !$'

    _;--4;5565 QX ' '

    ; :

    =2+;4C*(; QX Y'I](-Q6-!-S-YP$PYghY

    B1WW;5 ;81 h

    \M,f ;CQ-

    ;CQ B;72C

    . , , , .

    () , -

    Q-IQO.

  • 7/26/2019 Assembler Eto Prosto

    88/328

    9

    9.1.

    9.1 8 .

    9.1. 8

    !!!

    ; .

    #$%& '()*+, -./ 01234$$5 ;

    ; , ( ).

    #$6& -./ 712.889(: ;*79,71

    #$3& *+: 6%5 ;

    #$?& @A BCC.C=8*

  • 7/26/2019 Assembler Eto Prosto

    89/328

    9. 85

    ; b. .. D1 ,

    ; (E0+7

  • 7/26/2019 Assembler Eto Prosto

    90/328

    II. 86

    #$I& -./ 712.889(: LS=

  • 7/26/2019 Assembler Eto Prosto

    91/328

    9. 87

    .9.2.

    Q$Q A,R-97.9!9S9 .

    Q$Q (23)? 79,71

    . Q$Q. , , , . -

    c:\msdos.sys!$ !

    , . :

    Mess_eo db ' () c:R-97.9!9S9TUQ

    ;* [[[[[[[[[[[[[[ [[[[[[[[[[[[[

    '()*+,

    -./ 712.889(: ;*

  • 7/26/2019 Assembler Eto Prosto

    92/328

    II. 88

    > [[[[[[[[[[[[[[ [[[[[[[[[[[

    -./ D1201

    -./ 0523;5

    -./ A12.889(: ;*+*95[%$$5

    -./ 712.889(: '()*+*+: 6%5

    > [[[[[[[[[[[[[ [[[[[[[[[[[[[[[[

    A0

  • 7/26/2019 Assembler Eto Prosto

    93/328

    9. 89

    -./ D12E0+7

  • 7/26/2019 Assembler Eto Prosto

    94/328

    II I

    ,,

  • 7/26/2019 Assembler Eto Prosto

    95/328

    10

    .

    10.1.

    9 (

    ) . Prog09.asm. , -

    , . . -

    , -

    , .

    (10.1).

    10.1. Prog09.asm 9

    ; , "

    #$%& '()*(+,

    -''.*( #$/#$%&0 1$/#$%&0 %$/#$%&0 $$/#$%&

    23) 4556

    7()8+/

    ; (.).

    *29 :;02> #>2'(?( ;

  • 7/26/2019 Assembler Eto Prosto

    96/328

  • 7/26/2019 Assembler Eto Prosto

    97/328

    10. . 95

    H(''?2I :B ' !',0Q605160PRP

    iis e $ ; ()

    #$%& (+:'

    (+: 7()8+

    .10.1 CodeView , -

    . -

    :'/:;, C=6,

    .

    .10.1.

    3(,

    :DDD

    *29 -60G

    *29 :;02

  • 7/26/2019 Assembler Eto Prosto

    98/328

    III. , , 96

    .10.2. 3(,

    .10.3. 8+, F56 DOS

    , , , COM- -

    , .. 'LS5===%6. -

    " call" 'L 2, ..

    5===#6. , -

    . : -

    DOS . , DOS

    3(, COM- , 'LS5===%6, -

    2 55556(.. 8+, F56)

    , .

  • 7/26/2019 Assembler Eto Prosto

    99/328

    10. . 97

    10.2.

    , , Pascal, , Visual

    Basic . -

    , , .

    . - . , -

    "" .

    .. " ", ,

    ( -

    , -).

    ,

    .

    ?

    , , - , , - .

    : X Y. , Y ? - " ", - - ? X, . ! , Y, ( - ; , ..).

    , . , , - . ? Yandex., -

    , .. - .

    , - .

    , , Visual Basic for Applications (VBA).

    . ,

    , . "" -

    , .

    , (DrWeb, NOD32, Norton Antivirus, -

    .). ,

    . , , ,

    , . -

    (!) , .

  • 7/26/2019 Assembler Eto Prosto

    100/328

    III. , , 98

    10.2.1.

    ?

    , -

    . , , -

    . , , . -

    .

    ?

    , , -

    /, , . -

    500600 . ,

    100150 , , 1,53 -

    .

    ?

    , . , 0,5

    1 FDISK, ..

    , (FAT File Allocation

    Table), ! -

    .

    ? , COM- (-

    ).

    ?

    , .

    ?

    , COM-, (10.2).

    10.2.

    #$%& '()*(+,

    -''.*( A'/#$%&0 :'/#$%&0 ('/#$%&0 ''/#$%&

    23) 4556

    $,-3,/

    DDD ; .

    #$%& (+:'

    (+: $,-3,

  • 7/26/2019 Assembler Eto Prosto

    101/328

    10. . 99

    COM-, .

    EXE-, .

    .

    10.3. , . -

    . , .

    !

    , , API-. , , FAR Manager. , DOS Navigator.

    (), . , Norton Guide, -

    , , -

    . , -

    ( DOS ).

    , -

    , , .

    (

    ).

    10.3.1.

    (), -

    (, print_string), . 256. -

    BIOS () . , 4T6:DDD

    *29 -60456

    8+, 4T6

    DDD

    (MS-DOS):DDD

    *29 -60G

    *29 :;02

  • 7/26/2019 Assembler Eto Prosto

    102/328

    III. , , 100

    *29 :;02

  • 7/26/2019 Assembler Eto Prosto

    103/328

  • 7/26/2019 Assembler Eto Prosto

    104/328

  • 7/26/2019 Assembler Eto Prosto

    105/328

    10. . 103

    V+,?F46?9(A, :: W

    My_sti db ' !$'

    8+,?F46?L32A (+:L

    ; (

    "). ( 27)

    V+8,/

    ; (t_21_oc) ( )

    " 21. 25 21.

    ; .

    ; 356 216/

    ;a

    *29 -60CZ6

    ;al , ( )

    *29 ->0F46

    8+, F46

    ; ('/B; () 216 [(', B;)

    ;

    *29 O23: L,3 V+,?F46?9(A,0B;

    *29 O23: L,3 V+,?F46?9(A,\F0('

    ;, . /

    *29 -;0FZF46

    *29 :;02

  • 7/26/2019 Assembler Eto Prosto

    106/328

    III. , , 104

    10.4.1.

    ,

    (.10.110.3).

    10.1. "#$ %&$: ()

    -6 S CZ6 ('=

    B;=

    10.2. %#$ %&$:

    -6 SFZ6

    :'=

    :;=

    10.3. %'$:

    :'/:;= , ( DOS)

    10.5.

    (.10.4 10.5).

    10.4.()*$+

    L.'6< Push flags 8086

    10.5.(,(+

    L2L< Pop flags 8086

    :DDD

    [54] A*L -;0FC

    [5F] @( KI?-;

    DDD

    , (01), .

    (02) . , ,

  • 7/26/2019 Assembler Eto Prosto

    107/328

    10. . 105

    (.. -; S FC). , -; 23. -

    , AFD Code View (

    , )

    (.10.4 10.5).

    .10.4.AFD: ^=(Zero Flag)

    .10.5.Code View: ^_(ZeRo)

    V+,?F46?L32A -

    10.4. :

    DDDA*L -60G

    @( KI?5G

    DDD

  • 7/26/2019 Assembler Eto Prosto

    108/328

    III. , , 106

    .

    . ,

    ( )

    A'/8L, . ,

    83(,

    . , ,

    . - -

    , F46. , -

    , :' :;. ,

    ( V+,?F46?L32A) -

    , A'/8L .

    :

    ; 21

    V+,?F46?9(A, :: W

    (Define Double word-

    ). , 16- -

    2 ( ) (:;, -;, (', '' .., -6, :>, B6, ...

    8- , 1). -

    V+,?F46?9(A, (2), -

    :

    *291+*2 )'*V+,?F46?9(A,0-;

    1, :*2934'5 )'*V+,?F46?9(A,0-6

    , "word" - "", byte"".

    10.5.1. ?

    ,

    "" F46. , AFD, TD, SoftIce ., CodeView.

    AFD, http://www.Kalashnikoff.ru.

    , 5G6 F46. , , -

    10.5 (\010\test10.asm).

    10.5.

    #$%& '()*(+,

    -''.*( #$/#$%&0 1$/#$%&0 %$/#$%&0 $$/#$%&

    23) 4556

    7()8+/

    *29 -60G

    *29 :;02

  • 7/26/2019 Assembler Eto Prosto

    109/328

  • 7/26/2019 Assembler Eto Prosto

    110/328

    III. , , 108

    .10.7.

    , 83(, -

    test10.com, 8+, F46.

    F46 -

    . , ,

    , .

    * * *

    11 Norton Commander.

  • 7/26/2019 Assembler Eto Prosto

    111/328

    11

    , - , ,

    , . , -

    , . :

    print ""

    , , . - , , -

    . , ,

    , , -

    , . -

    , ,

    , ? , -

    , , -

    .

    , ,

    , .. .

    11.1.

    : -

    Norton Commander (Windows Commander, FAR Manager ..) -

    XMS-.

    , ,

    . , ,

    , , 808680486 , ,

    , XMS-, .

    (, ), -

    , , Norton Commander.

    , .

    . ?

    , -

    300 .

    , ,

    "" FAR Manager, . ,

    , .

  • 7/26/2019 Assembler Eto Prosto

    112/328

    III. , , 110

    ,

    COM- (.. 64).

    " ?" . .

    Volcov Commander, COM 64 .

    , , ,

    . .

    , (11.1).

    11.1. ""

    "#$% &'()'*+

    ,&&-)' .&/"#$%0 1&/"#$%0 '&/"#$%0 &&/"#$%

    23( 4556

    7'(8*9&6'::/

    ;

    .,:: "6'.;9

  • 7/26/2019 Assembler Eto Prosto

    113/328

    11. 111

    ; , :

    "#$%&'( )(,,*4(,+*,)

    ; . ...

    "#$% '*1&

    7'(8*9&6':: '*1D

    Sshell11.asm ( . ).

    , , Sshell Super shell

    ( ), ,

    ( 11).

    (): 8*.:-1'.

    - (MASM/TASM): -

    . 8*.:-1' , -

    . .

    ? , -

    ( ), ( -

    , ): main.asm, display.asm,files.asm, keyboard.asm, messages.asm.

    ?

    (Far Manager, Norton Commander . .)

    +. ( ). - , . .

    - -

    DOS-, c

    http://www.Kalashnikoff.ru/.

    , . . -

    , Sshell11.asm. . -

    .

    ! main.asm, display.asm, files.asm, keyboard.asm,messages.asm. ! ( MASM 6.11):

    AEF$G$ #&6'::44F,&) HIJ

    ( TASM):

    JI#AF$G$ #&6'::44F,&)

    JEKLMF$G$ #&6'::44F2BN H+ H?

    . 1.

    Sshell11.com. , -

    . ASM.

    , ..

  • 7/26/2019 Assembler Eto Prosto

    114/328

    III. , , 112

    11.2.

    456

    BIOS () (.11.1).

    11.1. !"# $!#:

    ,6 O 5P6 ,:=

    ,6=

    B6=

    : . , . -

    , 40 25, 80 25 (

    , , Norton Commander), -

    (CGA) ( Digger), .

    .11.2 .

    11.2.

    /

    /

    CGA+

    01h , 16 40 25

    03h , 16 80 25

    04h , 4 320 200

    06h , 2 640 200

    VGA+

    11h , 2 640 480

    12h , 16 640 480

    13h , 256 320 200

    sVGA

    (, 1024 768, 64 ).

    , ( ) VBE (

    , ). -

    CGA-, EGA-

    helpassm.exe, http://www.Kalashnikoff.ru/.

  • 7/26/2019 Assembler Eto Prosto

    115/328

    11. 113

    , -

    CGA- EGA-.

    . :FFF

    )2< ,605P6

    8*+ 456.)D ,:0Q

    N' R;9

  • 7/26/2019 Assembler Eto Prosto

    116/328

    III. , , 114

    11.3. !%# $!#:

    ,6= 5S6

    ,:=

    .

    :

    , ( ) ,

    ;

    556 456

    , ;

    . , -

    . , -, " -

    ", , .

    .

    .

    * * *

    . 12 -

    .

  • 7/26/2019 Assembler Eto Prosto

    117/328

    12

    12.1.

    .

    - resid12.asm test12.asm. resid12.com , test12.com.

    Resid12.com ,

    ASCIZ (ASCII-, 0). !"#$%&'$()*+

    %&'( BIOS ()). -

    10. (,,')

    %&', , ,

    , , . -

    ,,', %&', -

    (). :

    -' / ,,' ;

    01213 = , (01, 13).

    , 01() ,

    13(). , COM- -

    +1, 01, 41, 11 ,

    . . ,

    , .

    12.2.

    , , . -

    , -

    . " "

    .

    - , . ? , "-

    ". %&', -5" " ,,66'.

    , -

  • 7/26/2019 Assembler Eto Prosto

    118/328

    III. , , 116

    . , -' ,,', -766'. ,,'

    %&' ( ).

    99,9%. %&'

    , %&'(-

    , , ), . , -

    %&' ,,66' -5 ,,66' -5,

    , . .12.1 -

    %&' .

    .12.1. : !

    %&'. resid12.com -

    , %&', ,

    , ,,66' -5. ,

    - . ? -

    -' -7 . ,

    , , , , 66,,'. , ,

    ,,66' -5, BIOS , ..

    . -5 66,,', , , -

    . !"#$%&'$()*+ (

    ?). ,

    -' -7(12.1).

    12.1. !"# resid12.com

    888

    !"#$%&'$()*+ ()*+

  • 7/26/2019 Assembler Eto Prosto

    119/328

    12. 117

    (91': ; , .. ...

    +;( -5

  • 7/26/2019 Assembler Eto Prosto

    120/328

  • 7/26/2019 Assembler Eto Prosto

    121/328

    12. 119

    ; -7 '1' (31'NA 13 / 13 1, .. 13 '2'

    7*01K

    ; a '32' (3332); si = si 2, si '5'

    888

    M#)3"@ 0D O%GHFEO

    888

    .12.3. 7*01D

    .12.4. 7*01K

  • 7/26/2019 Assembler Eto Prosto

    122/328

    III. , , 120

    : 7*01D,

    -7, 13 1. K, -

    () -5, 13 .

    :

    1. 01?

    2. 7*01K -5 '32', '23', ?

    ('32'), , 2 . 3, 2.

    : M#)3"@

    , ,

    , .

    . COM- -

    .

    .

    , - -

    . ,

    , ( )

    . 12.4 .

    12.4.

    888

    P-"074 0K %GHF'

    ; 123'.

    ; : 312'. ...

    888

    ;*C -5

  • 7/26/2019 Assembler Eto Prosto

    123/328

    12. 121

    .12.5. -5

    .12.6. -7

    .12.7. -7

  • 7/26/2019 Assembler Eto Prosto

    124/328

    III. , , 122

    12.5.

    888

    ;*C -5

  • 7/26/2019 Assembler Eto Prosto

    125/328

  • 7/26/2019 Assembler Eto Prosto

    126/328

    III. , , 124

    , :

    : : 888

    . , -' -

    , -7. , (..

    -' () ), ,

    . , -5 - !

    )4(,

    . , .

    1#*1K, (12.8).

    12.8. '((.

    888

    ;*C -545#$1Q;2 ;

    1#*1K

    7**( >45#$1Q;

    ;

    888

    , :

    1. 7**( )4( -

    .

    2. , )4(.

    3. ( >45#$1Q;).

    , )4(

    (12.9).

    12.9. /0.

    888

    ;*C -5

  • 7/26/2019 Assembler Eto Prosto

    127/328

    12. 125

    , . .

    IBM PC/XT. -

    )4( 1#*1K 0.

    !

    )4(( . repeat) , 7**( !

    :

    1#*1K , -5

    41203;

    )4( 1#*1K , -5 41203

    , ;

    )4(, -

    .

    . -

    , 13, 03.

    12.4. xor sub

    , -

    : 5*) 19D -

    (.12.9):

    5*) -5

  • 7/26/2019 Assembler Eto Prosto

    128/328

    III. , , 126

    .12.10. 19D

    (5*) -5

  • 7/26/2019 Assembler Eto Prosto

    129/328

  • 7/26/2019 Assembler Eto Prosto

    130/328

    III. , , 128

    (!)*+,"8")#-

  • 7/26/2019 Assembler Eto Prosto

    131/328

    13. : 129

    : DOS DTA

    "-". : DTA

    ?

    HELPASSM,

    http://Kalashnikoff.ru. -

    , . , COM- !""#(.?I !""#).

    " !""#? PSP (Program Segment Prefix,

    ),

    , .

    6"# DTA(Disk Transfer Area,

    ). DTA

    (+J# +B# )!#). ,

    , (6"#)

    . :

    BKLMNO7PKM P,QRQS

    @A,""6"# TCP,QRQS, T -

    , C . ,

    CodeView :

    PU7JVJ BKLMNO P,QRQS

    , @A,""6"#(.13.1).

    .13.1. PSP

    PSP? ,

    , (TCP,QRQS). , "-

    -", "", ,

  • 7/26/2019 Assembler Eto Prosto

    132/328

    III. , , 130

    . TCQRQS.

    :

    PSP . , -

    , ;

    DTA , . -

    !N# )!#(.13.1).

    13.1. !"# $!#: DTA

    0#= !N#

    3A,31= DTA

    , .. -

    DTA -.

    : " ".

    ,

    . :

    %./ 312.WWAE; R;?9:I

    31 R;?9:I .

    :

    %./ 312!)8# 31 . ,

    () , 0.

    - ,

    ! ,

    , !

    13.3

    , .

    13.3.

    777

    (!)*+,"!""#- %./ 312+""#

    ; , %./ 312.WWAE; R;?9:I7

    ; .WWAE; R;?9:I

    ; , .

    777

    23:000

    ; , 00#7

    ; , .

    777

  • 7/26/2019 Assembler Eto Prosto

    133/328

    13. : 131

    , "-" 100h,

    . , :

    !)*+,"+""# X !""# Y !)*+,"8""#. ,

    . 100, 23000 !

    , , -

    (13.4).

    13.4. )%%(

    777

    ;23:0200 , 00 "

  • 7/26/2019 Assembler Eto Prosto

    134/328

    III. , , 132

    : , , -

    , ?

    (. . , )

    - 7- ( !). -

    -

    80 25 ( 03). , ,

    . ,

    ( ).

    .13.2.

    13.2.

    "Z6""# 00

    "ZG""# 01

    "ZN""# 02

    "ZZ""# 03

    "ZP""# 04

    "Z[""# 05

    "ZJ""# 06

    "ZB""# 07

    .

    , ?

    300400 . 03:

    80 , 25. 2 (-

    /). : 80 25 2 = 4000 (, 4096 -

    ). ? , ! ,

    , , , .

    H:9; -

    . , .. . ,

    ...

    -

    : %./A.

    13.3. movs

    %./A . -

    , .

    A;.A, .

    .13.3.

  • 7/26/2019 Assembler Eto Prosto

    135/328

    13. : 133

    13.3. %&'(

    %./A Move string

    ()

    8086

    3A,A9 , , EA,39 -

    , @1 / (13.7, 13.8

    .13.2, 13.3).

    13.7. "012

    777

    %./ @1,0 ;

    %./ A92.WWAE; R;? ;

    %./ 392.WWAE; R;?2 ;

    ?E& %./A5 ; , .. %./A57

    ; tr tr2

    777

    R;?! 35 \"!)*+84=6G\

    R;?) 35 \G6=48+*)!"\

    777

    .13.2.

  • 7/26/2019 Assembler Eto Prosto

    136/328

    III. , , 134

    13.8. "012

    777

    %./ @128 ;

    %./ A92.WWAE; R;?! ;

    %./ 392.WWAE; R;?) ; ?E& %./A> ; , .. %./A>7

    ; tr tr2

    777

    R;?! 35 \"!)*+84=6G\

    R;?) 35 \G6=48+*)!"\

    777

    .13.3. %./A

    13.4. ,

    , :

    "-";

    7- ("ZB"","!""#).

    "" "ZB"",9&. , @A,9& -

    ( ). ,

    "":

    $%& 3>.?3 &;? @A,(KWWC%./E-

  • 7/26/2019 Assembler Eto Prosto

    137/328

    13. : 135

    , KWWC%./E, -

    , @A,9&.

    , , T05C$%&, -

    7- . .13.4 AFD

    virus13.com .

    .13.4.Virus13.com

    13.5.

    DTA 7- 0. -

    . -

    COM . -

    +J# )!#(.13.4).

    13.4. )*# $!#: /

    0# Y +J#

    @1= : 0

    (, read-only hidden!)

    3A,31= .

    :

    ]7]

    ]7E1E

    @.%%^^^7@^^

    @,_]70A%

    @W Y !: ( )

    @W Y ": DTA

  • 7/26/2019 Assembler Eto Prosto

    138/328

    III. , , 136

    @W . @WY!, ,

    ( 1), @WY", ( 0). -

    DOS, , .

    , +J# , , ,

    ( ), .

    ( ), DTA . - . @WY" ( ), -

    - .

    ,

    ( ), +B# )!#

    (.13.5).

    13.5. )+# $!#:

    /

    0# Y +B#

    @1= : 0

    (, read-only hidden!)

    3A,31= ( +J#)

    @W Y !: , -

    ( )

    @W Y ": DTA

    , +B# )!# +J#.

    , . ! .

    .

    .

    ! - ,

    .

  • 7/26/2019 Assembler Eto Prosto

    139/328

    14

    - , , -

    . , , .

    . -, !

    , - . .

    , :

    .

    .

    sshell14.asm!

    .

    , -

    ,

    , . : "...

    (!"#"$"%&'#", files.asm)...".

    !"#"$"%&'#" , , files.asm ,

    .

    14.1.

    14.1.1. COM?

    , Windows (FLAT)

    COM-, (TINY).

    14.1.2.

    ?

    . :

    TINY"" , , -

    , 16- (..

  • 7/26/2019 Assembler Eto Prosto

    140/328

    III. , , 138

    64).

    COM,

    (, ). -

    ;

    SMALL "" , , -

    ; COMPACT "" ,

    , . -

    ;

    MEDIUM "" , ,

    . , ,

    , ( , ..)

    , ;

    LARGE HUGE"" "" , ,

    ; FLAT "" , , -

    ( TINY), 32- .

    , 4294 967 296 (

    4 ). , , , -

    Windows.

    ()*+"#. 14.1 -

    COM .

    14.1. !"#$%&

    ; , (-./01(

    ; 344567 .

    ()*+"# -./0

    897: 9";)":) .

    *?; @AAB

    C";'

  • 7/26/2019 Assembler Eto Prosto

    141/328

    14. 139

    14.2. SuperShell

    14.2.1.

    main.asm. (M'+"%8S?9*?,

    display.asm). , . ATB @AB(.14.1).

    14.1. !"# $!#:

    FB= 3

    KB= ,

    +I= (+B-, +#)

    , KB ,

    . ,

    8. . -

    , , KB-

    0. +I : +B ,

    +#. (.14.1).

    .14.1.

    , .

    .

    25- . - 3 (25 , 80 ).

  • 7/26/2019 Assembler Eto Prosto

    142/328

    III. , , 140

    , ( )

    24. , 25 (19h), ""!

    AJB-

    @AB(.14.2).

    14.2. !%# $!#:

    FB= 2

    KB= ,

    +B= , +#=

    14.2.2.

    80286+ ,

    . ,

    , , ,

    . , Norton Commander Far Manager, -

    +.

    , , , -

    , ?

    , -

    8. -

    , ? (4FE"%)F'

  • 7/