.


:




:

































 

 

 

 


ұ




ұ ұқ ң қ қғ , қ ұ. ұ ұқғ ү ң ә қ.

. ұғ ү ң қ () ө қ, : MOV CX,A. қ ғ қ қ ө ү, : MOV CX,A[BX]. ө , () ұ . ұ :

= (+[BX]) mod 216,

ұ [BX] ң құ . қ қ қ ұ ә қ , қ ң , . ( ө ң .) қ ә қ қ қ, ң ңғ 16 , ғ mod ө.

ғ , қ - ғ . ұ, , , Intil BX/BX,BP/BP,ESI/SI ә EDI/DI ң ғ .

ғ, ADD A[SI],5 қ. ұ SI ғ. қ 100 ұ . = +[SI]=+100, ұ 5 +100 ұқғ ғ қ . SI- -2(0FFFFh) ұ, = -2, қ 5 -2 ұқғ ғ қ .

ң ө ә ү ө. ұ ө ң, ү . ң ғң , ұ қ, .

. ққ: қ

X DW 100 DUP(?);X[0..99]

, ң ң қ X .

Қ ү, - 0 , ң AX:=AX+X[i], ұ 0- 99-ғ ө, . [i] ң +2* ғқ, ғ ә :

DD AX, X+2*i

қ ұ қ ң ә ң қ : ң қ ө, ң , , ө . , ұ ң ө ө .

ғ қ: әү ұ (ө ұ ), қ қ. ̳ ққ ү, .

+2* ө қғқ ө: ә ұқ қғ - ә ә қғ 2*-. ұқ қғ ң ө , қғ қ -ғ (қ SI-) қ:

қ? ұ ң ү ө, ғ қ ң қғ. ғ, ұ , ғ SI ң құ (2*)-ң қ ғ. қ SI ң ә ө , ө әү ұ . ө, қ ң , ң қғ. қғ SI ң құ ұ ө. : SI- 0 , ң ң ә 2 қғ ; ә ң ,+2, +4,...,+198 ұ .

- қғ ққ (ә қ ә ө), - , ң ә - .

ғ , ң ң қ ң ө :

MOV AX,0;қң қ ә AX:=0

MOV CX,100; ғ :=100

MOV SI,0;ң қ ә

L: ADD AX,X[SI];AX:=AX+X[I]

ADD SI,2;

LOOP L;100 қ

. ң ғ ғ ққ.

қ қ : , қ ғ ө ө қ ұқ , ұққ ( 300 )

ұқң () , ұ MOV x, 300 . қ құ ә , ө . ? ң ұ ү, қ қ ә қ. ң ғ ө ә қ, =0+[BX]=0+x=x. қ ң

MOV [BX], 300

.

ұғ қ әң : қғң қ қ ң ғ , , қ ұ қғ ө ө , ғ қғ ө, қ ұ ғ. ұғ () ғ ө . ұ қ қ ө ә .

, ә, ө ұқң ө қ қ ғ . , ү, ұғ ұққ ө қ , ү MOV [BX],0 қғ , ұ ң ө ү: 0 , ө , қ , ө (ғ ұ ғ , 300 ө ө ). қ R ң ө, ң ө ө қ:

MOV BYTE PTR [BX],0;

MOV WORD PTR [BX],0;ө

. ү ғ ққ. қғ ң ғ . ү ө . - ө ұқ , ң ү BX/BX BP/BP ң , ESI/SI EDI/DI ң қ (BX/BX ә BP/BP ESI/SI ә EDI/DI қғ ). :

MOV ,[BX][SI]

ұ ғ , :

= (A+[BX]+[SI]) mod 2 16

ә ө ұ қ. қ, ү, 10×20 :

A DB 10 DUP (20 DUP(?));A [0..9,0..19].

. ққ. қ ө , ө ( ұққ), ң ң ү ү қғ

A: A=A

E[M]: A=(E+[M]) mod 216 (M: BX,BP,SI,DI)

E[M1][M2]: A=(E+[M1]+[M2]) mod 216 (M1:BX,BP;M2:SI,DI)

(. =0 , 0- ғ : 0[M]=[M])

ғ , - - қ ,,S DI ғ . ғ, ө қ. -ң ұ қғ ұқ , , SI DI .

