Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Didattica in generale > Archivio > Progetto della sicurezza di rete > Homework assembly per lunedì 15/10/2007
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
jeppojeps
.fedelissimo.

User info:
Registered: Apr 2004
Posts: 46 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 7:17:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Homework assembly per lunedì 15/10/2007

Ciao ragazzi, sono ancora un po' indietro con l'assembly ma quantomeno ho scritto i listati in C, giusto per avere un idea da cui partire...se ne avete bisogno li trovate in allegato.
Sono in unico file, trovate i commenti per poterli separare.

Ciao

Attachment: esercizi.c
This has been downloaded 29 time(s).

10-10-2007 17:00
Click Here to See the Profile for jeppojeps Click here to Send jeppojeps a Private Message Find more posts by jeppojeps Add jeppojeps to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
derie
finder

User info:
Registered: Nov 2003
Posts: 6 (0.00 al dì)
Location:
Corso: informatica tlc
Anno: 4
Time Online: 13:04:31 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Ciao,
qualcuno può spiegarmi brevemente come gestisce i numeri negativi?

sia la dichiarazione che l'uso dei registri...grazie...

qualcuno è riuscito a creare l'array con numeri casuali?

__________________
the groupies è un evento...

11-10-2007 16:50
Click Here to See the Profile for derie Click here to Send derie a Private Message Visit derie's homepage! Find more posts by derie Add derie to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
ddrandom
.fedelissimo.

User info:
Registered: Mar 2006
Posts: 51 (0.01 al dì)
Location:
Corso: Informatica
Anno: 21esimo
Time Online: 16:01:58 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

per i numeri negativi non c'è alcuna dichiarazione particolare è sufficiente usare gli operatori corretti. add e sub funzionano correttamente sia con i numeri positivi che con quelli negativi, mentre mul e div funzionano solo con i numeri positivi. Per moltiplicare o dividere numeri negativi devi usare rispettivamente imul e idiv.

11-10-2007 18:44
Click Here to See the Profile for ddrandom Click here to Send ddrandom a Private Message Find more posts by ddrandom Add ddrandom to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
jeppojeps
.fedelissimo.

User info:
Registered: Apr 2004
Posts: 46 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 7:17:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Array, numeri casuali e funzioni

Per creare un vettore con i numeri casuali, è sufficiente appoggiarsi alla libreria standard del C, non ditemi che qualcuno ha talmente tanta voglia di scrivere una funzione che generi dei numeri casuali in assembly quando c'è ne già una nelle librerie standard int rand(void) è sufficiente stare attenti a come muovere i registri esp e ebp e si possono chiamare tutte le funzioni del C...anche quelle personalizzate....tipo per ordinare un vettore.... (voleva essere un suggerimento)

La cosa da ricordare è che le funzioni standard del C agiscono sui registri in un certo modo, cioè lasciano inalterati certi registri e ne possono modificare altri, magari le funzioni personalizzate non seguono questo tipo di schema e ci si può trovare qualche valore a troie in qualche registro che supponevamo non venisse toccato, comunque per tutte queste delucidazioni c'è un po' di materiale sul manuale di Paul Carter, che trovate sul sito www.drpaulcarter.com c'è anche la versione in italiano tradotta da Giacomo Bruschi. Che non c'entra con il Prof Danilo Bruschi del nostro corso ma che è valida ugualmente.


Per i più pigri con l'assembly il GCC può senz'altro aiutare

gcc -S -o esempio.asm listato.c

dove esempio.asm sarà il file generato dal gcc che contiene il codice assembly del listato C, che non credo sia compatibile con nasm, non ho provato, comunque è utile per farsi un'idea...

Last edited by jeppojeps on 12-10-2007 at 15:11

12-10-2007 11:07
Click Here to See the Profile for jeppojeps Click here to Send jeppojeps a Private Message Find more posts by jeppojeps Add jeppojeps to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
derie
finder

User info:
Registered: Nov 2003
Posts: 6 (0.00 al dì)
Location:
Corso: informatica tlc
Anno: 4
Time Online: 13:04:31 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ho seguito le istruzioni sulla guida per chiamare le funzioni del c ma non funziona. Devo includere la libreria che contiene la funzione rand?
cmq non mi funziona neanche la scanf che c'è come esempio nella guida...help...please

__________________
the groupies è un evento...

13-10-2007 15:46
Click Here to See the Profile for derie Click here to Send derie a Private Message Visit derie's homepage! Find more posts by derie Add derie to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
jeppojeps
.fedelissimo.

User info:
Registered: Apr 2004
Posts: 46 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 7:17:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
scanf e Co.

Per prima cosa, ricordati che gli underscore prima del nome delle funzioni non vanno mai messi se compili con gcc, subito dopo la direttiva global nel segmento .text devi aggiungere extern e il nome della funzione che vuoi chiamare, per chiamare rand non devi includere nulla di speciale:



global asm_main
extern rand

poi quando la vorrai richiamare, utilizza la chiamata


call rand

e il valore ritornato sarà in eax


Mi raccomando prima della chiamata di allocare lo spazio giusto sullo stack. E quando finisci di aggiungere lo spazio, altrimenti arrivi alla fine del ciclo che sfondi lo stack e hai una segmentation fault.....

14-10-2007 08:29
Click Here to See the Profile for jeppojeps Click here to Send jeppojeps a Private Message Find more posts by jeppojeps Add jeppojeps to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 01:36.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.038 seconds (74.69% PHP - 25.31% MySQL) con 29 query.