Autore Topic: E Se Volessi Imparare Il Linguaggio Macchina  (Letto 5491 volte)

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
E Se Volessi Imparare Il Linguaggio Macchina
« il: 06 Giugno 2004, 13:32:21 »
 Approfitto del topic appena aperto da Ian.
Se volessi "smanettare" con il linguaggio macchina del commodore, o se più semplicemente volessi provare l'intro di Ian cosa dovrei avere?

(devo levarmi il vizio di postare prima per poi cercare dettagliatamente dopo)
Sto provando il c64asm!  :huh:  
Ho capito di odiare le firme...

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #1 il: 06 Giugno 2004, 14:01:18 »
 Dovresti cominciare innanzitutto a imparare il Basic e le funzioni dei registri del C64 ( ammesso che tu non li conosca già );poi,con un programma monitor/assemblatore e una buona guida,puoi cominciare ad imparare il linguaggio macchina.
Per quanto riguarda la scelta e il funzionamento dei compilatore/assemblatore,io uso un comunissimo monitor/assembler e mi trovo bene.
Ma ci sono molti assemblatori assai più completi di quello che uso io;a questo proposito Ian è sicuramente molto più informato di me ;)
 :ciauz: Ciao

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #2 il: 06 Giugno 2004, 15:26:54 »
 Una facile introduzione all'assembler del 6502 (e quindi all'assembler del 6510) è offerta da questo bellissimo articolo:

http://www.geocities.com/oneelkruns/asm1step.html

Anche qui è presente un'ottima introduzione al linguaggio macchina:

http://www.ffd2.com/fridge/chacking/c=hacking1.txt
(articolo Beginning ML - part one)

Un buon assembler cross-platform è il C64asm.

Un buon assembler per C64 è il tasm5.2.

Ciao!
-=MarC=ellO=-

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #3 il: 06 Giugno 2004, 15:41:07 »
 Fino a quando io (o eventualmente chi mi sostituirà) non farò il capitolo 5 della guida di riferimento, temo che al momento non vi siano risorse italiane in rete che consentano di apprendere il linguaggio macchina del 6502/6510 - e in particolare utilizzando il Commodore 64. Cmq, se qualcuno è interessato, potrei postare qualche consiglio in più per chi vuole iniziare - aspettando la stesura di tale capitolo (ricordo che per ora il lavoro è sospeso per impegni miei).

Ancora saluti :)
-=MarC=ellO=-

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #4 il: 06 Giugno 2004, 17:18:20 »
 
Dal canto mio potrei dedicare qualche articolo al LM,se viene dimostrato un certo interesse da parte del popolo :)  

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #5 il: 06 Giugno 2004, 17:26:24 »
Citazione da: "Alberto"
Dal canto mio potrei dedicare qualche articolo al LM,se viene dimostrato un certo interesse da parte del popolo :)
E' il mio stesso intento. Intanto posta qualcosa, che gia' DJWiper l'abbiamo incuriosito ;) +1 sul tabellone  :D  
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #6 il: 06 Giugno 2004, 20:53:11 »
 Mhhh.. Grazie a tutti per i consigli! Beh, più che incuriosito sono fremente...
Come BASIC dovrei essere a buon punto (sono dieci e passa anni che tra Commodore, Qbasic, Visual Basic) smanetto... Ma come registri del C64, beh devo fare luce! Per caso sono simili all'assembler x86? AX, BX o EAX, EBX?
Ho capito di odiare le firme...

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #7 il: 06 Giugno 2004, 21:32:29 »
 Beh, devi distinguere fra i registri del microprocessore e i registri degli altri integrati...

