EMU8086 Yazıyı Dikey Yazdıran Program

EMU8086’da dizideki herhangi bir ifadeyi dikey olarak yazdırmayı göstereceğim. Dikeyde yazdırmak için iki yöntem var. Biri satır atlama komutu olan dizi tanımlayıp sürekli onu çağırarak satır atlatmak, diğeri ise cursor konumlandırarak yapmak. Bu yazıda dizi tanımlayarak yapacağım bir sonraki yazıda cursor konumlandırarak yapacağım.

Data segmentte kelimemizin olduğu bir dizi ve satır atlamak için bir dizi oluşturalım.

.model small
.stack 64
.data
dizi db "Kelime$"
atla db 13,10,"$"

Kelimenin bittiğini belirtmek için dizilerin sonuna $ işareti koyduk. Tanımlamalarımızı yapıyoruz.


mov ax,@data
mov ds,ax
lea si,dizi
mov cx,6

Dizinin başlangıç adresini si’ye atadık. “Kelime” 6 harf olduğu için döngü değeri olan cx’e 6 verdik. Son olarak döngümüzü ve bitiriş kodlarını yazarak tamamlayalım.


dongu:
mov ah,02h
mov dl,[si]
int 21h

mov ah,09h
lea dx,atla
int 21h

inc si
loop dongu

mov ah,4ch
int 21h
end

İlk kod bloğunda dizinin ilk harfini ekrana yazdırıyoruz. İkinci kod bloğunda atla diye oluşturduğumuz diziyi ekrana yazdırarak satır atlatıyoruz. Üçüncü kod bloğunda sonra si değerini arttırarak ikinci harfe geçmesini sağlıyoruz ve dongu etiketine dönüş veriyoruz. Son blokta programı sonlandırma komutlarıdır.

KODUN TAMAMI VE EKRAN ÇIKTISI:


.model small
.stack 64
.data
dizi db "Kelime$"
atla db 13,10,"$"

.code

mov ax,@data
mov ds,ax
lea si,dizi
mov cx,6
dongu:
mov ah,02h
mov dl,[si]
int 21h
mov ah,09h
lea dx,atla
int 21h
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 Full Stack .Net Developer olarak çalışmaktayım.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir