Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-11-2001, 18:04   #1
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
ambiente di svilluppo C

Devo scrivere un assemblatore e un simulatore dell'8086. Il mio prof dice che non vale la pena usare il C++ perchè secondo lui è come sparare ad una farfalla con un cannone...devo usare il C. Ho UltraEdit-32, posso configurarlo al meglio per farlo funzionare il sinergia con un compilatore C? Quale compilatore mi consigliate?

Se qualcuno di voi ha fatto questo progetto come esame può darmi qualche dritta e/o links utili?

Grazie mille ragà
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 19:08   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Che intendi per assemblatore ?

Il simulatore non è difficilissimo...è abbastanza meccanico e palloso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 19:47   #3
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da cionci
[b]Che intendi per assemblatore ?

Il simulatore non è difficilissimo...è abbastanza meccanico e palloso...

non mi dire che è una lunga serie di IF.....
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 20:00   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da misterx
[b]


non mi dire che è una lunga serie di IF.....
Poco di più...se non vuoi fare una serie di if ti fai un file di dati indicizzati che poi carichi in memoria...

Dopo tutto si tratta di :

1) riconoscere l'istruzione (fase di fetch)
2) caricare gli operatori (se ci sono si vede dalla codifica opcode) (fase di load)
3) fare l'operazione implicata dall'istruzione e eventuale lettura/scrittura in memoria o nei registri (fase di execute e di store)

La struttura di memoria è molto semplice....il simulatore si deve tenere 2 buffer di memoria da 64Kbyte ciuascuno...uno per il segmento codice (il codice deve venire subito caricato in memoria, così fa ogni sistema operativo) e uno per i dati...

Un'altra struttura deve contenere i vari registri del processore virtuale...

La parte più lunga è lo studio di come viene formato il codice operativo e di come vengono codificati gli operatori...il + complesso dovrebbe essere il mov...pensare che alle superiori la sapevo a memoria...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 22:05   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi ero dimenticato lo stack segment...altri 64 kb...

Chiaramente se uno vuole aggiungere un supporto all'emulazione più ampio deve permettere il cambio di segmento in runtime...e la condivisione di segmento (come avviene nel modello di memoria Tiny...un solo segmento da 64kb per stack e dati)...

Quindi diciamo che allocando un buffer di 1 Mb per la memoria di sistema si può fare tutto...

Poi se si vuole andare oltre si può prevedere il riconoscimento delle più semplici interruzioni software...per gestire qualche rudimento di I\O...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 22:28   #6
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
ehm...
io dovrei cominciare con studiare l'architettura dell'8086
cmq l'assemblatore deve operare in 2 passaggi e mi sa tanto che avete ragione: sarà una lunga case...
Il prof non vuole che il sorgente venga caricato tutto in memoria perchè si presume che ad assemblare sia una macchina con poca RAM.
Il simulatore deve tener conto delle istruzioni elementari di I/O (deve saper gestire tastiera e schermo) e non deve simulare il microcodice delle istruzioni.

Posso contare sul vostro aiuto?

Riguardo l'editor e il compilatore C da usare che mi dite?
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 22:36   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Allora non ho capito...

Cosa intendi per assemblatore e simulatore ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 22:38   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da antyf
[b]iRiguardo l'editor e il compilatore C da usare che mi dite?
Come compilatore ti consiglio DJGPP...dovrebbe avere anche l'editor integrato...è un compilatore C++, ma credo che tu lo possa usare anche come compilatore C...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 22:51   #9
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
mi spiego meglio:

dobbiamo realizzare un programma che legge un sorgente assembler per processore 8086 e lo traduce in linguaggio macchina. Successivamente questo programmino in linguaggio macchina deve essere caricato ed eseguito da un altro programma fatto da noi che deve simulare l'esecuzione dell'8086, senza gestire interrupt e routine del sistema operativo (chiaramente) ma gestendo l'I/O della tastiera e del monitor.

Dovrei avere il compilatore C++ della Borland, che scaricai diversi mesi fa dal suo sito, pensi sia buono?

