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