Storing arrays

συζητήσεις για assembly

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
rambo
Δημοσιεύσεις: 3
Εγγραφή: 19 Νοέμ 2008 22:02

Storing arrays

Δημοσίευση από rambo » 19 Νοέμ 2008 22:16

Hello guys
vska tha hthela mia mikrula voitheia sxetika me to parakatw kwmati kwdika :

Exume ton pinaka A 8X8 stoixeiwn kai mia entolh odhgias :

A: .word 0, 1, 2, 3, 4, 5, 6, 7
.word 7, 6, 5, 4, 3, 2, 1, 0
.word 0, 1, 2, 3, 4, 5, 6, 7
.word 7, 6, 5, 4, 3, 2, 1, 0
.word 0, 1, 2, 3, 4, 5, 6, 7
.word 7, 6, 5, 4, 3, 2, 1, 0
.word 0, 1, 2, 3, 4, 5, 6, 7
.word 7, 6, 5, 4, 3, 2, 1, 0

To kathe stoixeio px apo thn prwth grammh to 0 kai meta to 1 kai meta to 3 kai outw kathe ekshs se poia thesh ths mnhmhs apothekeute?
Mhpws to 0 sthn thesh arxhs t A ,to 1 meta sthn thesh arxhs +4,to 2 sthn thesh arxhs +8 kai outw kathekshs?
An paei opws eipa tote to teleutaio stoixeio apothkeuete sthn thesh arxhs t A +256?Tote o pinakas a den tha xreiazete 256 bytes? Ara tha isxuei o tupos n*n*4 opu n size sthlwn kai grammwn an ine isa..
H mhpws kanw lathos (kati tetoio kovw na pezei..)

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Storing arrays

Δημοσίευση από LightForce » 20 Νοέμ 2008 17:53

Hi rambo,
Αν είναι πίνακας απο DWORD's θα χρειάζεται 256 bytes και είναι έτσι όπως το σκέφτηκες.
Στην περίπτωση σου όμως συμπεράνω ότι είναι WORD's 2 byte η κάθε λέξη, άρα 128 bytes.
Nα ένα παράδειγμα, σε Flat Assembler, διαβάζει απο τον πίνακα σου την τιμή x,y θέσης.

Κώδικας: Επιλογή όλων

    
    A_WIDTH = 8
    
    ;;; ax=array[2,2] 
    
    mov ax,2
    mov bx,2
    
    imul si,ax,2
    imul bx,bx,2*A_WIDTH
    mov ax,[array+si+bx]
    
    ;;; ax=2
    
array:
    dw 0, 1, 2, 3, 4, 5, 6, 7
    dw 7, 6, 5, 4, 3, 2, 1, 0
    dw 0, 1, 2, 3, 4, 5, 6, 7
    dw 7, 6, 5, 4, 3, 2, 1, 0
    dw 0, 1, 2, 3, 4, 5, 6, 7
    dw 7, 6, 5, 4, 3, 2, 1, 0
    dw 0, 1, 2, 3, 4, 5, 6, 7
    dw 7, 6, 5, 4, 3, 2, 1, 0 

rambo
Δημοσιεύσεις: 3
Εγγραφή: 19 Νοέμ 2008 22:02

Storing arrays

Δημοσίευση από rambo » 20 Νοέμ 2008 20:43

thx gia thn apadhsh file..
vska prokeite gia ergasia se dlx epeksergasth
den kserw an auto voithaei peri kathorismu posa bytes ine to word..
alla m fenete prokeite peri 4arwn..
ti les kai esu?

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Storing arrays

Δημοσίευση από LightForce » 20 Νοέμ 2008 21:24

Δεν γνωρίζω για τους dlx, λυπάμαι.
Μια γρήγορη ματιά στην google που έριξα είδα ότι πρόκειται για επεξεργαστή με 32 bit καταχωρητές οπότε 4 bytes η κάθε θέση.

Memory is divided into words of 32 bits and is byte-addressed, i.e., word addresses are multiples of 4

Data types for DLX
for integer data
- 8-bit bytes
- 16-bit half words
- 32-bit words

rambo
Δημοσιεύσεις: 3
Εγγραφή: 19 Νοέμ 2008 22:02

Storing arrays

Δημοσίευση από rambo » 20 Νοέμ 2008 21:44

thx re s..
vska thelw na ksekatharisw to pws apothukeuete to kathe stoixeio gia na borw na to anakthsw katallhla meta xrhshmopoiwntas indexes....
h ergasia ine peri praksewn me pinakes.. :p

Απάντηση

Επιστροφή στο “Assembly”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες