PAGE 60,80
TITLE ENBUYUK
STACKSG SEGMENT PARA STACK 'STACK'
DW 32 DUP(0)
STACKSG ENDS
DATASG SEGMENT PARA 'DATA'
ADIZI DW 13,81,11,22 ;Dizi Elemanlari
SZ DW 4 ;Dizinin Sizeini tutar
ENBUYUK DW (0) ;En buyuk sayi
DATASG ENDS
CODESG SEGMENT PARA 'CODE'
ASSUME CS:CODESG,DS:DATASG,SS:STACKSG
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATASG
MOV DS,AX
MOV AX,ENBUYUK ;AX e en buyuk sayisi atanır
MOV CX,SZ ; CX e size atanır
LEA SI,ADIZI; ADIZI degiskeninin adresi SI ya atanır
L1:
MOV DI,[SI] ;DI ya adresteki değişken atanır ve büyük,küçük kontrol edilir.
CMP DI,AX
JA BUYUKMUS
JMP EXIT
BUYUKMUS:
MOV AX,DI;buyukse AX registerina DI daki değer atanır
MOV ENBUYUK,AX
EXIT:
ADD SI,2;DW olduğundan dolayı dizi elemanlarımız 2 2 artmaktadır
LOOP L1;CX(SZ değerinde) 0 olana kadar döner
RETF
MAIN ENDP
CODESG ENDS
END MAIN
16 Kasım 2013 Cumartesi
Assembly 80x86 dizi içindeki en büyük eleman
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder