19 Kasım 2009 Perşembe

HLA - Dört işlem yapan program

Üçüncü örneğimiz: Dört işlem yapan program; macro yapısı,mov - add - sub - mul - div kullanımı

program mucu;

#include( "stdlib.hhf" );

#macro topla(operand1,operand2,toplam);
mov(operand1,ax);
add(operand2,ax);
mov(ax,toplam);
#endmacro;

#macro cikar(operand1,operand2,fark);
mov(operand1,ax);
sub(operand2,ax);
mov(ax,fark);
#endmacro;

#macro carp(operand1,operand2,carpim);
mov(operand1,ax);
mul(operand2,ax);
mov(ax,carpim);
#endmacro;

#macro bol(operand1,operand2,bolum);
mov(0,dx);
mov(operand1,ax);
div(operand2,DX:AX);
mov(ax,bolum);
#endmacro;


static
op1:int16:=1;
op2:int16:=1;
sonuc:int16;
secim:int8:=0;

begin mucu;

while(secim!=5) do
stdout.put(nl,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",nl);
stdout.put(nl,"DORT ISLEM PROGRAMINA HOSGELDINIZ",nl);
stdout.put(nl,"Menuden bir islem seciniz:",nl);
stdout.put(nl,"1- Toplama",nl);
stdout.put(nl,"2- Cikarma",nl);
stdout.put(nl,"3- Carpma",nl);
stdout.put(nl,"4- Bolme",nl);
stdout.put(nl,"5- Cikis",nl);

stdin.get(secim);

if(secim=1)then
stdout.put(nl,"Birinci sayiyi giriniz",nl);
stdin.get(op1);
stdout.put(nl,"Ikinci sayiyi giriniz",nl);
stdin.get(op2);
topla(op1,op2,sonuc);
stdout.put(nl,"Toplama İsleminin Sonucu:",sonuc,nl,op1," + ",op2," = ",sonuc,nl);

elseif(secim=2)then
stdout.put(nl,"Birinci sayiyi giriniz",nl);
stdin.get(op1);
stdout.put(nl,"Ikinci sayiyi giriniz",nl);
stdin.get(op2);
cikar(op1,op2,sonuc);
stdout.put(nl,"Cikarma İsleminin Sonucu:",sonuc,nl,op1," - ",op2," = ",sonuc,nl);

elseif(secim=3)then
stdout.put(nl,"Birinci sayiyi giriniz",nl);
stdin.get(op1);
stdout.put(nl,"Ikinci sayiyi giriniz",nl);
stdin.get(op2);
carp(op1,op2,sonuc);
stdout.put(nl,"Carpma İsleminin Sonucu:",sonuc,nl,op1," * ",op2," = ",sonuc,nl);

elseif(secim=4)then
stdout.put(nl,"Birinci sayiyi giriniz",nl);
stdin.get(op1);
stdout.put(nl,"Ikinci sayiyi giriniz",nl);
stdin.get(op2);
if(op2=0)then
stdout.put(nl,"Bolen sayi 0 olamaz",nl);
stdout.put(nl,"Ikinci sayiyi tekrar giriniz",nl);
stdin.get(op2);
endif;
bol(op1,op2,sonuc);
stdout.put(nl,"Bolme İsleminin Sonucu:",sonuc,nl,op1," / ",op2," = ",sonuc,nl);

elseif(secim=5)then
stdout.put(nl,"Program sonlaniyor",nl);
mov(5,secim);
else

stdout.put(nl,"Yanlis bir secim girdiniz!!",nl);

endif;
endwhile;
end mucu;

Hiç yorum yok:

Yorum Gönder