Autore Topic: Programmare Lm  (Letto 1763 volte)

Stesgomma

  • Neo-iscritto
  • *
  • Post: 7
  • Gioco Preferito: ghost'n'goblin
Programmare Lm
« il: 12 Agosto 2008, 00:54:03 »
 Ciao sono un nostalgico commodorista e vorrei riprendere per divertimento la programmazione in lm.Non avendo piu il manuale sapete dove posso reperirlo su internet?

Bei me tempi!!!!!!

saver71

  • Utente
  • **
  • Post: 277
  • Amante degli anni '80
    • Super 80
Programmare Lm
« Risposta #1 il: 12 Agosto 2008, 09:00:58 »
 We.

Innanzitutto benvenuto.
Chiaramente chiedi un manuale per poter programmare in Assembly...
Spesso e volentieri si fa un po' di confusione tra Linguaggio Macchina, Assembly e Assembler. E allora è opportuno distinguere le tre cose.
Il primo, non è un linguaggio di programmazione, bensì un codice riconosciuto dal computer per eseguire un determinato programma.
L'Assembly è invece un linguaggio di programmazione di alto livello ma molto più vicino alla macchina rispetto ad altri linguaggi, come ad esempio il Basic.
Infine l'Assembler è un programma che compila dall'Assembly in linguaggio Macchina.

Comunque, io ho trovato questo, ma è in inglese.
http://project64.c64.org/misc/assembler.txt

Probabilmente qualche altro utente ti fornirà di meglio.
Ciao.

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Programmare Lm
« Risposta #2 il: 12 Agosto 2008, 11:43:01 »
 L'assembly è comunque da considerare un linguaggio di basso livello. Infatti altro non è che lo stesso linguaggio macchina in cui i codici binari sono sostituiti da mnemonici leggibili dal programmatore umano. In più ci sono strumenti come le etichette, e un buon assembler include anche un preprocessore per risolvere semplici somme (del tipo etichetta + costante). Ma resta il fatto che è a carico del programmatore operare sui registri della CPU e conoscere la macchina per la quale programma (mappa della memoria, gestione I/O e quant'altro).

Un linguaggio è realmente di alto livello solo nella misura in cui permette al programmatore di ignorare questo genere di particolari.

A Stesgomma vorrei ricordare di visitare il sito e di leggere un certo thread in rilievo, non si deve pretendere che ci sia sempre qualcuno che fa la ricerca per noi.
 
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

saver71

  • Utente
  • **
  • Post: 277
  • Amante degli anni '80
    • Super 80
Programmare Lm
« Risposta #3 il: 12 Agosto 2008, 12:08:34 »
Citazione da: Eregil
L'assembly è comunque da considerare un linguaggio di basso livello.

Che dirti, se non che è giustissimo?!...  :)
« Ultima modifica: 21 Febbraio 2015, 17:58:24 da eregil »

Stesgomma

  • Neo-iscritto
  • *
  • Post: 7
  • Gioco Preferito: ghost'n'goblin
Programmare Lm
« Risposta #4 il: 12 Agosto 2008, 15:10:56 »
 Ciao hai ragione in tutto ...è che mi sono sbagliato io.
A scuola ero un campioncino in materia (si usava lo z80) e me la cavavo anche con il 6502

Avevo il mio libro "guida al riferimento al c64" che pesava assai ma lo ho prestato ad un amico anni fa e non è piu ritornato indietro.
Ho cercato sul sito informazioni al riguardo e non avevo trovato nulla.Ho chiesto solo per questo motivo..

Comunque grazie mille

Loky

  • Utente
  • **
  • Post: 130
Programmare Lm
« Risposta #5 il: 13 Agosto 2008, 10:11:28 »
 
Citazione
Un linguaggio è realmente di alto livello solo nella misura in cui permette al programmatore di ignorare questo genere di particolari.

L'assembly è a basso livello perchè utilizza 'vocaboli' lontani da quelli usati dell'uomo non perchè richiede di sonoscere l'architettura sottostante.

la frase sopra non è corretta al 100%.
Si sa infatti che il C standard è un linguaggio di medio/alto livello. Eppure se si usa nel campo dei sistemi embedded, per programmare processori è d'obbligo conoscere lo spazio di memoria in cui  allocare le varibili (spazio codice/dati, memoria interna/esterna), il numero di registri interni disponibili al processore, la presenza o meno di uno stack o di registri di appoggio per passare i parametri alle routine...

A questo punto stando alla tua definizione il C in quel caso diventa di basso livello poichè è richiesto di conoscere i particolari sull'architettura...se si usa per programmare su un PC diventa di alto livelo.....
non quadra...il C è sempre di medio/alto livello.

 

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Programmare Lm
« Risposta #6 il: 13 Agosto 2008, 14:29:07 »
 
Citazione
L'assembly è a basso livello perchè utilizza 'vocaboli' lontani da quelli usati dell'uomo non perchè richiede di sonoscere l'architettura sottostante.

Guarda che le due cose vanno di pari passo.

Perché le istruzioni dell'assembly sono "lontane da quelle usate dall'uomo"? Perché sono di fatto gli opcode della macchina.

E se sono le istruzioni della macchina, è evidente che conoscerle implica anche conoscere (almeno in una certa misura) l'architettura della macchina. Perciò l'assembly è di basso livello in quanto programmare in assembly richiede una conoscenza della macchina.

"Alto" e "basso" livello non sono concetti separati in tenuta stagna, per cui un linguaggio sarebbe o di basso o di alto livello. Esistono invece livelli "intermedi".

Il linguaggio C non è di basso livello in senso stretto perché include istruzioni "umane", ma non è neanche di alto livello in senso stretto perché permette l'accesso ai registri, cosa che un linguaggio realmente di alto livello non dovrebbe permettere.

Non c'è nessuna contraddizione in quello che ho detto e nel considerare il C un linguaggio di "medio/alto" livello, infatti il C in una certa misura permette anche di ignorare l'architettura della macchina (PC), non obbligando però a farlo (e ciò permette di utilizzarlo in ambiente embedded, come dici, nonché di applicare delle ottimizzazioni per PC tramite gli accessi a basso livello, quando si è in grado di farlo). Più puoi (o finanche devi) ignorare l'architettura, più il linguaggio è di alto livello.
 
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.