THMMY.gr

Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα => Προγραμματισμός (C, VB, Delphi, PHP, ASP...) => Topic started by: Axel on December 05, 2006, 15:26:00 pm



Title: Create .com file
Post by: Axel on December 05, 2006, 15:26:00 pm
Ξερει κανεις πως μπορω να δημιουργησω ενα εκτελεσιμο αρχειο του dos με καταληξη .com που απλως να εμφανιζει στην οθονη ενα μηνυμα?

(Δεν βγαζω ακρη στο google επειδη το .com ειναι η γνωστη καταληξη των ιστοσελιδων.)


Title: Re: Create .com file
Post by: fugiFOX on December 05, 2006, 16:12:10 pm
δεν σε εξυπηρετεί αν το κανεις .dat?


Title: Re: Create .com file
Post by: anonymous-root on December 05, 2006, 16:35:33 pm
δεν σε εξυπηρετεί αν το κανεις .dat?

Τι σχέσει έχει το .dat; Το .dat δεν είναι εκτελέσιμο.


Title: Re: Create .com file
Post by: fugiFOX on December 05, 2006, 16:41:49 pm
πως δεν είναι.
Κάνε διπλό κλικ πάνω του να δεις


Title: Re: Create .com file
Post by: fugiFOX on December 05, 2006, 16:42:21 pm
EDIT:
Λάθος του δαίμωνα.

Εννοώ .bat.


Title: Re: Create .com file
Post by: anonymous-root on December 05, 2006, 16:46:44 pm
EDIT:
Λάθος του δαίμωνα.

Εννοώ .bat.


Ούτε το .bat ειναι φούτζι.
Το .bat είναι ομάδα εντολών.
Αν στις εντολές δεν υπάρχει το εκτελέσιμο δε θα τρέξει τπτ ;)


Title: Re: Create .com file
Post by: Axel on December 05, 2006, 16:57:01 pm
Μπα Fugi, σε .com το χρειαζομαι.


Title: Απ: Create .com file
Post by: Zarathoustra on December 05, 2006, 17:54:38 pm
Σίγουρα μπορείς με κάποιον παλιό compiler(π.χ της Borland).

Αλλά αν θυμάμαι καλά,το plugin του Eclipse για C\C++(CDT) πρέπει να υποστηρίζει όλα τα είδη εκτελέσιμων της MS(χρησιμοποιώντας το cygwin και τον gcc ως compiler).

Δες και εδώ:

http://my.execpc.com/~geezer/osd/tools.htm (http://my.execpc.com/~geezer/osd/tools.htm)

Προφανώς ενδιαφέρεσαι για εφαρμογή DOS 16bit (?)


Title: Re: Create .com file
Post by: fugiFOX on December 05, 2006, 18:16:44 pm
EDIT:
Λάθος του δαίμωνα.

Εννοώ .bat.


Ούτε το .bat ειναι φούτζι.
Το .bat είναι ομάδα εντολών.
Αν στις εντολές δεν υπάρχει το εκτελέσιμο δε θα τρέξει τπτ ;)
είναι ομάδα εντολών τις οποίες όμως μπορείς να τις καλέσεις όπως καλείς το exe


Title: Re: Create .com file
Post by: Axel on December 05, 2006, 19:15:00 pm
Αυτο που θελω να κανω ειναι ενα εκτελεσιμο με πολυ μικρο μεγεθος (<100bytes). Βρηκα οτι γινεται με .com αρχεια ομως ακομα δεν εχω καταλαβει αν ο κωδικας τους ειναι σε asembly η παιζει κατι αλλο. thanks Zarathoustra. θα ριξω μια ματια στο link σου.


Title: Re: Create .com file
Post by: fugiFOX on December 05, 2006, 19:38:34 pm
τι ακριβώς θες να κάνεις;
μήπως γίνεται και διαφορετικά


Title: Re: Create .com file
Post by: Axel on December 05, 2006, 19:40:35 pm
Να εκτυπωσω ενα μηνυμα στη οθονη με ενα αρχειο exe η com με μεγεθος < 100bytes.


Title: Re: Create .com file
Post by: Zarathoustra on December 05, 2006, 20:41:17 pm
http://www.du.edu/~etuttle/math/hello.htm (http://www.du.edu/~etuttle/math/hello.htm)

Hello world σε assembly χρησιμοποιώντας το φοβερό και τρομερό DEBUG.EXE(πρωτόγονος debugger εποχής DOS.Φαντάζομαι θα τρέχει ακόμα σε windows XP).

Μέγεθος:26 bytes....

Μου θύμισες την παιδική μου ηλικία τώρα......Συγκινήθηκα!


