ippo00 Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Απλά βήματα επειδή είμαι σίγουρος ότι είσαι έξυπνο παιδι και μπορείς να τα καταφέρεις: 1) Διάβασε πως υλοποιείται το seleciton sort. 2) Διάβασε το manual και το instruction set του emulator. 3) Γράψε τον κώδικα σε C και κάντο compile για να δείς τι τηα παράγει. 4) Ξαναγράψτο χρησιμοποιώντας ώς αναφορά την asm που θα παράγει ο Compiler. 5) Ρώτα στο insomnia εάν κολλήσεις κάπου συγκεκριμένα μετά από σοβαρή προσπάθεια.
ippo00 Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 "Έχω μια εργασία να γραψω κάτι σε asm αλλά θέλω να το βρώ κάπου έτοιμο γιατί θεωρώ ότι το να ασχοληθώ με την δουλειά μου είναι βλακώδες..." μάλιστα.. σου επενθυμίζω πως οι δουλειές στο δημόσιο δεν είναι και τόσο καλές πια.
Evgenios1 Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Για να μην αρχισει το flame. Δεν υπαρχει περιπτωση να σου δωσουν ετοιμο κωδικα, για αυτο και πας εδω και εισαι ενταξει.
Dr.Fuzzy Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Δεν ειναι δουλεια μου...Ειναι ενα μαθημα στο τει αυτοματισμου(για μενα που δεν με ενδιαφερει η assembly αχριστο) που ελαχιστοι περναν καθε χρονο...Δεν ειχα σκοπο να παρεξηγηθω μεσα σε αυτο το θεμα..Απλα ρωτησα μηπως εχει καποιος κατι παρομιο...Παντως αν πληρωσω καποιον κ την κανει στο μελλον γιατι μαλλον αυτο βλεπω να κανω αν το αντεχει η τσεπη μου,θα ανεβει απο μενα στο ιντερνετ..τσαμπα.... Ναι μωρέ προχώρα ακάθεκτος, δίκιο έχεις, πλήρωνε και τελείωνε. Άντε με τους μ@λ@κες τους @σχετους καθηγητές που σας μαθαίνουν ASSEMBLY! Άκου εκει, άχρηστα πράγματα!
cnagr Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Το θέμα φίλε δεν είναι αν σε ενδιαφέρει η assembly ή όχι. Το θέμα είναι ότι το αντικείμενο των σπουδών σου απαιτεί να κατέχεις έστω από assembly. Καλομάθαμε βέβαια τα τελευταία χρόνια με τις γλώσσες προγραμματισμού που μας τα δίνουν όλα στο πιάτο αλλά άλλο είναι να είσαι σε σχολή πληροφορικής και να έχεις να κάνεις με προγράμματα για linux/windows κοκ και άλλο σε σχολή αυτοματισμού και να έχεις να κάνεις με ΣΑΕ κλπ. Οπότε κάτσε καλύτερα και κάνε την εργασία σου μόνος σου και ας σου βγει ο πάτος. Στην τελική, πίστεψέ με, θα είσαι πάντα ένα βήμα μπροστά από τους υπόλοιπους δεδομένου ότι καλή η C/C++ αλλά η assembly είναι άλλο πράγμα τελείως.
cnagr Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Αυτό βέβαια που μόλις έκανες (διαγραφή των μηνυμάτων σου) με συγχωρείς αλλά δεν σε τιμά καθόλου...
thanantypas Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Υποθετικά πάντα : ΤΕΙ/ΑΕΙ σου μαθαίνουν γενικά λίγο από όλα …με την λογική αυτή δεν θα έπρεπε να κάνουμε πολλά μαθήματα… αλλά το θέμα δεν είναι αυτό ,είναι να μάθουμε να σκαφτόμαστε για να κάνουμε κάτι, εάν ήταν έτσι θα κάναμε μονό προγραμματισμό- για τους προγραμματιστές, μαθηματικά για τους μαθηματικούς, δίκτυα για τους δικτυακές… κλπ….. Όσο για το αν το μάθημα το κάνουν να φαίνεται δύσκολο σε αυτό φταίνε οι καθηγητές!!!θα έπρεπε να έχεις διευκρινήσεις –σημειώσεις-βιβλία!!!! Αν πάλι δεν έχεις τίποτα από όλα αυτά…. Καλό ψάξιμο!!!!
cnagr Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Επίσης για να καταλάβει κανείς πώς φτάσαμε στο σημείο να προγραμματίζουμε ΣΑΕ (συστήματα αυτομάτου ελέγχου) με χρήση της C δεν θα πρέπει πρώτα να μάθει πώς ξεκίνησε όλο το παραμύθι (βλέπε assembly); thanantypas η assembly είναι εκ των ουκ άνευ στα τμήματα αυτοματισμού.
thanantypas Δημοσ. 5 Ιουνίου 2010 Δημοσ. 5 Ιουνίου 2010 Πληροφορική σπουδάζω και έχω κάνει και εγώ assembly..δεν θα διαφωνήσω μαζί σου αν και δεν υπήρξα πότε κάλος φοιτητής , για να κανείς κάτι ---πρέπει να το κανείς μόνος σου και όχι copy-paste..αλλά αυτό είναι ένα άλλο θέμα !!! πολύ μεγαλο…
mikemar Δημοσ. 18 Ιουνίου 2010 Μέλος Δημοσ. 18 Ιουνίου 2010 Και φυσικα εφοσων περασα ατελιωτες ωρες μαθαινοντας οντως κατι αχρηστο ειπα να σας παραθεσω τισ λυσεις..Αντε...τωρα που χαλαρωσα ειρωνευτητε οσο θελετε... Selection sort Org 100h cld lea di,pin2 add di,13h ar: lea si,PIN mov max,00h mov cx,14h et1: lodsb cmp al,max jb et2 mov max,al et2: loop et1 mov bl,00h mov bl,max mov [di],bl dec di lea si,PIN et3: lodsb cmp al,max je et4 jmp et3 et4: mov bl,00h mov [si-1],bl inc met cmp met,14h ja STARTPRDEC jmp ar STARTPRDEC: mov cx,14h lea si,pin2 prnt:lea dx,ke mov ah,09h int 21h lodsb MOV AH,00h MOV BL,0Ah DIV BL PUSH AX MOV AH,00h DIV BL PUSH AX MOV AH,0Eh ADD AL,30h INT 10h POP AX MOV AL,AH ADD AL,30h MOV AH,0Eh INT 10h POP AX MOV AL,AH ADD AL,30h MOV AH,0Eh INT 10h loop prnt mov ah,4ch int 21h ret PIN DB 2,5,8,34,77,86,33,4,101,222,1,200,13,24,244,145,12,201,202,33 pin2 db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ke db " $" max db 00h met db 00h ---------- Προσθήκη στις 15:09 ---------- Προηγούμενο μήνυμα στις 15:07 ---------- Και επισης η ιδια ακριβως ασκηση κ σε bubble sort.. data segment array db 2,5,8,34,77,86,33,4,101,222,1,200,13,24,244,145,12,201,202,33 len db $-array array1 db 20 dup(?) en db "Pinakas (min-max):$" ke db " $" data ends code segment ;;; assume cs:code,ds:data ;;; start: mov ax,data ;antigrafei ston ax to periexomeno tou data mov ds,ax ;>> sto ds to ax mov cl,len ;>> sto cl to len dec cl ;meionei kata 1 to cl mov dh,0 ;antigrafei to 0 sto dh up2:lea si,array ;bazei ton si na deixnei tin proti thesi tou array mov ch,cl ;metaferei to meiwmeno cl ston ch mov dl,0 ;metaferei to 0 ston dl up1:mov al,[si] ;antigrafei ston al ta periexomena tis thesis tou pinaka pou deixnei o si cmp al,[si+1] ;sygkrinei ton al me ton arithmo pou briskete stin epomeni thesi tou pinaka jbe nochange ;paei sto nochange an i sigkrisi pio pano einai isi i mikroteri xchg al,[si+1] ;antalasei ton arithmo pou vrisketai sti thesi si+1 me ton arithmo pou exei o al mov [si],al ;metaferei ton arithmo pou pire o al sti thesi mnimis pou deixnei o si mov dl,1 ;metaferei to 1 sto dl nochange:inc si ;ayxanei ton si kata 1 dec ch ;meionei ton ch kata 1 jnz up1 ;paei sto up1 an to ch den einai 0 inc dh ;ayxanei ton dh kata 1 cmp dl,0 ;sygkrinei to dl me to 0 je last ;paei sto last an i apo tin sigkrisi bgoun oi dyo arithmoi isoi dec cl ;meiwnei ton cl jnz up2 ;paei sto up2 an to ch den einai 0 last:lea si,array ;bazei ton si na dixnei tin proti thesi tou array lea di,array1 ;>> >> di >> >> >> >> >> >> array1 mov cl,len ;vazei ton counter cl na einai isos me ta stoixeia tou array mov ch,0 ;vazei ston ch to 0 add si,cx ;prosthetei stin thesi pou dixnei o si to periexomeno tou cx dec si ;meionei ton si kata 1 up3:mov al,[si] ;metaferei ta periexomena apo ti thesi mnimis pou deixnei o si ston al mov [di],al ;metaferei ta periexomena tou al sti thesi mnimis pou deixnei o di inc di ;ayxanei to periexomeno tou di kata 1 dec si ;meionei to periexomeno tou si kata 1 dec cl ;meionei to cl kata 1 jnz up3 ;paei sto up3 an to cl einai 0 lea dx,en ;bazei ston dx to periexomeno tou en mov ah,09h ;metaferei to 09h sto ah giati xreiazete gia na typosei to minima pou einai sto dx to int 21h int 21h ;to int 21h mov cx,14h ;metafere ston counter cx to 14h-->20dekadiko (oses kai oi theseis tou pinaka mou) lea si,array1 ;Steile ton Si stin prwti grammi tou array1 kai metaferei ston si to periexomeno tis protis thesis tou. add si,13h ;prosthetei to 13h sto si gia na paei stin teleytea thesi tou pinaka std ;kanei 1 to direction flag oste i entoli lodsb na meionei kathe fora kata 1 ton si prnt:lea dx,ke ;steile ton dx sto ke kai fortwse to string mov ah,09h ;vale ston ah tin timi 09h wste na ektelestei to interrupt ah=09h/int21 int 21h ;to inter ah=09h/int21 ektypwnei to string lodsb ;metaferei to periexomeno tis thesis mnimis pou dixnei o si ston al kai meionei kata 1 to si ;PROGRAMMA PRINT DEKADIKOS ARITHMOS MOV AH,00h ; MOV BL,0Ah ; DIV BL ;dierei ton al me ton bl PUSH AX ;metaferei ston soro to periexomeno tou ax MOV AH,00h ; DIV BL ; PUSH AX ; MOV AH,0Eh ; ADD AL,30h ;prostheti 30h ston al INT 10h ;me tin parametro 0eh ston ah typonei ena psifio stin othoni POP AX ;pernei apo ton soro kai bazei ston ax MOV AL,AH ; ADD AL,30h ; MOV AH,0Eh ; INT 10h ; POP AX ; MOV AL,AH ; ADD AL,30h ; MOV AH,0Eh ; INT 10h ; loop prnt ;kanei loopa os pou to cx na ginei 0 mov ah,4ch ; int 21h ;to int 21h me parametro 4ch termatizei to programma ret code ends end start Καλη εξεταστικη...Κ καλο καλοκαιρι.. Αντε στην υγεια μας...κ οι ξερολες μακρια μας...
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.