Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Asembler MOMCI POMAGAJTE

[es] :: Asembler :: Asembler MOMCI POMAGAJTE

[ Pregleda: 5732 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kukilo
Zoran Kukilo

Član broj: 216319
Poruke: 1
*.static.nscable.net.



Profil

icon Asembler MOMCI POMAGAJTE16.03.2009. u 12:21 - pre 183 meseci
E momci moze mala pomoc oko mnozenja i deljenja u asembleru, nesto ne toliko komplikovano jer sam pocetnik.
Mi smo radili mnozenje preko sabiranja a deljenje preko oduzimanja ali mi bas nesto nije jasno. Hvala.


[Ovu poruku je menjao Kukilo dana 16.03.2009. u 14:55 GMT+1]

[Ovu poruku je menjao Kukilo dana 16.03.2009. u 15:49 GMT+1]
Kux
 
Odgovor na temu

J4k1
Zrenjanin

Član broj: 64156
Poruke: 23
*.static.nscable.net.

Sajt: www.zrteam.net


Profil

icon Re: Asembler momci pomagajte16.03.2009. u 17:16 - pre 183 meseci
Reci Zoki sta te muci? Bolje uzmi i citaj praktikum :P
Inace imas u temi ispod tvoje neke radove od prosle godine pa pogledaj to


Nemanja :)
 
Odgovor na temu

Stojan Trifunovic

Član broj: 15156
Poruke: 366
*.rs
Via: [es] mailing liste



+8 Profil

icon Re: Asembler MOMCI POMAGAJTE16.03.2009. u 22:32 - pre 183 meseci
Kazete da ste radili mnozenje i deljenje preko sabiranja i oduzimanja. To je bar najlakse za objasnjavanje.

Setite se kako ste nekada igrali zmurke. Brojali ste do 100 po 5. Znaci 5, 10, 15...
To je jedan (prilicno los) nacin mnozenja brojeva. Kazem los zato sto je spor, a ne sto daje netacne rezultate.

Da bi se tako realizovalo mnozenje A i B brojeva (A * B = C) potrebno je inicijalizovati C na nultu vrednost, a zatim sabitari A svih B puta. To je sve.
Na primer, ako je A==5 i B == 3 onda bi algoritam programa bio ovakav:
Code:

C == 0
C = C+5
C = C+5
C = C+5

Sabiranje tacno 3 puta moze se lako realizovati dekrementacijom broja B i testiranjem da li je dosao do 0.

Deljenje je isto to, samo sa obrnutim postupkom. Broj A oduzimao bi se B puta.
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
*.eunet.rs.



+67 Profil

icon Re: Asembler momci pomagajte17.03.2009. u 09:32 - pre 183 meseci
hehehe ovaj deo foruma uvek zazivi cim e2 dobije arhitekturu racunara :)

pogledajte stare teme , i prosle godine je bilo slicnih pitanja

pogledajte one kodove koje sam ostavio u drugom postu

mnozenje
Code:


.section .data
.section .text

.globl main

main:

movl $3, %eax
movl $5, %ebx
xorl %edx, %edx
cmpl %eax, %ebx
ja mnozi
xchgl %eax, %ebx
mnozi:
addl %ebx, %edx
decl %eax
cmpl $0, %eax
jnz mnozi

kraj: nop




ili u duploj preciznosti
Code:

.section .data

a: .long 0,4
b: .long 0,4
r: .quad 0

.section .text

.globl main

main:

mnozi:
    movl b+4, %ebx
    cmpl $0, %ebx
    jz smanji
    jmp *0x1
    decl %ebx
    movl %ebx, b+4
    movl a+4, %eax
    movl r+4, %ebx
    addl %eax, %ebx
    movl %ebx, r+4
    movl a, %eax
    movl r, %ebx
    adc %eax, %ebx
    jc greska
    movl %ebx, r
    jmp mnozi
    
smanji: 
    movl b, %ebx
    cmpl $0, %ebx
    jz kraj
    decl %ebx
    movl %ebx, b
    jmp mnozi
    

kraj:
    movl r+4, %eax
    movl r, %ebx
    nop
    
greska:
     jmp greska



kao sto vec rekoh , nemojte ovo da smatrate kao non plus ultra , mozda , i verovatno, ima neka greska
a i potrudite se da razumete kako ovo radi , nemojte napamet da ucite

ajd pozdrav
 
Odgovor na temu

[es] :: Asembler :: Asembler MOMCI POMAGAJTE

[ Pregleda: 5732 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.