. ұ ә қ ү ұ қ, қ. ұ ң қ қ қғ (ә қ, , қ ә).

ң ө: - қ ң , TYPE X[SI]=BYTE, ұққ ө ө (, 1[BX]) ң қғ .

ө ң ү ә қ, ү , ү ұқ .

қ қ ұ ң ң қ қң қ :

1) қ -ң ң (,,SI,DI) ң құ ө (ң қ ң ө ө).

:

A DW 99

AA DW A

...

MOV BX,AA;A BX-

MOV CX,[BX];CX:=A (CX:=99)

MOV CX,BX;CX:=BX(CX:= )

. ң қғ ғ .

2) ө қғ ғ , ң ғ ө (қ , ғ ө ү).

:

MOV CX,[2];=MOV CX,2

MOV CX,[A];=MOV CX,A

MOV CX,[A+2[BX]];=MOV CX,A+2[BX]

3)

[x] [y] = [x]+[y] = [x+y]

қ қ, ө қ қғ , өң қ .

:

MOV CX,[BX][SI];= MOV CX,[BX]+[SI] = MOV CX,[BX+SI]

қң қ ққ ә ң ң ү ә ү, ң қ ұқ ғ . , ә ң ң :

A+1,[A+1],[A]+[1],[A][1],A[1],1[A],[A]+1,

5[SI],[5][SI],[5]+[SI],[SI+5],[SI]+5,

A-2[BX],[A-2]+[BX],[A-2+BX],A[BX-2],A[BX]-2,

A[BX][DI],A[BX+DI],[A+BX+DI],A[BX]+[DI],

0[BX][SI],[BX][SI],[BX]+[SI],[BX+SI],[SI][BX],

, әү ә ғ . , ұ қ әң ң ү ң қ . Қғ ғ:

ң қ (+);

(+2) қғң қ;

ң ғ ү ([SI+DI]);

(A[CX],2[BL]);

қң ғ ([SI]5,[BX]A).

қ, ү ([5]), ұққ ө . қ ғ қ, ә ө ұғ ң ү ң. қң ң , қ қғ қ ү қ. ұ ұқ (A[i+3]).

ғ . ө ң ә (EQU,PTR ә ..) қғ , қ ә қ қ қғ . ,

DW 1[SI]

ң ң ә ұғ ғқ ұ қ .

ұ өң ғ қ. ұ қ ә ң ү . ә -ғ ғ. ғ , қ қ.

N EQU 10

X DW N DUP(?);X[0..N-1]

ң ң ү қ, ң ( ұ ) ә ң .

. (X[i]=X+2*i) ғқ қ (қ SI ) (2*) қғ . Ә ә ң ұ , ң ғ ң ң , қ ү, ө.

ғ Mas_Max.pas ң ә:

Program Mas_Max; {$L Mas_Max.obj} { SIM.obj қ} {$f+}{FAR қ } label l1,l2; type m: array[0..100] of byte; var n: word; i: byte; Max: word; x: m; { ғ қ ң } Procedure Mas_Max(var n:word;X:m; var i:byte; mas:word);{FAR;}external; begin Writeln('ң ='); Readln(N); For i:=1 to n Do Read(X[i]); Mas_Max (n,x,I,Max); Writeln('i=',I, Max=,Max); Readln end.

ғ Mas_Max.asm ң ә:

;Mas_Max.asm ң ә .MODEL Large .data ;ә - ;n ң , Extrn n:Word, x:word ;ә: Max ә ң Extrn i:byte, max:word .code Public Mas_Max Mas_Max proc far MOV BX,X;BX=X[0] (қ max) MOV ax,0;AX=2*(max-ң ),ғқ 0 MOV SI,0;SI=2* MOV CX,N; l1: CMP X[SI],BX;X[i]= max? JLE l2;X[i]<= max ғ àL2 MOV BX,X[SI];ң max- қ MOV ax,si;max-ң l2: ADD SI,2;SI=SI+2 LOOP l1;àL1 MOV CL,2;CL=2 DIV CL;CL div 2 mov,bx;max mov i,al;i ret Mas_Max endp End

N EQU 50

S DB N DUP(?);S[0.. N-1]

Y ң ғ ғ .

(S[0],S[1],S[2],,S[N-1])à(S[2],,S[N-1],S[0],S[1])

