.


:




:

































 

 

 

 


Windows. MASM.




ò

p 16 , . , . ' ( ):

: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

: * * * * O D I T S Z * A * P * C

.

CF (Carry Flag) - . ̳ "" (0 1) .

PF (Parity Flag) - . - . 0, - 1. - .

AF (Auxiliary Carry Flag) - . 1, ( 3) . ASCII .

ZF (Zero Flag) - . a . , , - . , , , 0 "" (.. ), "" (.. ). JE JZ . SF (SIgn Flag) - . ( ) p: 0, - 1. JG JL .

TF (Trap Flag) - . - , DEBUG. c, , .

IF (Interrupt Flag) - . , - .

DF (DIrection Flag) - . - . SI DI, , - , (. .11).

OF (Overflow Flag) - . Գ , / () . : CMP AF, CF, OF, PF, SF, ZF. , . - , , BX :

CMP BX,00; BX

JZ B50; B50 . (䳿 )

B50:...; BX=0

BX , CMP ZF , ( ) . JZ ( ) ZF. ZF, , , , B50.

 

2.

MASM . EXE COM .

n, a1, , an. , a1, , an, an+1.

assume CS:code, DS:Data

code segment

begin: mov ax,data

mov ds,ax

 

mov bl,2; 2

 

mov ax,0;

mov si,-1

 

ii: inc si;

cmp si,len;

je fin;

;

 

mov al,mas1[SI]; al

div bl; 2

 

cmp ah,0; = 1( ),

jne jj;

inc kol

jmp ii

 

jj: mov al,mas1[SI]

cmp max,al;

ja ii; ,

 

mov max,al; min

jmp ii

fin: mov bl,10;

xor ax,ax

mov al,max

 

div bl

 

add al,48

add ah,48

mov bl,ah

 

mov y,al

mov ah,09h

mov dx,offset y

int 21h

 

mov y,bl

mov ah,09h

mov dx,offset y

int 21h

 

mov al,10;

mov y,al

mov ah,09h

mov dx,offset y

int 21h

 

mov al,kol

add al,48

mov y,al

mov ah,09h

mov dx,offset y

int 21h

 

exit:

mov ah,4ch

int 21h

code ends

data segment

max db 0;

kol db 0

len dw 10;-

mas1 db 10,24,18,9,56,3,75,1,46,35;

y db " $"

data ends

stk segment stack

db 256 dup()

stk ends

end begin

 

 

3

(n,n) .

 

assume CS:code, DS:Data

code segment

begin: mov ax,data

mov ds,ax

 

mov bx,row

mov ax,col

mul bx

sub ax,col

mov dob,ax

 

mov bl,mas1

mov min,bl

mov cx,col

 

incCol:

push cx

 

mov di,cx

dec di

mov cx,row

 

mov min,254

 

incRow:

mov si,cx

dec si

mov bx,col

mov ax,si

mul bx

mov bx,ax

mov al,mas1[bx][di]

 

cmp min,al

jb less

mov min,al

mov ind,si

 

less: loop incRow

mov si,ind

dec si

ii: inc si

cmp si,row

je jj

 

mov bx,col

mov ax,si

mul bx

mov bx,ax

add bx,col

mov al,mas1[bx][di]

sub bx,col

mov mas1[bx][di],al

jmp ii

 

jj: pop cx

loop incCol

 

 

mov si,0

mov DI,0

dec col

fin: mov bl,10

xor ax,ax

mov al,mas1[DI]

div bl; 10

 

add al,48; 48,

add ah,48; 48

mov bl,ah

 

mov y,al;

mov ah,09h

mov dx,offset y

int 21h

 

mov y,bl;

mov ah,09h

mov dx,offset y

int 21h

 

mov bl,0;

mov y,bl

mov ah,09h

mov dx,offset y

int 21h

cmp si,col

jne s

 

mov bl,10; col

mov y,bl

mov ah,09h

mov dx,offset y

int 21h

mov si,-1

s: inc si

inc DI

cmp DI,dob

jne fin

 

mov ax,4c00h

int 21h

code ends

data segment

row dw 4

col dw 5

dob dw 1

min db 0

ind dw 0

mas1 db 61,31,13,99,1

db 11,22,6, 11,9

db 8, 12,5, 9,5

db 12, 3,12, 1,6

 

y db " $"

msg db?

data ends

stk segment stack

db 256 dup()

stk ends

end begin

 





:


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


:

:

,
==> ...

1881 - | 1655 -


© 2015-2024 lektsii.org - -

: 0.021 .