Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


oyunyapimi.org: Forums

www.oyunyapimi.org :: Başlığı Görüntüle - assembly'de exe boyutu
 SSSSSS   AramaArama   Kullanıcı GruplarıKullanıcı Grupları   ProfilProfil   LoginLogin 

assembly'de exe boyutu

 
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Programlama Dilleri ve Algoritmalar
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
DarkScythe



Kayıt: Aug 04, 2005
Mesajlar: 173
Nereden: Vault 35

MesajTarih: Fri Nov 18, 2005 2:21 pm    Mesaj konusu: Alıntıyla Cevap Ver

yaklaşık 2 aydır assembly dersi alıyoruz ve şu an ödev olarak bir yılan oyunu yapıyorum ama kafama birşey takıldı benim dandini oyunum şu an 32k(exe'si) yer tutuyor yaklaşık 50 satır kodu var ama geçen sene pascal'da yaptığım ve 500 satrı kodu olan yılan oyunum 6k idi (exe'si) , bunun yanında devreci'nin sitesinde 3k'lık grafiği fln olan tetris oyunu var , bi açıklama getiren olursa sevinirim.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder
sevdalinka



Kayıt: Oct 15, 2005
Mesajlar: 25
Nereden: İstanbul / Şişli

MesajTarih: Fri Nov 18, 2005 4:15 pm    Mesaj konusu: Alıntıyla Cevap Ver

Kodları yollarsan belki yardımcı olabilirim.Tahminim segment adreslerini fazla şişirdin.
Başa dön
Kullanıcı profilini gör
DarkScythe



Kayıt: Aug 04, 2005
Mesajlar: 173
Nereden: Vault 35

MesajTarih: Fri Nov 18, 2005 4:42 pm    Mesaj konusu: Alıntıyla Cevap Ver

Kod:

INCLUDE Irvine32.inc
.data
parca BYTE "#",0
yem BYTE "$",0
yemx BYTE 10
yemy BYTE 10
x BYTE 10
y BYTE 10
yon BYTE 4
.code

main PROC

call Randomize

L1:
call ClrScr

mov dh,y
mov dl,x
call Gotoxy
mov edx,OFFSET parca
call WriteString

mov dh,y
mov dl,x
cmp dl,yemx
jne noeat
cmp dh,yemy
jne noeat
;yem///////////////////
mov eax,25d
call RandomRange
mov yemy,al
mov eax,79d
call RandomRange
mov yemx,al
;yem//////////////////

noeat:
;yemçiz
mov dh,yemy
mov dl,yemx
call Gotoxy
mov edx,OFFSET yem
call WriteString
;yemçiz

call ReadKey
jz devam
mov yon,dl
devam:
;escape
cmp yon,27d
je endd
;escape
;yukarı
cmp yon,38d
je yon1
;yukarı
;aşağı
cmp yon,40d
je yon2
;aşağı
;sola
cmp yon,37d
je yon3
;sola
;sağa
cmp yon,39d
je yon4
;sağa

yon1:
dec y
jmp son
yon2:
inc y
jmp son
yon3:
dec x
jmp son
yon4:
inc x
son:

;koordinat fln
mov dh,20
mov dl,50
call Gotoxy
mov eax,0
mov al,x
call WriteDec

mov dh,20
mov dl,55
call Gotoxy
mov eax,0
mov al,y
call WriteDec

mov dh,22
mov dl,50
call Gotoxy
mov eax,0
mov al,yemx
call WriteDec

mov dh,22
mov dl,55
call Gotoxy
mov eax,0
mov al,yemy
call WriteDec
;koordinat fln

mov eax,250
call Delay
jmp L1
endd:
exit
main ENDP
END main


mesela bu uzamayan basit bi yılan 32k exe'si var
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder
DarkScythe



Kayıt: Aug 04, 2005
Mesajlar: 173
Nereden: Vault 35

MesajTarih: Fri Nov 18, 2005 5:35 pm    Mesaj konusu: Alıntıyla Cevap Ver

Kod:
INCLUDE Irvine32.inc
.code
main PROC
mov eax,10000h ; EAX = 10000h
add eax,40000h ; EAX = 50000h
sub eax,20000h ; EAX = 30000h
call DumpRegs
exit
main ENDP
END main


eklediğimiz Irvine32 kütüphanesinden mi acaba 2 sayıyı toplayan programda 32k
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder
Autostic



Kayıt: May 23, 2005
Mesajlar: 70
Nereden: İzmir

MesajTarih: Tue Nov 22, 2005 12:02 am    Mesaj konusu: kütüphane bence Alıntıyla Cevap Ver

assembly de yazdığın komutların ne kadar yer kaplıcanı tahmin ediyorsundur zaten, o zamn fazladan olan yer kütüphanenindir. Yapabiliyorsan onsuz yap. Ya da boyut sorun değilse bırak dursun kütüphaneden boyut artışı
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Yahoo Messenger MSN Messenger
ebleda



Kayıt: Dec 30, 2004
Mesajlar: 183
Nereden: usa

MesajTarih: Tue Nov 22, 2005 1:26 am    Mesaj konusu: Alıntıyla Cevap Ver

Bir kac nokta:

1) kullanacagin degikenleri data segmentte tanimlamak yerine (normali bu biliyorum), heap alaninda tanimlarsan (masm'da bu ozellikle ise yaramiyor) onlari exende tutmazsin. Bu da belli bir oranda size'da kar demektir.

2) include ettigin library'den kaynaklanma olasiligi var

3) Kullandiign assemblerin ne oldugunu bilmiyorum. Ama default allignmentlara bir bak. Bir de import ettigin fonksiyonlarin referanslarini nasil tuttuguda onemli. Bunlarin hepsi assembler opsiyonlarinda yazar.