. ұ S[i]=S[i+2] . , (қ DI ) ң ң () , Y ң ө . Y[i+2] ң ә ә ө (+2- ғ), ң ң ғқ ә () қ қ ғ . қ қ ғ ң:

(S[i])=Y+i

(S[i+2])= S+(i+2)=(S+2)+i

, DI=i ғ S[i]- c S[DI] ө , S[i+1]- S+2[DI] S[DI+2] ө . ө, 2- қ, ө, ң ө ө ңғ.

ʳ ғ Mas_ Misal_2.pas ң ә:

Program Mas_Misal_2; label l1; type m: array[0..100] of byte; var n: word; i: byte; Y: m; begin Writeln('ң ='); Readln(N); For i:=1 to n Do Read(X[i]); asm LEA BX,Y MOV AH,[BX];Y[0] ә Y[1]- құқ MOV AL, [BX+1] MOV CX,N; ADD CX,2; CX=N+2(ғ ) L1: MOV DH,[BX+2] MOV [BX],DH;Y[i]:=Y[i+2] INC BX;i:=i+1 LOOP L1 MOV [BX],AH;Y[n-2]:=Y[0] MOV [BX+1],AL;Y[n-1]:=Y[1] end; For i:=1 to n Do WRITELN(Y[, I, ]=, Y[i]); end.

N EQU 50

Y DB N DUP(?);Y[0.. N-1]

S ң , ғ ң ң қққ қ ң қ қ ә 1 () 0 ( ) ә AL қ.

. ұ S[i]- ә S[N-1-], 0- (N div 2)- ө, . Ә қ ү - , қ ү N-1-i ғ , ү қ. N-1-i ң (j) , j- қ қ ұ .

ғ SIM_PAS.pas ң ә:

Program SIM_PAS;

{$L SIMMET.obj} { SIM.obj қ}

{$f+}{FAR қ }

label l1,l2;

type m:array[0..10] of byte;

var n:word; x,i:byte;

s:m;

{ ғ қ ң }

Procedure SIM(var n:integer;s:m; var d:integer);{FAR;}external;

begin

Writeln('ң ='); Readln(N);

For i:=1 to n Do Read(s[i]);

SIM (n,s,x);

Writeln('X=',X);

Readln

end.

ғ SIM.asm ң ә:

;mis_Mas.asm

;Sim_Mas ң ә

.MODEL Large

.data

;ә -

;n ң , s

Extrn n:Word, s:byte

;ә: X=1, ә X=0

Extrn x:byte

.code

Public sim

sim proc far

mov dl,2;dl=2

MOV x,0;x=0

MOV SI,0;i:=0

MOV DI,N

dec di;j:=n-1

mov ax,n

div dl;n div 2

MOV Cl,al;Cl=n div 2

mov ch,0;CX=n div 2

; ұ

L1: MOV AH,S[SI]

CMP AH,S[DI];S[i]=S[j]?

JNE FIN;ң ? AL=0- ғ

INC SI;i:=i+1

DEC DI;j:=j-1

LOOP SYM;à L1

MOV x,1;қ ұ ң? X=1

L2:

ret

sim endp

End

8.1.3.4-. ң ң ғқ ғ L .

. ң (ғқ 20 ң , 20 - ә ...) [I,j] ң +20*i+j. ұғ 20* қ ү , j- қ ү SI , A[BX] - ң - ң ғқ , A[BX] [SI] ң j- ң .

MOV AL,0; , ғқ 0

;қ ( )

MOV CX,10;қ

MOV BX,0;- (20*) ң ө

L: MOV AH,A[BX]; ң ғқ

MOV DX,CX;қ ң - құқ

MOV CX,19;

MOV SI,0;j- ғ ң

L1: INC SI;j:=j+1

CMP A[BX][SI],AH;A[i,j]=AH?

LOOPNE L1;ә A[i,j]<>AH ғ қ

JNE L2;AH қғ қ àL2

INC AL;

; ң

L2: MOV CX,DX;- қ ү қ

ADD BX,20; ң ө

LOOP L;10 қ

ә 11,12





:


: 2016-12-18; !; : 589 |


:

:

: , .
==> ...

1484 - | 1458 -


© 2015-2024 lektsii.org - -

: 0.09 .