Nel 6510 abbiamo essenzialmente il registro A (accumulatore), l'unico fornito di istruzioni per i calcoli matematici (e ciè ADC che somma la memoria all'accumulatore), tuttavia non esiste un'istruzione per incrementare/decrementare l'accumulatore, ma niente paura, ci sono i registri X e Y (tutti questi registri sono ad 8 bit). Abbiamo poi i registri 0 e 1, che hanno un uso specifico per la gestione della memoria e differenziano il 6510 rispetto al 6502.
Inoltre si hanno il registro PC, program counter, che contiene la locazione corrente nella quale si trova l'istruzione o argomento dell'istruzione correntemente eseguita, e lo SP, cioè lo Stack Pointer, il puntatore allo stack.
Si tratta di un assembler diverso dall'assembler della famiglia X86... un assembler con meno istruzioni, le quali però richiedono meno cicli. Quindi, se da un lato l'assembler del 6502 può apparire più semplice per il minor numero di istruzioni, dall'altro c'è la complicazione di un maggior sforzo richiesto al programmatore, ad esempio nell'implementare cose per le quali, nello Z80 ad esempio, esistono istruzioni specifiche. In aiuto a questo sono stati studiati i macroassembler (ad esempio il merlin 64).

I registri del VIC-II sono, possiamo dire, delle particolari locazioni di memoria atte a contenere dei valori i quali servono per scopi particolari. Ad esempio, il registro locato a 53280 ($D020) serve per impostare il colore del bordo. Il registro 53265 è un registro di controllo ed ha varie funzioni (ad esempio può essere usato per impostare il modo bit-map ecc ecc...).

Discorso analogo per i registri del SID.

Il discorso sarebbe ampio, ma spero di aver reso l'idea.
-=MarC=ellO=-

djwiper

  • Utente
  • **
  • Post: 197
  • Gioco Preferito: Sim City
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #8 il: 07 Giugno 2004, 11:01:21 »
 Capito.... Un pò come accade nelle diverse versioni del Basic, magari per cercare una stringa puoi utilizzare il comando Instr, mentre nelle versioni precedenti dovevi "ciclare" il Mid.

Per i registri spero di far pratica quanto prima, seguirò il consiglio di Alberto per iniziare.
 :ciauz:  
Ho capito di odiare le firme...

Alberto

  • Utente
  • **
  • Post: 589
  • Gioco Preferito: Grand Prix Circuit
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #9 il: 08 Giugno 2004, 12:12:49 »
 
Citazione
sono stati studiati i macroassembler (ad esempio il merlin 64).
O lo stesso MacroAssembler di mamma Commodore :c64:  :P  ;)  

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #10 il: 10 Giugno 2004, 09:37:10 »
 Il Merlin 64 è stato il più usato ;)  
-=MarC=ellO=-

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #11 il: 10 Giugno 2004, 21:44:11 »
Citazione da: "MarC=ello"
Il Merlin 64 è stato il più usato ;)
Me ne puoi far avere una copia? mi manca.
Grazie :D  
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #12 il: 11 Giugno 2004, 09:31:50 »
 
Citazione
Me ne puoi far avere una copia? mi manca.

No, non posso, ancora viene venduto ;)

Cmq per più usato intendevo fra i macroassembler...
-=MarC=ellO=-

iAN CooG

  • Utente
  • **
  • Post: 1774
    • http://iancoog.altervista.org
  • Gioco Preferito: Turbo Assembler, ActionReplay Monitor, DiskDemon
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #13 il: 12 Giugno 2004, 00:01:29 »
 
Citazione da: "MarC=ello"
No, non posso, ancora viene venduto ;)
Vabbe'. :dotto:
Allora se lo scarico da qua (sito di Raj Wuttemberg) sono fuorilegge? UHHHH!! chebruttacosachehodetto!! :ciapet:  
-=[]=--- iAN CooG/HVSC^C64Intros ---=[]=-
- http://hvsc.c64.org - http://intros.c64.org -

MarC=ello

  • Utente
  • **
  • Post: 337
  • Gioco Preferito: CBM BASIC 2.0
E Se Volessi Imparare Il Linguaggio Macchina
« Risposta #14 il: 13 Giugno 2004, 17:00:57 »
 
Citazione
Allora se lo scarico da qua (sito di Raj Wuttemberg) sono fuorilegge? UHHHH!!

Ah.. ehmm... io sono l'autore del Merlin 64  :overkiller: e contavo ancora di guadagnarci qualcosina...  :doh:  va beh... prenderò SERI provvedimenti  :D  

hi hi ciao e buona domenica! (perdona il mio umorismo sgangherato...  :overkiller: )

 
-=MarC=ellO=-