Cok ufak bir kod yaz ve bunu bir oncekini compile ettigin parametrelerle compile et. Bakalim exe boyutu ne oluyor?!
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
DarkScythe



Kayıt: Aug 04, 2005
Mesajlar: 173
Nereden: Vault 35

MesajTarih: Tue Nov 22, 2005 2:24 am    Mesaj konusu: Alıntıyla Cevap Ver

daha yeni öğrendiğimiz için kullandığımız kitabın yazarı olan irvine denen herifin kütüphanesini kullanıyoruz , aslına bakarsanız bu kütüphane olmadan bir assembly kodu nasıl derlenecek bir bilgim yok şu kod mesela "Irvine32" kütühanesi olmadan derlenmiyo(Masm) derleyincede 24kb geliyoki kütüphaneden kaynaklandığı ortaya çıkıyo , demekki ben daha işin temel kısımlarını bilmiyorum neyse zamanla öğreniriz heralde
Kod:
INCLUDE Irvine32.inc
.code
main PROC
exit
main ENDP
END main


bu arada yılanı baya geliştirdim,bizden sadece gezen,yem yiyen ve uzayan yılan istediler ben de PlayerVSComputer seçeneği ekledim 2 yılan kapışcak şimdilik yeme direk ulaşabilen bi zeka yazdım ama pathfinding olayı biraz zorlayacak gibi bakalım
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder
levent



Kayıt: Mar 13, 2003
Mesajlar: 188
Nereden: İstanbul

MesajTarih: Tue Nov 22, 2005 2:42 am    Mesaj konusu: Alıntıyla Cevap Ver

oyun bitince bir yerine "irvine sağolsun" yazdırırsın herhalde Smile
şaka bir yana, kodun boyutu masm'nin bu "insanları assembly'ye küstürmeyelim" bakış açısından kaynaklanıyor. daha sade çıktılar elde etmek için flatassembler'ı tavsiye ederim.
masm'in çalışma prensibini tam bilmiyorum ama herhalde include ettiğin tüm dosyayı assemble ediyor olmalı, yoksa bir int 21h için 25 kb gerekmemeli?

pathfinding konusunda da güzel bir iki örnek vardı, sanırım maxcode.com'da
bir bak istersen.

http://flatassembler.net
Başa dön
Kullanıcı profilini gör Kullanıcının web sitesini ziyaret et
DarkScythe



Kayıt: Aug 04, 2005
Mesajlar: 173
Nereden: Vault 35

MesajTarih: Tue Nov 22, 2005 3:28 am    Mesaj konusu: Alıntıyla Cevap Ver

"flatassembler" önerin için teşekkürler levent , pathfinding için A* kullanıcam ama bana hantal bi yöntem gibi geldi gerçi ai konusunda pek bi bilgim yok genelde kafama uyduğu gibi yazıyorum , bu arada irvine amcanın selamı var herif kod yazmaktan erimiş gitmiş

Kip R. Irvine
Florida International University
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder
The_Cuisinart



Kayıt: Feb 14, 2003
Mesajlar: 94
Nereden: İstanbul

MesajTarih: Tue Nov 22, 2005 8:19 pm    Mesaj konusu: Alıntıyla Cevap Ver

Bu irvine abinin sözkonusu kütüphaneleri benim okulun da bilgisayar laboratuarlarındaki masmlerde var,Assembly ortamlarında ağırlığı olan bir abimiz sanırım.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder MSN Messenger
DarkScythe



Kayıt: Aug 04, 2005
Mesajlar: 173
Nereden: Vault 35

MesajTarih: Tue Nov 29, 2005 4:32 am    Mesaj konusu: Alıntıyla Cevap Ver

ödevi kısıtlı asm bilgimle baya zorlanarak bitirdim :

http://rapidshare.de/files/8313006/snake.rar.html

doğal olarak kodlama baya dandik oldu , heralde bi yılan oyunu için 3400 satır kod yazan ilk kişi olmuşumdur,ama bu yapay zekayı tutturamadım pek , A* denen metod böyle Pacman tarzı bi oyunda sökebilir ama bunda belli bi uzunluktan sonra yılan kendini kıstırıyo, bu işe uygun nasıl bir algoritma kullanılabilir yada böyle bi algoritma ztn var mıdır acaba
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder
Mesajları göster:   
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Programlama Dilleri ve Algoritmalar Tüm saatler GMT +2 Saat
1. sayfa (Toplam 1 sayfa)

 
Forum Seçin:  
Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız


Powered by phpBB 2.x.x © 200x phpBB Group
Türkçe Çeviri : Onur Turgay & Erdem Çorapçıoğlu
Türkçe Düzenleme: Alexis Canver
Version 2.x.x of PHP-Nuke Port by Tom Nitzschner © 200x www.toms-home.com




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.153 Saniye