.


:




:

































 

 

 

 





3.1. NORTON EXE-:

 

.286

TITLE CALLPR (EXE)

;-------------------------------------------------------

STACKSG SEGMENT PARA STACK 'Stack'

DW 32 DUP(?)

STACKSG ENDS

;-------------------------------------------------------

CODESG SEGMENT PARA 'Code'

BEGIN PROC FAR

ASSUME CS:CODESG,SS:STACKSG

PUSH DS; DS

SUB AX,AX;

PUSH AX;

CALL B10; 10

MOV DS,AX; DS

MOV AX,0250; 0250

ADD AX,0125; 0125

MOV CX,AX; CX

RET; DOS

BEGIN ENDP

;--------------------------------------------------------

B10 PROC

CALL C10; 10

SUB AX,AX

SUB CX,CX

RET;

B10 ENDP

;---------------------------------------------------------

C10 PROC

ADD AX,1

MOV BX,AX

INC BX

RET;

C10 ENDP

;-----------------------------------------------------------

CODESG ENDS

END BEGIN

 

CALL , CALL, . RET .

- :

DS ES: - 256 (100) , .

CS: ( ).

IP: .

SS: .

SP: , .

3.2. callpr.asm . . .

3.3. DEBUG . R . D SS:00 . , . SP. ,

PUSH. , SP. DS , .

, , , 00 07 07 00. DEBUG , IP, .

3.4. PUSH. , , .

3.5. CALL B10. , . CALL B10. CALL B10. CALL B10 B10, CALL C10.

3.6. CALL C10. , . .

3.7. , RET 10. , SP, IP, . , , IP. .

3.8. , RET B10. , SP, IP, . , , IP. .

3.9. Q.

 

 

4. : .

4.1. , .

NORTON -:

 

.286

TITLE EXMOVE (EXE)

;-------------------------------------------------------

STACKSG SEGMENT PARA STACK 'Stack'

DW 32 DUP(?)

STACKSG ENDS

;-------------------------------------------------------

DATASG SEGMENT PARA 'Data'

NAME1 DB 'ABCDEFGHI'

NAME2 DB 'JKLMNOPQR'

NAME3 DB 'STUVWXYZ*'

DATASG ENDS

;--------------------------------------------------------

CODESG SEGMENT PARA 'Code'

BEGIN PROC FAR

ASSUME CS:CODESG,DS:DATASG,SS:STACKSG,ES:DATASG

PUSH DS; DS

SUB AX,AX;

PUSH AX;

MOV AX,DATASG; DATASG

MOV DS,AX; DS

MOV ES,AX

CALL B1OMOVE; /

CALL C1OMOVE; /

RET; DOS

BEGIN ENDP

 

; ,

; :

;------------------------------------------------------------

B1OMOVE PROC

LEA SI,NAME1;

LEA DI,NAME2;NAME1 NAME2

MOV CX,09; 9

B20: MOV AL,[SI]; NAME1

MOV [DI],AL; NAME2

INC SI;.. NAME1

INC DI;.. NAME2

DEC CX; .

JNZ B20; > 0? -

RET; = 0,

B1OMOVE ENDP

 

; ,

; LOOP

;----------------------------------------------------------

C1OMOVE PROC

LEA SI,NAME2;

LEA DI,NAME3;NAME2 NAME3

MOV CX,09; 9

C20: MOV AL,[SI]; NAME2

MOV [DI],AL; NAME3

INC SI;.. NAME2

INC DI;.. NAME3

LOOP C20; ,

; 0,

RET; = 0,

C1OMOVE ENDP

CODESG ENDS

END BEGIN

 

: NAME1, NAME2, NAME3. - NAME1 NAME2 NAME2 NAME3. , MOV .

BEGIN B1OMOVE C1OMOVE. B1OMOVE NAME1 NAME2. , NAME1 , ..

NAME1 NAME2 9, SI DI . LEA NAME1 NAME2 SI DI.

NAME1 NAME2 SI DI. MOV , , . , MOV AL,[SI] : SI (..NAME1)

L. MOV [DI],AL : AL , DI (..NAME2).

SI DI . , ( 20). SI DI 1, MOV NAME1+1 NAME2+1. , NAME1+8 NAME2+8.

JNZ 20, DEC CX , . DEC CX 1.

1OMOVE B1OMOVE : NAME2 NAME3 LOOP DEC JNZ.

4.2. . .

4.3. DEBUG exmove.exe.

4.4. CALL. , DS . , , , D DS:00, , D SS:00. .

4.5. 20. , , , D DS:00, , D SS:00. .

4.6. INC. , , , D DS:00, , D SS:00. .

4.7. JNZ. , , , D DS:00, , D SS:00. .

4.8. JNZ. , , , D DS:00, , D SS:00. .

4.9. JNZ, . , , , D DS:00, , D SS:00. .

4.10. , , RET. , , , D DS:00, , D SS:00. .

4.11. RET. , , , D DS:00, , D SS:00. .

4.12. CALL. , , , D DS:00, , D SS:00. .

4.13. LOOP, . , , , D DS:00, , D SS:00. .

4.14. LOOP. , , , D DS:00, , D SS:00. .

4.15. . RET . , , , D DS:00, , D SS:00. .

4.16. , Q.

 

5. : .

5.1. Z 41 5, z 61 7. , 0 1 :

 

: 7 6 5 4 3 2 1 0 : 7 6 5 4 3 2 1 0

: 0 1 0 0 0 0 0 1 : 0 1 1 0 0 0 0 1

Z: 0 1 0 1 1 0 1 0 z: 0 1 1 1 1 0 1 0

 

NORTON COM-:

 

.286

TITLE CASE (COM)

CODESG SEGMENT PARA 'Code'

ASSUME CS:CODESG,DS:CODESG,SS:CODESG

ORG 100H

BEGIN: JMP MAIN

;----------------------------------------------------------

TITLEX DB 'Change to uppercase letters'

;----------------------------------------------------------

MAIN PROC NEAR

LEA BX,TITLEX+1;

MOV CX,31;

B20: MOV AH,[BX]; TITLEX

CMP AH,61H;

JB B30;

CMP AH,7AH;

JA B30;?

AND AH,11011111B; -

MOV [BX],AH; TITLEX

B30: INC BX;

LOOP B20; 31

RET

MAIN ENDP

CODESG ENDS

END BEGIN

 

TITLEX TITLEX+1. TITLEX+1 TITLEX+1.

CMP 61.

JB 30, < 61.

JA 30, > 7.

61 < AH < 7AH, AND. AND 11011111 ( ). , , . 0, . TITLEX, .

.

5.2. case.asm. . DEBUG .

5.3. JMP. , D CS:100. TITLEX. .

5.4. 10 - 15 . . . .

5.5. , RET. . .

5.6. Q .

 





:


: 2015-10-01; !; : 440 |


:

:

- , .
==> ...

1697 - | 1516 -


© 2015-2024 lektsii.org - -

: 0.044 .