Title: Re: Create .com file
Post by: fugiFOX on December 05, 2006, 20:44:25 pm
Να εκτυπωσω ενα μηνυμα στη οθονη με ενα αρχειο exe η com με μεγεθος < 100bytes.

Κάντο με .bat,
απλό text αρχείο είναι
οπότε θα είναι ελάχιστο μέγεθος


Title: Re: Create .com file
Post by: Axel on December 05, 2006, 21:00:39 pm
Το θεμα ειναι πως θελω να ειναι ειτε σε exe ειτε σε com. Αυτα τα δυο μονο.


Title: Απ: Create .com file
Post by: Zarathoustra on December 05, 2006, 21:07:46 pm
Assembly και αρχείο .COM τότε!!
Για εκτύπωση μηνύματος απλά θέτεις τιμή σε δύο-τρείς καταχωρητές και καλείς την διακοπή 21H.
Βρες κάποιον παλιό assembler ή χρησιμοποίησε το debug(είναι πολύ διασκεδαστικό!).
Το μόνο μειονέκτημα είναι ότι δεν θα τρέχει σε windows 64 bit.


Title: Re: Create .com file
Post by: Axel on December 05, 2006, 21:34:28 pm
Θεωρητικα το παρακατω πρεπει να δουλευει

.model small
.stack
.data

Message db "Hello World!$"

.code
mov dx,OFFSET Message
mov ax,SEG Message
mov ds,ax
mov ah,9
int 21h

END start

Με το debug πως μπορω να κανω compile ενα .asm αρχειο σε .com?


Title: Re: Create .com file
Post by: Axel on December 05, 2006, 21:52:49 pm
Τελικα βρηκα αυτο το site> http://www.instructables.com/id/EX2HK7P704EPORTADF/?ALLSTEPS
Ωραια τα λεει! Εφτιαξα μια χαρα το .com Το μονο προβλημα ειναι οτι ενω στο test της data μεσα απο τον debugger μου βγαζει μια χαρα το μηνυμα οταν το τρεχω απο dos μου βγαζει αλαμπουρνεζικα...


Title: Απ: Create .com file
Post by: Zarathoustra on December 05, 2006, 22:23:41 pm
Αν το μήνυμα είναι στα Ελληνικά,κάτι συμβαίνει με τις κωδικοσελίδες και το unicode(τρέχα γύρευε δηλαδή.........).
Αλλιώς κάτι κάνεις λάθος(πράγμα καθόλου περίεργο, αφού στην ουσία δουλεύεις με γλώσσα μηχανής.Ούτε καν με "κανονική" assembly).
Πάντως μπορείς να κατεβάσεις και assembler για DOS αν δεν θες να παιδεύεσαι  με αριθμούς,ο tasm(Turbo Assembler) και tlink(Turbo Linker) της Borland σίγουρα θα υπάρχουν κάπου.




Title: Re: Create .com file
Post by: Axel on December 05, 2006, 22:36:28 pm
Τελικα αλλο εφταιγε. Του ελεγα να γραψει στο αρχειο λιγοτερα bytes απ'οτι ηταν το μηνυμα (αυτα παθαινει οποιος δεν διαβαζει τι ακριβως κανει η καθε εντολη). Anyway case closed. Thanks Zarathoustra. :)


Title: deleted
Post by: BOBoMASTORAS on December 06, 2006, 04:32:41 am
deleted


Title: deleted
Post by: BOBoMASTORAS on December 06, 2006, 04:34:56 am
deleted


Title: Re: Create .com file
Post by: Axel on December 06, 2006, 05:22:11 am
Σωστος ο Bob. Για την ωρα εκανα αυτο που ηθελα οποτε δεν σκοπευω να το ψαξω περισσοτερο πως μπορει να γινει με c compiler. Ειχα δει την επιλογη tiny στα options του borland c compiler, αλλα δεν εψαξα παραπανω προς αυτη την κατευθυνση.

Με το debug πως μπορω να κανω compile ενα .asm αρχειο σε .com?

Η απάντηση είναι δε μπορείς. Πρέπει να γράψεις χύμα μόνο εντολές assembly Και όχι direvatives για τον assembler. Για να κάνεις asm->com πρέπει να χρησιμοποιήσεις κάποιον assembler + linker, πχ masm + tlink

Το καταλαβα αυτο σε καποια φαση, αλλα ξεχασα να το αναφερω. Ευτυχως ηταν λιγες οι εντολες και ευκολες για να τις περασω με το χερι. :)


Title: Απ: Create .com file
Post by: Zarathoustra on December 06, 2006, 18:52:33 pm
....Η ψυχρή,αυτοματοποιημένη διαδικασία μεταγλώττισης-σύνδεσης δεν μπορεί σε καμιά περίπτωση να αντικαταστήσει την άμεση επαφή με τον επεξεργαστή..!