.


:




:

































 

 

 

 





X 30 .

X DW 30 DUP (?)

, , . , 0, . 0, i- :

(X[i]) =X + (type X)*i

type X ( type X = 2, type X = 4).

, k, :

(X[i]) =X + (type X)*(i-k)

 

.

, :

MOV CX, A[BX]

A, , :

= (A + [BX]) mod 216

, , A BX, . , 16 , mod .

, , , - . BX, BP, SI DI.

- , .

 

.

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

AX .

AX 0, AX:=AX+X[i] i 0 99. , :

ADD AX, X + 2 * i

: , . i.

X+2*I X, i, 2*i, . , - (, SI), .

- , , .. . , SI , , , .

SI. SI 0, 2; X, X+2, X+4, , X+198.

, X :

 

MOV AX, 0;

MOV X, 100;

MOV SI, 0;

; ()

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

ADD SI, 2;

LOOP L; 100

 

 

1.3.

 

1) :

;

( ) - ( );

( AX) (, ).

2) . 4.

 

 

4

 

  ( BX)
  ( )
 
 
  ( , ..)
  ( , ..) ( )
  ( , ..) ( )
  ,
  (.. )
  (.. )
  , ,
  ,

 

1.4.

 

:

;

( ).

, .

 

 

2. 4

2.1.

 

:

.

.

:

DOS, MASM, AFD.

 

2.2.

2.2.1.

 

, : , , . , : 64 16. , , .

, .

SS , ( 16 ).

SP ( ). , , .. , . SS:SP.

: , , .. . .

k :

S SEGMENT STACK

DB k dup (?)

S ENDS

 

STACK SEGMENT SS , SP ( k).

, ( ). 128 . , , , 128 .

 

2.2.2.

 

.

 

PUSH op

:

16 ;

;

.

PUSH : SP 2 ( 216), .. SP , .

SP:= (SP - 2) mod 216, op -> [SS:SP]

( I80186). , , :

MOV AX, 5

PUSH AX

 

. , .

, *:

MOV AL, *;AL:=* AH:=?

PUSH AX

, .

 

:

POP op

:

16 ;

( CS );

.

POP . : , SS:SP, , SP 2 ( 216), .. :

[SS:SP] -> op, SP:=(SP+2) mod 216.

 

2.2.3

 





:


: 2016-11-12; !; : 1247 |


:

:

,
==> ...

1566 - | 1327 -


© 2015-2024 lektsii.org - -

: 0.025 .