Grazie
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 22:58   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Mi manca ancora un punto...il simulatore hai detto che cimula solo i/o...ma le istruzioni in linguaggio macchina del programma assemblato chi le esegue ? Come fai ad interfacciare il simulatore con il programma assemblato ?

Il compilatore Borland va benissimo...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 23:10   #11
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
il simulatore simula ANCHE I/O, le uniche cose che non bisogna simulare sono gli interrupt
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 23:15   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ok...allora sottoscrivo tutto quello che ti ho detto prima...
Per caricare tutto il programma in memoria...intendevo dire che il simulatore deve caricare tutto il programma in memoria...

Per il simulatore alloca 1 Mbyte...che in effetti è tutto lo spazio fisico indirizzabile da un 8086...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 23:46   #13
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
cionci in un post di qualche tempo fa lessi che per un esame avevi scritto un compilatore: per quale linguaggio? quanto tempo ci hai messo?
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2001, 23:57   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Era un compilatore C++ un po' ristrestto...

Funzioni con passaggio di parametri, solo interi con aritmetica di base...input e output di base...scope locale o globale delle variabili...

Ci ho emsso circa 2 mesi (lavorandoci una decina di ore settimanali)...ed eravamo in due...

Un assemblatore è molto + semplice...il compilatore deve fare anche un parsing completo...deve riconoscere blocchi a + livelli e roba del genere...l'albero derivato dal parsing può avere una profondità anche notevole...

Su un assemblatore tutte le istruzioni stanno allo stesso livello e come figli hanno i parametri che sono al + due...

Un simulatore lo abbiamo fatto per una CPU didattica...pensa che era scritto in assembler

Assemblatori non ne ho fatti...ma in pratica dovrebbe fare un primo passaggio per sostituire le etichette con gli indirizzi relativi di memoria delle variabili, per indicizzare il codice (associando ad ogni istruzione la sua lunghezza e la posizione nel segmento) e sostituire le etichette di salto con l'indirizzo di salto all'interno del segmento...poi il secondo passaggio deve fare la traduzione vera e propria...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2001, 08:16   #15
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
architettura 8086

mi date dei links per l'architettura dell'8086? mi serve materiale il più approfondito possibile
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2001, 09:29   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
http://www.itassembly.cjb.net/
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2001, 10:04   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
ftp://download.intel.com/support/con...ral/231455.pdf

In fondo a questo documento c'è il codice operativo di ogni istruzione...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-11-2001, 11:10   #18
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
Grazie cionci, sei sempre molto disponibile
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
Old 10-11-2001, 08:36   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Niente Fammi sapere come prosegue...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2001, 14:45   #20
antyf
Member
 
L'Avatar di antyf
 
Iscritto dal: Aug 2001
Città: quasi vicino Bari
Messaggi: 32
ripesco il topic

Sto vedendo un pò di realizzare la procedura che deve analizzare il sorgente su disco per assemblarlo. Secondo voi è più conveniente leggere una riga alla volta (con quale istruzione?), metterla in una stringa e farci tutti i controlli, oppure leggere un char alla volta e controllare al momento se EOF, \n, " ", ect..?
Sto da 3 ore sulla seconda soluzione ma mi sembra quasi impossibile.
Se potete, mi date una mano?
__________________
Antyf

www.antyf.it
antyf è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Space Pioneer ha annunciato le cause del...
Anthropic avrebbe nuovi antibiotici cont...
Scoperto un 'moltiplicatore nascosto' ne...
DREO: a IFA 2026 4 novità fra cui...
Slackbot genera dashboard e microsite de...
Idrogeno, nuova cella a combustibile rag...
Con la NASA fuori dai giochi, l'ESA risc...
Una falla di ChatGPT permette di estrapo...
Piano clima, 1,34 miliardi per il bonus ...
Porsche esce definitvamente da Bugatti R...
NVIDIA App aggiunge una delle funzioni p...
Come sarebbe il mondo se la luce viaggia...
Titanio, ceramica e zaffiro per HUAWEI W...
Taglio delle accise sul gasolio prorogat...
Universal e ElevenLabs: una piattaforma ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v