ASSEMBLY NEDİR? ÖRNEK ASSEMBLY PROGRAM KODLARI

Bu dersimizde assembly örnek uygulamalar, assembly dili örnek sorular, assembly dili kodları, assembly döngü örnekleri, assembly ders notları gibi konuları ele alacağız.

Assembly dili karmaşık programlar yazmak için kullanılan düşük seviyeli bir programlama dilidir. Assembly insanlar tarafından anlaşılması zor olan makina dilinin sayısal ifadelerini, insanlar tarafından anlaşılarak programlanması daha kolay olan alfabetik ifadelerle değiştirerek düşük seviyede programlama için bir ortam oluşturur. Assembly kullanmanın amacı, ilk bilgisayarlarda yazılan programların daha az hata içermesi ve daha az zaman almasını sağlamaktır.Assembly dilini makina koduna çeviren programlara assembler denir. Bir assembler'ı derleyiciden ayıran en önemli özellik bire bir dönüşüm yapmasıdır. Derleyiciler kodun tamamını okurlar ve kodun tamamını anlamlı bir programa dönüştürürler. Kodun her satırını tek tek okuyan ve uygulayan programlara ise yorumlayıcı denir.


BAZI ÖRNEK ASSEMBLY  PROGRAMLARI VE BUNLARIN KODLARI:

Not:Programlarımızı ilgilenen arkadaşların da bildiği üzere .asm uzantısıyla kaydedidoruz wordpad de.

a-Bir sayı dizisi içindeki en küçük sayıyı bulma:


DOSSEG

.MODEL SMALL

.DATA

data1 db +13,-10,+19,+14,-18,-9,+12,-29,+16  ;sayı dizimiz

lowest db ?

.CODE

mov ax,@DATA

mov ds,ax

mov si,offset data1

 

mov cx,8          ;

mov al ,[si]            ;burada ve devamında (bac kısmında) yapılan iş programın özü

inc si                  ;

 

back: cmp al,[si]

jle next  ;jump if less or equal

mov al,[si]

 

next: inc si

dec cx

jnz back

 

mov lowest, al

 

 

mov ah,02h   

mov dl,lowest

int 21h

 

 

mov ah,4Ch

int 21h

END



b-Girilen iki karekteri ters yazdırma:

DOSSEG

                  .MODEL SMALL

                  .DATA

.CODE

                  mov ax,@DATA

                  mov ds,ax

mov ah ,01   ;ilk karekter  al ye alınır....

int 21h

 

mov bl ,al  ;ilk karekter bl ye alınır yukarıdaki komut bir daha kullanılacağı için

 

mov ah,01    ;ikinci karekter alınır

int 21h

 

mov ah,02   ;ikinci karekter yazdırılır...

mov dl,al

int 21h

 

mov ah,02   ;ilk karekter  yazdırılır....

mov dl,bl

int 21h

 

mov ah,4Ch

int 21h

END

 

c-Girilen  karekteri büyük yazma:

 

DOSSEG

                  .MODEL SMALL

                  .DATA

.CODE

                  mov ax,@DATA

                  mov ds,ax

 

mov ah,01

int 21h

 

cmp al,'a'

jl next        ;JUMP eğer less than ise al 'a' dan

cmp al,'z'

jg next           ;jump eğer greater than ise al'z' den

sub al,20h     

      next: mov ah,02h

      mov dl,al

      int 21h

     

      mov ah,4Ch

      int 21h

            END

 

 

d-Signed(işaretli) sayılarda toplama:

 

; cbw ve cwd kullanmaktan maksat doğru sonucu elde edebilmek içindir cbw veya cwd

;kullanmadan bu işlemi yapmak istesem al ye birini bl ye birini atar toplarım

;ama of =1 olduğunda signed numberlarda çıkan sonuç - ve 2 nin complimentinde bulunur

;böylece çıkan sonucum yanlış olur....

 

DOSSEG

.MODEL SMALL

.DATA

data1 db +96

data2 db +70

.CODE

mov ax,@DATA

mov ds,ax

 

mov al, data1

cbw   ;cbw kullanırken 1. operandım al nin içinde  ve al nin d7 si neyse ah ı

mov bx,ax   ;onunla doldurur

mov al,data2;cwd de 1. operandım ax e atnır ve dx  ax in d15 i neyse onunla doldurulur.

cbw

add ax,bx

 

add bh,30h

mov ah,02h   

mov dl,bh

int 21h

 

add bl,30h

mov ah,02h   

mov dl,bl

int 21h

 

 

 

mov ah,4Ch

int 21h

END




 


DİĞER YAZILIM KONULARI İÇİN TIKLAYINIZ









Zalime merhamet mazluma ihanettir.
KPSS MATEMATİK KPSS GEOMETRİ KPSS VATANDAŞLIK KPSS TÜRKÇE KPSS TARİH KPSS COĞRAFYA
İNGİLİZCE ALMANCA İTALYANCA BİLGİSAYAR YAZILIM BİLGİSAYAR NETWORK
BİLGİSAYAR DONANIM BİLİŞİM TERİMLERİ CİLT VE CİLT BAKIMI HASTALIKLARIMIZ İNSAN VÜCUDU NEDİR