. , , , . : , - , ( ).
3 :
-
-
-
.
:
dec di; di 1
mov bx,di; di bx
() , . . ( ) , . , , DS. . , - d16.
:
mov g,si; si g,
mov si,d; d si
, , . i-o , . i- ( ). .
:
mov al,str[si]; al 8- str si
mov mas[si],dl; mas si dl
2.4 -
- .
:
.
.
.
. , , . , .
3.1
|
|
(text editor) ASCII.
, .. . . *.LST OBJ. , - , . , .
, . . , . .
( ) ( -linker). , . , , , .. , EXE. . LINK.EXE.
, , , , , .
DOS. DOS , .
|
2 - ,
, ( ), . (map file), , .
, . , , . ( , , PASCAL , , .)
, .
1 - , .
polusumm.asm | ||
polusumm.obj | ||
polusumm.lst | ||
polusumm.exe | ||
polusumm.map |
|
|
, , , , .
. , .. , .
3.2
, ( 3).
3
, . . , . .
3.3
( ).
3
(. 3) :
1.
2.
3. ()
4.
3.4
Zadacha.exe 1116 . .
3.5
, .
, :
1. mov dx,di
MOV - -. - . - . , . . DX DI.
: 1000 1011 1101 0111
16- : 8BD716
. .
:
0000 0000 0000 0000
0000 0000 0000 0010
0000 0000 0000 0010
4 mov dx,di
2. cmp di,len
.
: 1000 0011 1111 1111 0001 0101
16- : 83FF1516
. .
:
_0000 0000 0000 0010
0000 0000 0001 0101
1111 1111 1110 1100
:
CF=1; ZF=0; SF=1; OF=0; PF=1; AF=1
: FFED16
5 cmp di,len
3. jge c4
, .
: 0111 1101 0000 0010
16- : 7D0216
6 cmp di,len
4. inc cx
( ) 1. ADD ,1 , CF . (OF, SF, ZF, AF, PF) .
: 0100 0001
16- : 4116
.
:
+0000 0000 0000 1101
0000 0000 0000 0001
0000 0000 0000 1110
:
CF=?; ZF=0; SF=0; OF=0; PF=1; AF=0; IF=1; DF=0
: 0E16
7 inc cx
5. xor di,di
. : CF=0, OF=0, PF, AF , ZF, SF.
: 0011 0011 1111 1111
16- : 33FF16
|
|
.
:
0000 0000 0001 1011
0000 0000 0001 1011
0000 0000 0000 0000
:
CF=0; ZF=1; SF=0; OF=0; PF=1; AF=?
: 0016
8 xor di,di
3.6 IP JMP, Jcc, LOOPx
, , . IP .
cmp cx,0
jz l_str_pust
:
: 7468h; IP1=000D IP2=000F
, (ZF=1). IP+Rel8. IP IP=IP+68h.
cmp di,len
jge c4
:
: 7D02h; IP1=002A IP2=002C
, (SF=OF). IP+Rel8. IP IP=IP+02h.
cmp di,len
je exit
:
: 742Bh; IP1=0058 IP2=005A
, (ZF=1). IP+Rel8. IP IP=IP+26h.
loop b1
:
: E2F9h; IP1=0073 IP2=006E
. , : =0, , , .
IP : IP=IP+F9h.
3.7
:
0710:0000 0710:001D . .
9
:
.
10
.
4
: .
:
1
: 'evedfgdsfag 53809 jfdSDmk 43 '
: '34 kmDSdfj 90835 gafsdgfdeve '
: '34 kmDSdfj 90835 gafsdgfdeve '
11 1
.
2
: ' fijoei8 1122 90 qwxm cc'
: ' cc mxwq 09 2211 8ieojif'
: ' cc mxwq 09 2211 8ieojif'
12 2
.
3
: ' 1234 56 88211 99 '
: ' 99 11288 65 4321 '
: ' 99 11288 65 4321 '
13 3
.
4
: ''
: 'otsutstvuyt simvoli'
: 'otsutstvuyt simvoli'
14 4
, 'otsutstvuyt simvoli'.
5
: '1 23'
: '32 1'
: '32 1'
15 5
.
|
|
, , , , .
, , .
. .
1. . , 2007.
2. .. Intel 8086 Pentium3 Xeon AMD-K6-3, 2000.
3. .. , .. , 2004.
4. .. , , 1990.
5. .. ѻ, 1990.
6. .. , .. һ, 2003 .
7. .. . , 2004.