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

 

Furkan Aktaş

Bilgisayar Mühendisiyim. Microsoft MCSA Web Applications Sertifikasına Sahibim. Aktif iş hayatımda .Net Developer olarak çalışmaktayım.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir