.


:




:

































 

 

 

 





LOOP ( . LOOP ), LOOPZ ( . LOOP while Zero ) LOOPNZ ( . Loop while Not Zero ), CX. .9.6.

 

. 9.6.

 

LOOP CX :

> 0, ;

CX = 0, LOOP .

LOOPZ CX , ZF:

> 0 ZF = 1, ;

CX = 0 ZF = 0, LOOPZ .

LOOPNZ CX , ZF:

> 0 ZF = 0, ;

CX = 0 ZF = 1, LOOPNZ .

, :

 

MOV CX,10;

m1: MOV AX,12

LOOP m1;

 

, LOOP, LOOPZ LOOPPNZ ( 128+127 ).

( ), :

 

MOV CX,30;

cykl_1:

PUSH CX

MOV CX,5;

cykl_2:

LOOP cykl_2

POP CX

LOOP cykl_1

 

COM-, () (). ASCII .4.2. 61H7AH, 41H5AH. , , 61H7AH, .

, ASCII :

A = 41H = 01000001B,

a = 61H = 01100001B,

Z = 5AH =01011010B,

z = 7AH = 01111010B.

, , , . , , AND.

.9.7.

 

 

codesg SEGMENT PARA 'Code'

ASSUME CS:codesg,DS:codesg,SS:codesg,ES:nothing

ORG 100H

begin: JMP main

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

pole DB 'Hsd1fAbcVVxX4'

len=$-pole;

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

main PROC NEAR

 

MOV CX,len;

LEA BX,pole; BX

 

m1: MOV AL,byte ptr [BX];

CMP AL,61H

JB next

CMP AL,7AH

JA next

AND AL,11011111B;

MOV byte ptr [BX],AL;

next: INC BX;

LOOP m1

 

MOV AX,4C00H; RET

INT 21H

 

main ENDP

codesg ENDS

END begin

. 9.7.

 

1. m1?

MOV AL,35H

CMP AL,10110011B

JA m1

2. m1?

MOV AL,-35D

CMP AL,10111001B

JL m1

3. m1?

MOV AL,FEH

AND AL,00H

JZ m1

4. ?

MOV AX,5

MOV CX,4

m1: ADD AX,2

INC CX

LOOP m1

5. BL ?

MOV BL,0

MOV CX,10

m2: INC BL

INC BL

m1: INC BL

LOOP m1

LOOP m2

6. COM-, () ().

7. COM, .

 





:


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


:

:

, .
==> ...

1503 - | 1357 -


© 2015-2024 lektsii.org - -

: 0.013 .