Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

N1xx1

Dcpu Tutorial

Recommended Posts

Editato. Leggi ora.

Fare Or una volta o addare è la stessa cosa (se il bit è a 0 come in questo caso). E il tuo codice non mi funziona.. forse è firefox?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Scusate ma io non ho capito come diamine funzionano i DAT, qualcuno me li spiega?

E poi la cosa più importante.

Come prendo in input?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

faaabio senti, io vorrei imparare l'assembly e più che te non potevo contattare.

tu sei in poche parole il "programmatore" della community.

Ho letto questa discussione ma non capisco niente.

Ora, potresti linkarmi dei manuali o preferibilmente degli esercizi sia in inglese ma preferibilmente in italiano?

Con esercizi intendo cose come (esempio): 2+2=4, quanto fa 2+3 ? Ovviamente riguardanti l'assembly.

Grazie :D

Io non ne conoco, ne ha messa una pava mi pare..

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ragazzi ho provato, mi piace tantissimo! Però vorrei imparare molto di più, è fantastico programmare.

Tipo, se io voglio scrivere una frase, ma invece di segnare carattere per carattere come ho fatto io, si può definire una serie di caratteri in A e stamparla su schermo per facilitare le cose? :3 E poi, come faccio a fare uscire in ritardo un output?

http://www.0x10co.de/s07ik :D

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Scusate ma io non ho capito come diamine funzionano i DAT, qualcuno me li spiega?

I dat introducono una sequenza di parole.

Per esempio se scrivi:

:parole DAT 53,5,9,2

È come se stai scrivendo:

SET [0x2046] 53

SET [0x2047] 5

SET [0x2048] 9

SET [0x2049] 2

In pratica riempi la memoria di quello che vuoi.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ragazzi ma io avrei una domanda (non linciatemi perfavore) ma voi tutti sti codici dove li state scrivendo? perchè sono andato ul sito con i programmi che linkate ma non so dove andare per provare a scrivere. Un "indirizzamento" pls?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ragazzi ma io avrei una domanda (non linciatemi perfavore) ma voi tutti sti codici dove li state scrivendo? perchè sono andato ul sito con i programmi che linkate ma non so dove andare per provare a scrivere. Un "indirizzamento" pls?

sempre sullo stesso link ti basta fare "new program" in alto ed è fatta ^_^

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

