EMU8086 Yazıyı Dikey Yazdıran Program CURSOR
EMU8086’da dizideki herhangi bir ifadeyi dikey olarak yazdırmayı göstereceğim. Dikeyde yazdırmak için cursor konumlandırma kullanacağız. Öncelikle data segmentte “deneme” kelimesinin olduğu bir dizi oluşturalım.
.model small .stack 64 .data dizi db "Deneme$"
Dizimizi oluşturduk. Şimdi tanımlamaları yapalım.
mov ax,@data mov ds,ax lea si,dizi mov cx,6 mov dx,0000
Dizinin başlangıç adresini si’ye atadık. Kelimemiz 6 harf olduğu için cx’e 6 verdik. Kursor konumlandırma Dx üzerinden yapıldığı için dx’i sıfırladık. Son olarak döngümüzü yazıp bitirelim.
dongu: mov ah,02h mov dl,[si] int 21h mov dl,00 mov ah,02h inc dh int 10h inc si loop dongu mov ah,4ch int 21h end
İlk kod bloğunda kelimenin ilk harfini ekrana yazıyor. İkinci kod bloğunda dl’yi sıfırlıyoruz çünkü yukarda ekrana yazarken Dl’ye atıyoruz. O yüzden içinde değer kalıyor sıfırlamamız gerekiyor. DX: DhveDl’nin birleşiminden oluşur. Dh: Satırları, Dl: Sütunları temsil eder. Bu yüzden inc dh yazarak satırı aşağı kaydırıyoruz. Üçüncü kod bloğunda si’yi arttırarak ikinci harfe geçmiş oluyoruz ve dongu etiketine dönüş yapıyoruz. Son kod bloğu programı bitirme komutlarıdır.
KODUN TAMAMI:
.model small .stack 64 .data dizi db "Deneme$" .code mov ax,@data mov ds,ax lea si,dizi mov cx,6 mov dx,0000 dongu: mov ah,02h mov dl,[si] int 21h mov dl,00 mov ah,02h inc dh int 10h inc si loop dongu mov ah,4ch int 21h end