Evi235
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Guest 986132
Επισκέπτης
Evi235
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Guest 986132
Επισκέπτης
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
fockos
Επιφανές μέλος
Δεν γνωρίζω assembly κανενός επεξεργαστή αλλά πρέπει να εργαστείς ως εξής.
- Τακτική διαίρει και βασίλευε. διαιρούμεν τον αλγόριθμο σε μικρότερα κομμάτια.
- Όχι αλγόριθμο σε χάρτι πάντοτε σε υπολογιστή. Ξεκινάμε σε κάτι απλό επαληθεύουμε ότι δουλεύει με ανελλέητο debuging. Σιγά σιγά προσθέτουμε κώδικα κάνοντας πιο πολύπλοκο τον πρόγραμμα μας. Αν πας και γράψεις όλο το πρόγραμμα από τη αρχή πολύ δύσκολα θα σου δουλέψει θα ψάχνεις ποιο είναι το λάθος δεν θα το βρίσκεις και θα κλαις.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Evi235
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
πως θα αναπαραστησω σε γλωσσα assembly την εντολη curr=head->next????
Καταρχάς θα πρέπει να έχεις καταλάβει τη λογική της assembly, αλλιώς δε κάνεις τίποτα.
Οι μεταβλητές κάθε "αντικειμένου" μιας δομής μπαίνουν σε διαδοχικές θέσεις στη μνήμη. Κοίτα πχ τι αποτελέσματα θα σου βγάλει ο παρακάτω κώδικας.
Θα πρέπει να αποθηκεύσεις σε ένα register την τιμή του head και να τον αυξήσεις κατά τόσες θέσεις ώστε να δείχνει στο next. Μετά τον register αυτό τον χρησιμοποιείς ως pointer για να πάρεις την τιμή του next.
#include <stdio.h>
#include <stdlib.h>
struct mystruct{
int a;
int b;
struct mystruct *next;
};
main()
{
struct mystruct *curr,*head;
head = (struct mystruct *) malloc(sizeof(struct mystruct));
printf("%p %p %p %p\n",head,&(head->a),&(head->b),&(head->next));
printf("\n%ld\n",sizeof(struct mystruct));
}
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Evi235
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Θάλεια
Διάσημο μέλος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος
Για ποια γλώσσα προγραμματισμού μιλάμε;πως θα εισαγω string μεσα σε λιστα?εναν εναν χαρακτηρα ειναι οκ αλλα ολο το string?οποιος γνωριζει ας μου απαντησει αμεσα γιατι η εργασια τρεχει !
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Evi235
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Γιώργος
Τιμώμενο Μέλος
Όταν λες σε λίστα τι θέλεις να κάνεις δηλαδή;σε assembly ειναι η ασκηση αλλα πρωτα πρεπει να το σκεφτω σε c
Εγώ πάλι σε C θα το έγραφα και μετά θα το έκανα σε assembly με gcc -S. Κι άσ' τους να ψάχνονται.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Evi235
Νεοφερμένος
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Πληροφορικάριος
Δραστήριο μέλος
πως θα εισαγω string μεσα σε λιστα?εναν εναν χαρακτηρα ειναι οκ αλλα ολο το string?οποιος γνωριζει ας μου απαντησει αμεσα γιατι η εργασια τρεχει !
Δεν έχω καταλάβει ακριβώς τι θές αλλα μαλλον μιλάς για απλά συνδεδεμάνη λίστα που αποθηκεύει strings.Στην C μπορείς να το κάνεις έτσι:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node
{
char *string;
struct node *next;
};
int eisagwgh(char str[],struct node **list);
int main()
{
char str[100];//99 το πολύ χαρακτήρες
struct node *list=NULL;
puts("Dwse:");
while(strcmp("end",gets(str)))//μέχρι να δώσεις end
if(eisagwgh(str,&list))puts("sfalma sthn desmeush mnhmhs.");
while(list!=NULL)
{
puts(list->string);
list=list->next;
}
return 0;
}
int eisagwgh(char str[],struct node **list)
{
struct node *neos;
neos=(struct node *)calloc(1,sizeof(struct node));
if(!neos)return 1;
neos->string=(char *)calloc(1,strlen(str)+1);
if(!neos->string)return 1;
strcpy(neos->string,str);
neos->next=*list;
*list=neos;
return 0;
}
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Evi235
Νεοφερμένος
παρακαλω βοηθηστε!!!!
ξερω τον τυπο αλλα δεν ξερω πως θα τον εφαρμοσω
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
antwwwnis
Διάσημο μέλος
σαμ<-1
Διάβασε χ !(του συνχ)
Για ι από 2 μέχρι 100 με βημα 2 ! μεγάλη προσέγγιση αυτή ε;
Αν χmod4=0 τότε
σαμ<-σαμ-χ^ι/F(i)
Aλλιώς
σαμ<-σαμ+χ^ι/F(i)
Τέλος_αν
Τέλος_επανάληψης
Γράψε σαμ ! συνχ
Όπου F η συνάρτηση που μας επιστρέφει το παραγοντικό. Αλλά πρέπει να βγαίνει και χωρίς συνάρτηση, μέσα στο βρόχο του ''για'' κάπως.
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Evi235
Νεοφερμένος
?????
Σημείωση: Το μήνυμα αυτό γράφτηκε 12 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
ORG 30
DB4
ORG 40
DB 15
LDAC 30
STAC 31
LDAC 40
STAC 41
αλλα μου βγαζει αριθμους σε ακυρες θεσεις....μπορει καποιος να μου πει τι κανω λαθος??ευχαριστω εκ των προτερων..!!
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Πληροφορικάριος
Δραστήριο μέλος
παιδια καλησπερα...μας εβαλε ο καθηγητης μια ασκηση σε assembly αλλα δεν τα εχω καταλαβει και πολυ καλα..τα διαβασα και μονη μου και προσπαθησα να λυσω την ασκηση αλλα δεν μου βγαινει...η ασκηση λεει αφου τελοσπαντων εχουμε αποθηκευσει καποιους αριθμους απο προηγουμενα ερωτηματα στις θεσεις 40 και 30 να αντιγραψουμε το περιεχομενο της θεσης 30 στη 31 και της 40 στη 41..εγω αυτο που εκανα ειναι το εξης:
Να υποθέσω δεν μιλας για αρχιτεκτονική MIPS;
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Σημείωση: Το μήνυμα αυτό γράφτηκε 11 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Χρήστες Βρείτε παρόμοια
-
Φορτώνει...
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.