ah ok dopo provo grazie

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ma (penso che la mia domanda sarà vista come un'eresia xD) i registri cosa sono e a cosa servono???

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ma (penso che la mia domanda sarà vista come un'eresia xD) i registri cosa sono e a cosa servono???

Variabili. Al posto di creare la variabile "nome variabile" hai 8 registri in cui metterci una variabile.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Variabili. Al posto di creare la variabile "nome variabile" hai 8 registri in cui metterci una variabile.

Grazie! Sono riuscito a capirlo poco fa grazie ad un piccolo esercizio che ho postato nel mio archivio xD

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

che.

figata.

non vedo l'ora

@LucaBonfi: mi è venuta voglia di costruire una CPU su MC :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

scusate, perdonate la mia ignoranza (non ho MAI programmato niente, MAI), ma ho capito come settare valori, addare, la differenza tra un valore e la porzione di RAM corrispondente a quel valore, il funzionamento degli stack (anche se non sono sicuro della loro utilità), e tutte le funzioni base...

ma quei 0x(lettere_e_numeri_a_caso) da dove ca**o si tirano fuori?

perdonate ancora la mia ignoranza, vi ringrazio per la pazienza :lol:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

scusate, perdonate la mia ignoranza (non ho MAI programmato niente, MAI), ma ho capito come settare valori, addare, la differenza tra un valore e la porzione di RAM corrispondente a quel valore, il funzionamento degli stack (anche se non sono sicuro della loro utilità), e tutte le funzioni base...

ma quei 0x(lettere_e_numeri_a_caso) da dove ca**o si tirano fuori?

perdonate ancora la mia ignoranza, vi ringrazio per la pazienza :lol:

Non sono lettere e numeri a caso... Sono numeri esadecimali, li ho accennati nella guida.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

scusate, perdonate la mia ignoranza (non ho MAI programmato niente, MAI), ma ho capito come settare valori, addare, la differenza tra un valore e la porzione di RAM corrispondente a quel valore, il funzionamento degli stack (anche se non sono sicuro della loro utilità), e tutte le funzioni base...

ma quei 0x(lettere_e_numeri_a_caso) da dove ca**o si tirano fuori?

perdonate ancora la mia ignoranza, vi ringrazio per la pazienza :lol:

L'unica cosa che ho capito, è che 0x8000 è il primo spazio dove stampi mentre 0xf0XX è il carattere che stampi, e i caratteri li vedi qui: http://www.asciitabl...x/asciifull.gif :lol:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

però non mi aiutate mai... che community sarebbe questa?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

però non mi aiutate mai... che community sarebbe questa?

Di che hai bisogno? (Comunque non è una scuola questa, e i programmatori pro non sono degli insegnanti, quindi non credo che possano star dietro a tutti ^_^)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

però non mi aiutate mai... che community sarebbe questa?

Fai come me, ciuccia informazioni dai post :sisi: se al massimo non capisci qualcosa, chiedi :sisi:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ho scritto già in precedenza, per favore rispondete :l

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ragazzi ho provato, mi piace tantissimo! Però vorrei imparare molto di più, è fantastico programmare.

Tipo, se io voglio scrivere una frase, ma invece di segnare carattere per carattere come ho fatto io, si può definire una serie di caratteri in A e stamparla su schermo per facilitare le cose? :3 E poi, come faccio a fare uscire in ritardo un output?

http://www.0x10co.de/s07ik :D

Per farlo devi usare la funzione :label come ha scritto n1 nella discussione sul comando dat

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

scusate, perdonate la mia ignoranza (non ho MAI programmato niente, MAI), ma ho capito come settare valori, addare, la differenza tra un valore e la porzione di RAM corrispondente a quel valore, il funzionamento degli stack (anche se non sono sicuro della loro utilità), e tutte le funzioni base...

ma quei 0x(lettere_e_numeri_a_caso) da dove ca**o si tirano fuori?

perdonate ancora la mia ignoranza, vi ringrazio per la pazienza :lol:

Sono composto così :

0x + "n1", "n2", "n3"

0x + xyzz

n1 sarebbe il colore del carattere in esadecimale

n2 sarebbe il colore dello sfondo in esadecimale

n3 sarebbero i 2 numeri che rappresentano il carattere

colori. nella tabella c'è la colonna Hex, quelli sono quelli per i colori

http://0x10cwiki.com/wiki/Video_RAM

lettere, hx, c'è il carattere corrispondente.

http://www.asciitable.com/index/asciifull.gif

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Okay, ho capito come stampare lettere, cambiare colore etc.

Volevo provare a fare un'addizione semplice ma mi son ritrovato incagliato. Ho vagamente copia-incollato roba dalla prima pagina della discussione, non prendetevela.

SET A,1
SET [0x8000], A
SET B,2
SET [0x8001], B
ADD A,B

In pratica pensavo di assegnare ad "A" il numero "uno", a "B" il "2" e poi di addizionarli, ma a quanto pare non funziona.

"SET [0x8000], A" e "SET [0x8001], B" penso di averli messi lì per stabilire dove sarebbero dovuti essere, ma effettivamente non ne vedo il motivo.

Che sbaglio? Si fa così? Sono confuso.

EDIT: Okay allora, non posso usare numeri, quindi ho riscritto così usando i numeri dalla tabella Ascii:

SET A, 0xf031
SET [0x8000], A
set B, 0xf032
SET [0x8001], B
ADD A,B

Ma mi stampa "12", non addiziona, e non riesco a settare dove dovrebbe stamparmi "ADD A,B".

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Okay, ho capito come stampare lettere, cambiare colore etc.

Volevo provare a fare un'addizione semplice ma mi son ritrovato incagliato. Ho vagamente copia-incollato roba dalla prima pagina della discussione, non prendetevela.

SET A,1
SET [0x8000], A
SET B,2
SET [0x8001], B
ADD A,B

In pratica pensavo di assegnare ad "A" il numero "uno", a "B" il "2" e poi di addizionarli, ma a quanto pare non funziona.

"SET [0x8000], A" e "SET [0x8001], B" penso di averli messi lì per stabilire dove sarebbero dovuti essere, ma effettivamente non ne vedo il motivo.

Che sbaglio? Si fa così? Sono confuso.

Ti spiego cosa fa il tuo codice

SET A,1; setti A 1, giusto

SET [0x8000], A; visualizzi il carattere 1, sbagliato 1

SET B,2; setti B 2, giusto

SET [0x8001], B; visualizzi il carattere 2, sbagliato 1

ADD A,B; sommi, giusto

1Su questo terminale i caratteri son visualizzati secondo la codifica ASCII (si pronuncia come la razza di cani) http://www.asciitabl...x/asciifull.gif (guarda la tabella HEX).

Quando vuoi visualizzare una cifra devi stampare il carattere corrispondente alla cifra.

Semplicemente come noti la cifra 0 è 0x030, quindi per stampare 0 devi scrivere

SET [0x8000], 0x0030

Ma 0030 sarebbe uno '0' nero con sfondo nero, quindi si usa f030.

In generale per stampare una cifra devi scrivere

SET A,2;esempio

ADD A, 0xf030

SET [0x8000], A

MA QUESTO FUNZIONA SOLO FINO AL 9. Per le cifre superiori al 9.. devi stampare cifra per cifra..

Prova tu..

p.s. Se mi fai moderatore di questa sezione così posso modificare la guida iniziale?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Okay, ho capito come stampare lettere, cambiare colore etc.

Volevo provare a fare un'addizione semplice ma mi son ritrovato incagliato. Ho vagamente copia-incollato roba dalla prima pagina della discussione, non prendetevela.

SET A,1
SET [0x8000], A
SET B,2
SET [0x8001], B
ADD A,B

In pratica pensavo di assegnare ad "A" il numero "uno", a "B" il "2" e poi di addizionarli, ma a quanto pare non funziona.

"SET [0x8000], A" e "SET [0x8001], B" penso di averli messi lì per stabilire dove sarebbero dovuti essere, ma effettivamente non ne vedo il motivo.

Che sbaglio? Si fa così? Sono confuso.

E più difficile di quello che pensi per stampare un numero

Puoi provare a mettere



set A, 2
set B, 7

set C, A
add C, B

add C, 0xf030
set [0x8000], C

:end
set pc, end
[/CODE]

Solo che non puoi mettere numeri che in totale siano maggiori di 10.

Quel "add C, 0xf030" serve per passare da decimale a esadecimale.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.