pago una pizza a ki mi trova l'errore

Pagina 1 di 2 1 2 ultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    tebibyte
    Registrato
    Sep 2000
    Località
    cosenza
    Messaggi
    2,926

    Predefinito



    .GLOBAL bsort



    .DATA


    .TEXT

    bsort:

    PUSHL %EBP
    MOVL %esp,%ebp
    pushl %eax
    pushl %ebx
    pushl %ecx
    pushl %edx
    pushl %esi
    pushl %edi

    movl 8(%ebp),%ecx
    movl 12(%ebp),%ebx
    movl $(-1), %esi
    movl %ecx,%edi


    ciclo_esterno:
    dec %edi
    cmp $1,%edi
    jl fine
    ciclo_interno:
    inc %esi
    cmp %esi,%edi
    je ciclo_esterno
    movl (%ebx,%esi,4),%eax
    movl %esi,%ecx
    inc %ecx
    cmp (%ebx,%ecx,4),%eax
    jng ciclo_interno
    movl %eax,%edx
    movl (%ebx,%ecx,4),%eax
    movl %eax,(%ebx,%esi,4)
    movl %edx,(%ebx,%ecx,4)
    jmp ciclo_interno

    fine:
    popl %edi
    popl %esi
    popl %edx
    popl %ecx
    popl %ebx
    popl %eax
    popl %ebp

    ret

    è l'algoritmo del bubble sort....riceve num di elementi e indi del vettore sullo stack. E' scritto per gnu ASM, molto simile all'asm normale...basta togliere i % di fronte ai nomi di registri ed invertire sorgente e destinazione nelle istruzioni tipo movl. come promesso, a ki trova l'errore pago una pizza


    ciaoz



  2. #2
    mebibyte L'avatar di The_qwer
    Registrato
    Sep 2000
    Località
    Varese
    Età
    23
    Messaggi
    796

    Predefinito

    Ma è per Linux??

  3. #3
    tebibyte
    Registrato
    Sep 2000
    Località
    cosenza
    Messaggi
    2,926

    Predefinito

    rulla anke in linux

    ciaoz

  4. #4
    mebibyte L'avatar di The_qwer
    Registrato
    Sep 2000
    Località
    Varese
    Età
    23
    Messaggi
    796

    Predefinito

    Cos'è, vuoi per caso fare una versione di CPU bench per il pinguino, non so, PenguinBench...

  5. #5
    tebibyte
    Registrato
    Sep 2000
    Località
    cosenza
    Messaggi
    2,926

    Predefinito

    no....è uno dei 5 esercizi ke mi hanno dato all'esame di Architettura degli elaboratori all'uni. Il codice sembra corretto a farlo a mano, ma se lo eseguo sul calcolatore provoca un access violation.


    ciaoz

  6. #6
    mebibyte L'avatar di The_qwer
    Registrato
    Sep 2000
    Località
    Varese
    Età
    23
    Messaggi
    796

    Predefinito

    Non è che vai fuori indice...
    Forse sbagli le dimensioni dei registri/variabili...
    Sono giuste le varie sintassi... quelle del J e delle etichette??? Stacci su un po' e vedrai che la trovi una soluzione...

  7. #7
    mebibyte L'avatar di The_qwer
    Registrato
    Sep 2000
    Località
    Varese
    Età
    23
    Messaggi
    796

    Predefinito

    Prova a convertire questo in GNU Asm:


    cblock
    d1,d2,d3,d4,d5,d6,d7,d8,d9,d10
    tmp
    i
    endc

    bubble:
    movlw 9
    movwf i
    addlw d1
    movwf FSR

    loop1 movf INDF,w ;for i = 9 to 1 'd10 to d2
    movwf tmp ;tmp = d[d1+i]

    loop2 decf FSR,f ;for FSR = (d1+i-1) to d1

    movf tmp1,w ;compare
    subwf INDF,w
    skpc ;change this to skpnc to change sort order
    goto noswap

    swap movf tmp1,w
    xorwf INDF,f
    xorwf INDF,w
    xorwf INDF,f
    movwf tmp

    noswap movlw d1
    xorwf FSR,w
    skpz
    goto loop2

    movlw d1
    addwf i,w
    movwf FSR
    movf tmp,w
    movwf INDF ;d[d1+i] = tmp
    decf FSR,f
    decfsz i,w
    goto loop1


    Fammi sapere

  8. #8
    tebibyte
    Registrato
    Sep 2000
    Località
    cosenza
    Messaggi
    2,926

    Predefinito

    coglione ke sono!!! ecco l'errore!!

  9. #9
    mebibyte L'avatar di The_qwer
    Registrato
    Sep 2000
    Località
    Varese
    Età
    23
    Messaggi
    796

    Predefinito

    Ke errore????

  10. #10
    tebibyte
    Registrato
    Sep 2000
    Località
    cosenza
    Messaggi
    2,926

    Predefinito

    l'istruzione movl ($-1),%esi
    va spostata nel blocco Ciclo_esterno: dopo je fine. Altrimenti come si azzera il secondo contatore???:
    ma come faccio a fare sti errori???? e il bello è ke nn me ne sono accorto!

Pagina 1 di 2 1 2 ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Discussioni simili

  1. Acquistare una nuova scheda video? Una di fascia media potrebbe essere un errore!!
    By salvatore in forum -= Schede video e acceleratori =-
    Risposte: 6
    Ultimo messaggio: 01-09-2007, 15:51
  2. Pizza e Birretta di Natale?....a TO
    By Brutal in forum -= La Piazza =-
    Risposte: 74
    Ultimo messaggio: 02-01-2002, 00:19
  3. FACCIAMO UNA PIZZA X 3DNOWisti
    By luckye in forum -= Insanity !!! =-
    Risposte: 63
    Ultimo messaggio: 08-09-2001, 17:07
  4. PAGO chi mi risolve sto problema!!!!!!!!!!
    By Cosmic Chaos in forum -= Internet/Reti e Sicurezza =-
    Risposte: 9
    Ultimo messaggio: 12-07-2001, 17:33
  5. pizza party a Bari
    By c.ardito in forum -= La Piazza =-
    Risposte: 2
    Ultimo messaggio: 06-04-2001, 14:07

Tags

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022