: .
( ) ( -). , BP ( BP , [BP+i] ). BP , .
. RET , , ( , RET 0, .. ).
RET 2*k; k
. n X. .
S SEGMENT STACK;
DB 200 DUP(0ABh)
S ENDS
D SEGMENT;
X DB 20 DUP (1)
Y DB 10 DUP (2)
D ENDS
CODE SEGMENT;
ASSUME SS:S,CS:Code, DS:D
; n
; . .
NUL PROC
PUSH BP;;
; BP
MOV BP, SP; BP
;
PUSH BX;
PUSH CX; BX CX
;
;
MOV CX, [BP+4]; CX:=N (
; )
MOV BX, [BP+6]; (
; -
; )
L1: MOV BYTE PTR [BX], 0;
; BX (..
; )
INC BX
LOOP L1;
POP CX;
POP BX; BX CX,
POP BP; BP
RET 4;
;
NUL ENDP;
;
MMM PROC FAR
; DOS
PUSH DS; DS
SUB AX,AX;
PUSH AX;
; DS.
; CS SS .
MOV AX,D;
MOV DS,AX; D DS
; 20 X
LEA AX, X
PUSH AX; 1-
; ,
;
MOV AX, 20
PUSH AX; 2-
;
;
CALL NUL;
; 10 Y
LEA AX, Y
PUSH AX; 1-
;
MOV AX, 10
PUSH AX; 2-
;
CALL NUL
RET; DOS
MMM ENDP
CODE ENDS;
END MMM;
|
|
3.3.
1) - . .
2) , . 5. :
;
.
5
. | |
P (10 ) Q (7 ). . . | |
X (5 ) Y (6 ). , 0, . . | |
J (7 ) (5 ). -1, 1. . | |
M (6 ) (7 ), . * #. . |
. 5
R (6 ) (7 ), . ! . . | |
A (5 ) B (4 ). . . | |
E (7 ) F (5 ). . . | |
I (7 ) J (5 ). 0 . . | |
I (6 ) J (7 ). . . | |
L (10 ) M (7 ), . ( - , ) . . | |
T (8 ) U (7 ). . . | |
A (6 ) B (7 ). . . |
( ). CALL RET ( PUSH, POP, JMP).
3) , ( ).
1. :
X, Y 3 ;
SUM 16- .
( , ), SUM.
. AL, AH BL. BH.
|
|
2. :
- : X 20 , Y 30 , Z 16 ;
SUM .
, . SUM.
. . DX.
3. :
X, Y 3 ;
SUM 16- .
( , ), SUM.
. . AL.
4. :
- : X 20 , Y 30 , Z 16 ;
SUM .
, . SUM.
. . DX.
3.4.
:
;
( ).
, .
4. 6.
4.1.
:
, .
, .
, , .
, .
( 2-3 ).
:
Visual C++.
:
( , , ).
, .. .
FCFS, SJN, SRT, RR, RR + .
.
, .
( ) ( ) .
, , , . C.
4.2.
, ( ). .. (). , . , .. , . , .
|
|
-, . , , -, , ( , ), -, .