Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Programma in assembler [urgente!]

    Ciao a tutti!

    Ho iniziato da pochi giorni a studiare il linguaggio assembler (e ci sto capendo veramente poco) e ho bisogno che mi svolgiate (possibilimente commentando ogni singolo passaggio) il seguente esercizio:

    Si scriva una procedura FAR (denominata Calc_Min) che ha come input un vettore di 5 interi e produce come risultato il valore minimo degli elementi del vettore.

    Per favore, aiutatemi!

    Grazie

  2. #2
    Utente di HTML.it L'avatar di lupix
    Registrato dal
    Nov 2004
    Messaggi
    59
    Visto che non ti risponde nessuno ti aiuto io
    ---------
    prologo
    ----------
    pushl %ebp #link dinamico
    pushl %esp, %ebp #base dello stack
    pushl$0 #riserva lo spazio per una variabile d'ambiente
    pushl %ecx #salvattaggio dei registri che useremo
    puscl %esi
    #------fine prologo------#
    movl 12(%ebp), %ecx #mette in ecx la dim del vettore
    decl %ecx #ecx=ecx-1(decremento la dim)
    movl 8(%ebp), %esi#metto in esi indirizzo del vettore
    lodsl #eax=vett[0] primo elemento del vettore
    movl %eax, -4(%ebp)#crezione della variabile temporanea

    ciclo:
    loadsl #eax=vett[i]
    cmpl $0,16(%ebp) #se il flag viene modificato continua ciclo
    jne Calc_Min#verifica la condizione per minimo
    cmpl -4(%ebp), %eax#se temp<=vett[i]
    jge prossimo#allora,vai al prossimo
    jmp aggiorna#altrimenti vai ad aggiorna

    Calc-Min:
    cmpl -4(%ebp),%eax#if temp>=vett[i]----->confronto
    jle prossimo #altrimenti vai a prossimo

    aggiorna:
    movl %eax,-4(%ebp)#aggioniamo il minimo
    prossimo:
    loop ciclo#ripete il ciclo
    movl -4(%ebp)#mette risultato in eax
    #----------epilogo-----------
    popl %esi#recupero dei registri salvati
    popl %ecx
    addl $4,%esp #ripulisce lo spazio d'ambiente
    leave#ripristina ebp ed esp
    ret
    #---fine epilogo----

    Meglio di cosi' non sono riuscito a fare.Comunque il programma e' corretto.se non capisci qualcosa contattami in personale o tramite email.Comunque e' utile se hai problemi studiati il funzionamento dello stack.
    Nel programma ho utilizzato dei tipi long.....Il programma e' a prova di bomba.
    Saluti da lupix

  3. #3
    Utente di HTML.it L'avatar di MMarzia
    Registrato dal
    Mar 2001
    Messaggi
    1,781
    ti invito a leggere il nostro regolamento, in particolare la sezione riguardante i titoli..
    io sono festosamente cicciottello :: e. cartman

    t'amo senza sapere come, nč quando nč da dove,
    t'amo direttamente senza problemi nč orgoglio:
    cosė ti amo perchč non so amare altrimenti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.