saxon Δημοσ. 27 Μαρτίου 2005 Δημοσ. 27 Μαρτίου 2005 .model small .code ena proc mov ah,09 mov dx,offset tteexxtt int 21h int 20h ena endp tteexxtt db 'afto einai ena text keimeno$' end ena Kanwntas to parapanw compile ston tasm kai onomazontas to text.com to apotelesma tou einai: C:\tasm>text Ώ▐☺∟♦K☺∟♦V☺∟♦∟♦☺☺☺ ☻***************‼♣ό*R♣¶ ↑ R♣**** ♣ ═!╦ ┤ ║ ═!═ afto einai ena text keimeno C:\tasm> Ti kanw lathos kai vgainoun afta ta symvola prin to keimeno? Epishs an kapios thymate pia einai h leitourgia tou dos gia allagh grammhs Sto vivlio pou exw grafei oti einai h 'int 21h' me 'ah=0ah' alla gia kapion logo den doulevei
Directx Δημοσ. 27 Μαρτίου 2005 Δημοσ. 27 Μαρτίου 2005 Αυτό συμβαίνει διότι δεν έχεις ακολουθήσει σωστό τρόπο δήλωσης των segments που απαρτίζουν το λογισμικό σου με αποτέλεσμα την αποτυχία του OFFSET directive. Παρακάτω παραθέτω τον κώδικα σου σε λειτουργική μορφή για τον DOS TASM: > ; To be assembled with DOS TASM .8086 ;8086 CPU .model small ;MULTI SEGMENT EXECUTABLE .stack ;USE DEFAULT STACK (1024B) .code ;Code segment begins here ena proc ;Procedure defination mov ah,09 mov dx,offset TTEXT int 21h ;int 20h ;??? ret ;Return from procedure ena endp .startup ;Official program entry-point (generates ;additional startup code -see your debugger) CALL ena ;Call "ena" procedure MOV AH,4Ch ;Terminate application XOR AL,AL ;Indicate success (0) INT 21h .data ;Data segment TTEXT db 'afto einai ena text keimeno',13,10,'$' ;^LF/CR to change line & carrier ; return end ;Code segment finish here Η αλλαγή γραμμής σε DOS γίνεται με την αποστολή των ASCII χαρακτήρων 0x13 (CR) και 0x10 (LF) στο STDOUT και η συνήθης πρακτική είναι να τους δηλώνουμε στο string που μας ενδιαφέρει πριν τον τελικό-χαρακτήρα $. Υ.Γ. Επειδή δεν ασχολούμαι ιδιαίτερα με την assembly ενδεχομένως ο κώδικας που παραθέτω να μην είναι ο καλύτερος δυνατόν, όμως στο σύστημα μου (με τον ίδιο assembler) δουλεύει σωστά..
spook3ros Δημοσ. 27 Μαρτίου 2005 Δημοσ. 27 Μαρτίου 2005 to problima sto bgazei epeidh den exeis balei tis 2 grammes pou exei valei o filos pio panw (mov ah,09 mov dx,offset TTEXT) prepei na kaneis arxikopoihsh ston ds
saxon Δημοσ. 27 Μαρτίου 2005 Μέλος Δημοσ. 27 Μαρτίου 2005 Telika me mia entolh 'org 100h' meta to .code kai me compile se arxeio .com doulevei.(tasm,tlink kai exe2bin) Efxaristw gia thn leptomerh apanthsh sou.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.