Προς το περιεχόμενο

assembly_at91


nrkmaiden

Προτεινόμενες αναρτήσεις

Δημοσ.

εγω το εχω κανει καπως ετσι:

LDR R0,=array_A

LDR R1,=array_B

LDR R2,=array_C

 

LDR R3,=array_A

ADD R3,R3,#16

 

adding:

LDRB R4,[R0],#1

LDRB R5,[R1],#1

 

ADD R6,R5,R4

STRB R6,[R2],#1

 

CMP R0,R3

BLT adding

..........

και τρεχει κανονικα.

ισχυει μονο για 16 αριθμους

αλλα απο οτι καταλαβα αυτο χρειαζεσαι.

Δημοσ.

Δηλαδή για halfwords, και words θα είναι διαφορετικός ο κώδικας? Νόμιζα ότι αλλάζουμε μόνο τα δεδομένα και όχι τις εντολές.(και ότι στις εντολές βάζουμε κατάληξη H σε halfwords).

Δημοσ.

Στα halfword word byte αλλαζεις μονο την καταληξη(π.χ LDRB/H) ,αλλα στο longword κανεις αλλαγες στον κωδικα γιατι δεν υπαρχει LW η κατι τετοιο.Με λιγα λογια πρεπει να βρεις καποιο αλλο τεχνασμα.

Αν θες μπορω να σου δωσω την απαντηση αλλα δε θα εχει καμια ουσιαστικα αξια γτ δε θα καταλαβαινεις τι γινεται.

Δημοσ.

Το έψαξα και βρήκα για longwords στο manual του ΑΤ91 παράδειγμα και το κατάλαβα. Δεν θα ήθελα να μου δώσεις έτοιμη απάντηση αν δεν προσπαθήσω μόνος μου πρώτα, γιατί δεν πρόκειται να μάθω assembly. Ευχαριστώ πολύ για τη βοήθεια!

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...