Assembly Hakkında bilgi ve Bir Soru
FXERKAN14.11.2003 - 19:55:15
s.a.
arkadaşlar biz yeni assembly öğrenmeye başladık. daha doğrusu okuldakiler öğretmeye çalışmaya çalışıyorlar(zaten kendileride bilmiyor ama neyse)

ve buna rağmen bizden şöyle enteresan ve assembly ile yazılmasına hiç gerek olmayan bir ödev istediler
ekrandan

3+5-(5*4+(3*2)+9)+12/4 gibi string olarak girecekleri işlemin sonucunu bulan prog.

vallaha ne yalan söyliğim delphi,c,c# da isteseler yapardımda ki yaptımda assembler (assembly) olunca kasdı yani.

böyle birşeyi nasıl yaparım, yada nereden bulabilirim birde yani yaparsam sizce nasıl yaparım yani şunu şunu şöyle yap falan gibi tavsiyeleriniz bile şimdilik yeter. yani her türlü yardıma ihtiyacım var.

ama özellikle kod şeklinde olanlar olursa çok daha iyi olur.

teşekkürler. hayırlı ramazanlar
 
safak15.01.2004 - 21:37:29
yaptınız mı ?
 
name15.01.2004 - 22:20:31
İngilizcen iyi ise aşağıdaki linklerden yararlanabilirsin.

http://pub96.ezboard.com/bbsca2001
http://win32asm.cjb.net/
http://board.win32asmcommunity.net/
 
safak15.01.2004 - 22:53:52
Ödeviniz için ASM kayıtlarımı kontrol ettim.
En son ASM kodumu 1990 yılında yazmışım.
Ne günlerdi. En basit ekran kopyalama ve kaydırma işlerini bile ASM rutinleriyle yapardık. Sayenizde geçmişe hoş bir yolculuk yaptım.
Güncel Linkler için teşekkürler.

Kolay Gelsin,
 
MicroChip16.01.2004 - 02:55:49
valla değerleri yazmaçlara atıyacan
hem bu dediğin kod biraz uğraşı ister.
bende en son asm de (debugda) 1992 de yazdım hatırlamam için eski notları karıştırmam lazım HEMŞO
yardımcı olamadığım içim i'm sorry
 
gkimirti16.01.2004 - 08:42:59
hatırladıgım kadarıyla okuldayken postfix ifadeler de buna benzer seyleri yapmıstık
veriyapıları desinin vazgecilmez orneklerinden
c de yazılmıs ornekleri incele asm ye uyarlaması okadar zor olmasaa gerek
ama dedigim gibi yıgını kullanarak rahatlıkla yapabilirsin
her operatorun bir oncelik numarası oluyodu.
mesela 5*(2+3) islemi soldan sırayla okunup yıgına atılıyor ac parantez varsa kapa paranteze kadar yıgına atılıyordu sonra kapa parantez gorunce yıgından cekiliyor iki eleman ve operator isleme tabi,i tıtılup tekrar yıgına atılıyor
kısaca buna benzer bir mantıgı vardı
asm de de buna benzer bhir mntık ile yapabilirsiniz
 
gkimirti16.01.2004 - 08:44:23
bahsettigim olayı yapan C++ kodaları


//Downloaded From -- Programmers Inn - http://akbani.20m.com

/*
Name: Asdaq Amin
Email: asdaqamin@hotmail.com
Language: C\C++
Category: Data Structures
Description: This prgram takes the Postfix Arithmatic expression and
give the result to a single constant value.For this purpose we used
stack implementation.
*/

//Asdaq Amin
// Bahria University ISl(Pak)
// Assignment of Data Structure

#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <math.h>

const int MAX=20;

class Postfix{
private:
int Opndstk[MAX]; //Operator
int top;
public:
Postfix()
{ top=-1;}
void push(int);
int pop();
void Evalute(char);
void display();
};
void Postfix::push(int Op)
{ if(top<MAX-1)
{ Opndstk[++top]=Op;

}
}
int Postfix::pop()
{
if(top>-1)
{ return Opndstk[top--];}
}
void Postfix::Evalute(char OPR)
{
int Opnd1,Opnd2;
Opnd2=pop();
Opnd1=pop();
if(OPR=='+')
{
push(Opnd1+Opnd2);
}
else if(OPR=='-')
{
push(Opnd1-Opnd2);
}
else if(OPR=='/')
{
push(Opnd1/Opnd2);
}
else if(OPR=='*')
{
push(Opnd1*Opnd2);
}
else if(OPR=='$')
{
push(pow(Opnd1,Opnd2));
}

}
void Postfix::display()
{ cout << "The value of Postfix expression is="<<Opndstk[top];
}
void main()
{
Postfix P1;
clrscr();
int len,Opnd; //calculate String length
char STR[MAX];
cout << "Enter the Expression in Postfix ";
gets(STR);
len=strlen(STR);
for(int i=0;i<len;i++)
{ if(int(STR[i])>47 && int(STR[i])<58)
{ Opnd=int(STR[i])-48;
P1.push(Opnd);
}
else if((STR[i]=='+')||(STR[i]=='-')||(STR[i]=='/')||(STR[i]=='*')||(STR[i]=='$'))
{
P1.Evalute(STR[i]);
}
}
P1.display();
getche();
}

 
gkimirti16.01.2004 - 09:49:07
pardon infix expression olacakmıs

Infix Expression: ((A+(B*C))/(D-E))
Postfix Expression: ABC*+DE-/

[url]http://www.cs.kent.edu/~jmaletic/CS33001/programs/prog3.html/url]
linki incele[/list][/u]
 
naile16.01.2004 - 11:14:12
s.a.
arkadaşlar biz yeni assembly öğrenmeye başladık. daha doğrusu okuldakiler öğretmeye çalışmaya çalışıyorlar(zaten kendileride bilmiyor ama neyse)


off-topic

Selçuk Bilgisayar Mühendisliğinde mi okuyorsun? Orda bişey bilen doğru düzgün adam yok da Laughing

off-topic
 
FXERKAN17.01.2004 - 23:28:50
evet naile hanım dediğinizi gibi birşey anlayan kimse yok daha doğrusu sadece biz varız. hocalara öğretmeye çalışıyoz ama öğrenmiyorlar bir türlü :-) ama naparsınız bir kere bulmuşlar biraz bişeyler onları sorup duruyorlar işte.
gerçi artık ödevin bir manası kalmadı. ama yinede yardımlarınız için teşekkürler.
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com