.


:




:

































 

 

 

 


ң ө ө




ққ. қ ғ AL қ қ : =+AL. ұ ө қ , қ ң ө () ә қ ғ. қ, ң ө ә . ү AL қ ө ұғ .

ң , ң . ұ ғ ң ғғ ө қ ң . , AL=32=20h, AX=0020h.

MOV AH,0;AL AX

ң ү ң ұ ә қғ ү, ң ң . ғ ң ү ө . ұ ө (CBW, AL -), ө ө (CWD, - DX:AX-), ө ө (CWD, - AX-), ө (CDQ, E- EDX:AX-) ө ө ұ.

CBW ә CWD 8086/8088 ү, CWD ә CDQ 80386 ү

:

MOV AL,32;AL = 32d = 20h

CBW;AX = 0020h (+32 ө ү)

MOV AL,-32;AL =-32 = 0E0h

CBW;AX = 0FFE0h (-32 ө ү)

ғғ ғ қ, ң ң ң ө :

; ң ү

MOV ,0;ALàAX

ADD BX,AX

; ң ү

CBW

ADD BX,AX

ө

ң ә ң ө әү . ө ү қ:

ң ө: MUL OP

ң ө: IMUL OP

ұ ң әү ғ қ ғғ ә :

ө: AX= AL * OP (: rg8, mem8)

ө ө: (DX,AX)= AX * OP (op: rg16, mem16)

ө ө: (EDX,EAX)= AX * OP (op: rg32, mem32)

ө OP - ө, ұғ ү, . өң , қ қ ө: ө AL , ө ө AX , ө ө A .

әң , қ қ ө. ә ө ө қ . ө ә ө ө AX (-қ ғғ, AL ), ө ө ә ө ө DX, AX (DX- ғғ, AՖ ), ө ө ә ө ө ө DX, AX (DX- ғғ, AՖ ) .

, ө ө ұ . әң ғғ ң CF ә OF қ :

әң ғғ ө ө , CF=0 ә OF=0;

CF=1 ә OF=1 , ә ө ұ.

5.3.4.1-. қ - ә ң ө, Y- ө ө . Y=X*X*X ө , ә ө ө .

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

ң ө-ө ө. IMUL ң ң AL ғқ ң - . * өң ә . - ө қ ө қ ң ө ұ, ү CBW қ. ұ ққ . X*X*X өң ә ө қ DX ә . ң қ ә ө ө , қ DX .

ң ә :

MOV AL,X

IMUL AL;AX=X*X (IMUL X қғ )

MOV BX,AX;AX

MOV AL,X

CBW;AX=X ө

IMUL BX;(DX,AX)=X*X*X(DX- )

MOV Y,AX

5.3.4.2-. ө , . y=ab+(3+1)(2-1) ө .

. ә ө, ә қ қ ү Y . ң қғ , ә Z- . қ қң ә Z- қғ қң ә ө ә Y қ

A DB?;A ә, ө

B DB?;A ә, ө

Z DW?;Z-қ , ө ө

Y DW?;Y-ә, ө ө

...

ү ғ қ. ә -ғ.

ғ ғ ә:

Program missal5_3_4_2;

Var

a,b:byte; y,z: integer;

begin

Writeln('a='); Readln(m);

Writeln('b='); Readln(n);

ASM

;A - ө Y-

MOV AL,A;AL=A

MUL B;AX=AL*B

MOV Y,AX;Y=AX

; қ ә z-

MOV AL,A;AL=A

MUL A;AX=A*A

MUL A;AX=*A*A

INC AX;AX=*A*A+1

MOV Z,AX;Z=*A*A+1

; қ

MOV AL,B;AL=B

MUL B;AX=AL*B

DEC AX;AX=AX-1

; қ ә z- ө y- қ

MUL Z;AX=AX*Z

ADD Y,AX;Y+AX

End;

Writeln('ә=',Y);

Readln

end.

ә 4.

қ: қ .

: ү қ ә . Қ ә . ң ө ө. ө . ө .

ө

ө ө ә ң ә ң ө ү :

ң ү ө: DIV op

ң ү ө: IDIV op

ө ұғ ү, ә ө 8 (), 16 (ө) ә 32 ( ө) . өң , қ қ ө: ө қ ө A , ө ө ө (DX,AX) , ө ө ө ө (EDX,EAX) . ө ң ә өң ү қғ .

ө қ ө:

AH:=AX mod op, AL:=AX div op (op:reg8,mem8)

ө ө ө:

DX:=(DX,AX) mod op, AX:=(DX,AX)div op (op:reg16,mem16)

ө ө ө ө:

EDX:=(EDX,EAX) mod op, AX:=(EDX,EAX)div op (op:reg32,mem32)

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

ө ө ң;

ө ғ .

ө ө ұ ү ө cң ө ө қ. AL:=AL div CH :

; ң ү

MOV ,0;ALàAX

DIV CH;AL = AL div CH (AH = AL mod CH)

; ң ү

CBW;ALàAX

ADD BX,AX;AL = AL div CH (AH = AL mod CH)

 

5.3.5.1-. ө :

ұғ N, M ө .

. Ө ү ө ө . ң өң ө . ә қ қ ү қ ғ (A-ғ) қ. ө ө . , өң , ққ ә -ғ ө. қ ү PTR қ. ң ң өң ә ққ ә ү ө ү AL ә AH ққ ә ә Z ә Y .

N DB?;n ә, ө

M DB?;m ә, ө

Y DB?;Y- әң ү , ө

Z DB?;Z- әң ү , ө

A DW?;A-қ , ө ө

...

ә -ғ . ғ , қ.

ғ MIS5_3_5_1PAS.pas ң ә:

Program missal5_3_5_1;

{$L mis5_3_5_1.obj} { mis5_3_5_1.obj қ}

{$f+}{FAR қ }

Var

m,n,y,z:byte;

{ ғ қ ң }

Procedure mis5_3_5_1 (var m,n:byte; var y,z:byte);{FAR;} external;

begin

Writeln('m='); Readln(m);

Writeln('n='); Readln(n);

mis5_3_5_1(m,n,y,z);

Writeln('ү=',Y,';Қғ=',z);

Readln

end.

ғ MIS 5_3_5_1 ASM.asm ң ә:

; mis5_3_5_1.asm

.MODEL Large

.data

; ә -

; m,n ә, ө

Extrn m:byte, n:byte

; Y- әң ү , ө

; Z- әң ү , ө

Extrn Y:byte, Z:byte

A DW?;A- , ө ө

.code

Public mis5_3_5_1

mis5_3_5_1 proc far

;өң ө

MOV AL,N;AL=N

MUL N

MUL N;AX=AL*N*N

INC AX;AX=AX+1

MOV A,AX;A=AX

;өң

MOV AL,M;AL=M

MUL M;AX=AL*M

DEC AX;AX=AX-1

DIV BYTE PTR A;A- қ

;ө ә Y ә Z

MOV Y,AL;Y=AX DIV A

MOV Z,AH;Z=AX MOD A

ret

mis5_3_5_1 endp End

 

ә 5

қ: ө. ә ө . ө

. ө. ө. ө. (қ) ө. қ (қ) ө. ң қ ө . Қ қғ ң ә ө. ң ә қ ө.

 

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

Ө ө ә ө ө. ө қ қ ң , ө ө, қ қ ө .

қ ө .

 





:


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


:

:

, , .
==> ...

1875 - | 1507 -


© 2015-2024 lektsii.org - -

: 0.031 .