fbpx
Skip to main content

Linux Avanzato 2008-2009

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
16 Anni 7 Mesi fa #94954 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic Linux Avanzato 2008-2009
- Reti logiche, in termini di flip flop e automi a stati finiti
- Sistemi operativi
- Architetture (secondo me, ad un livello superficiale ma completo)
- Linguaggio c (puro) e relative chiamate di sistema
- Assembly (qualsiasi)

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
16 Anni 7 Mesi fa #94955 da skye daniels
Risposta da skye daniels al topic Linux Avanzato 2008-2009

- Reti logiche, in termini di flip flop e automi a stati finiti
- Sistemi operativi
- Architetture (secondo me, ad un livello superficiale ma completo)
- Linguaggio c (puro) e relative chiamate di sistema
- Assembly (qualsiasi)


Grazie mille per il contributo axn!!

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
16 Anni 7 Mesi fa #94956 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic Linux Avanzato 2008-2009
Ciao a tutti! Avevo fatto un riassunto per un mio amico delle istruzioni assembly che si devono conoscere (IMHO). E mi è capitato sotto mano il topic di LA e allora mi sono detto... quasi quasi lo posto, magari a qualcuno può tornare utile. Io conoscendo queste istruzioni (e solo queste) ho fatto tutti gli esercizi che il prof aveva dato (almeno fino a 2 anni fa... quando l'ho superato).
Ecco a voi:

- pushl %eax //salva il registro sullo stack, si usa dopo 'asm(' per tutti i
registri che si vuole usare nel prog (registri
programmabili: %eax, %ebx, %ecx, %edx, %esi, %ebp. Ce ne saranno altri ma io
usavo solo questi). La 'elle' alla fine delle istruzioni sta per 'long'
essendo i registri a 32 bit.
-movl $12, %eax //inizializza a 12 il registro eax
-movl $0b00000000000000000000000000000010, %eax //inizializza a 2 (il valore
in binario di quella "maschera") il registro eax. Il valore in binario inizia
con '$0b...'. I registri sono a 32 bit... quindi 32 zeri/uni.
-addl $4,%eax //somma 4 al valore contenuto in eax e memorizza tutto sempre in
eax. Per la sottrazioni sommi numeri negativi.
-imul %ebx, %eax //moltiplica il valore contenuto in eax per il valore
contenuto in ebx e memorizza tutto sempre in eax. La divisione è un po +
complicata ma non mi è mai servita per nessun esercizio.
-cmpl $32, %ebx //confronta il valore del registro ebx con la costante 32. In
genere si usa insieme ai salti quindi è seguita da un riga del tipo 'je
ciclo', ovvero se è uguale salta dove è specificata l'etichetta 'ciclo:'.
-jne ciclo //jump not equal...
-cmp $31, %esi / jl ciclo //se esi è minore di 31 salta all'etichetta ciclo.
Ce ne sono altri di salti (jge...).
-jmp ciclo //salta all'etichetta 'ciclo' (salto incondizionato)
-orl %edx, %ebx, xorl %edx, %ebx, andl %edx, %ebx //OR, XOR, AND tra registri
e il valore lo salva sul secondo reg
-incl %ebx //incrementa di 1 il valore del registro ebx
-decl %ecx //decrementa di 1 il valore del registro ecx
-shl $1, %ebx //shifta di una posizione a sinistra i bit del registro ebx, lo
rimpiazza con 0.
-shr $10, %ebx //shifta di dieci posizioni a destra i bit del registro ebx,
rimpiazza i bit con 0
-ror $1, %ecx //ruota di una posizione i bit a destra, RUOTA ovvero il valore
che 'esce' a destra lo mette come primo bit a partire da sinistra (rol per
ruotare a sinistra)
-lea dati , %eax //dati è un puntatore e con 'lea' in questo caso si carica
l'indirizzo in eax. L'INDIRIZZO non il valore. Per ottenere il valore puntato
da dati in eax si fa: (%eax). Ad esempio: cmp $0, (%eax) //confronta 0 con il
valore puntato da eax. Altro esempio:
mov (%eax), %edx //mette in edx il valore puntato da eax
add $4, %eax //sposta di 4 byte il puntatore (perchè è ad esempio un puntatore
ad un array di interi...)
-popl %eax //i popl servono a rilasciare lo stack, vanno fatti in ordine
inverso ai pushl.

Spero di non aver scritto corbellerie! :)
In bocca al lupo!

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
16 Anni 7 Mesi fa #95058 da skye daniels
Risposta da skye daniels al topic Linux Avanzato 2008-2009
Ragazzi per quanto riguarda l'assembler 80x86, oltre al materiale scritto da Lecci, avete qualche dispensa/libro da consigliare ??

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • COM_EASYSOCIAL_GUEST_NAME
  • Avatar di COM_EASYSOCIAL_GUEST_NAME
  • Visitatori
  • Visitatori
16 Anni 7 Mesi fa #95089 da COM_EASYSOCIAL_GUEST_NAME
Risposta da COM_EASYSOCIAL_GUEST_NAME al topic Linux Avanzato 2008-2009

Ragazzi per quanto riguarda l'assembler 80x86, oltre al materiale scritto da Lecci, avete qualche dispensa/libro da consigliare ??


Quella di Cesati!!! Basta fare quella per fare il programmino del pre-esame!

Si prega Accedi o Crea un account a partecipare alla conversazione.

Di più
16 Anni 7 Mesi fa #95124 da skye daniels
Risposta da skye daniels al topic Linux Avanzato 2008-2009
ho capito ma già il programmino del saluta.s io sinceramente non è che lo abbia capito molto ... di solito che programmi da ? cosi studpidi di stampa o chiede anche spostamento di bit o cose strane ?

Si prega Accedi o Crea un account a partecipare alla conversazione.