Comme matos ARM pour l’exécuter, tablette, smartphone, et il me semble qu'il existe également des PC ARM.
Topic : « [PROG] J'ai créé un mini-OS »
>>TokamakTueur
20 ?
Ah ouais c'est vraiment réduit, je pensais partir sur du PowerPC mais je vais essayer de porter ça sur ARM
Citation de SidiNoel
Citation de ntmSinon ARM c'est du RISC et ça se trouve relativement facilement comme architecture.
Citation de SidiNoelC'est vrai qu'en x86 ça sera pas évident mais je peux essayer de porter mon OS sur une architecture RISC, y aura beaucoup moins d'instructions dessus, après ça sera la galère pour trouver où l'exécuter par contre
En fait mon but final c'est d'arriver à mettre en place toutes les instructions ASM dans le shell de mon petit OS, ça sert à rien mais c'est funTOUTES les instructions ? Tu vas t'amuser
Pour l'instant y a que mov eax et jmp
Au pire je fais que les instructions de base, mov jmp inc dec add etc
Le jeu d'instruction est vraiment réduit, pas plus de 20 pour l'ARM de base !
20 ?

Ah ouais c'est vraiment réduit, je pensais partir sur du PowerPC mais je vais essayer de porter ça sur ARM

Très peu de mnémonique et pour le reste c'est du classique (mov, etc)
eq : égal
ne : pas égal
cs/hs : plus grand ou égal (non-signé)
cc/lo : plus petit (non-signé)
hi : plus grand (non-signé)
ls : plus petit ou égal (non-signé)
mi : négatif
pl : positif ou nul
vs : overflow
vc : pas d’overflow
ge : plus grand ou égal (signé)
lt : plus petit (signé)
gt : plus grand (signé)
le : plus petit ou égal (signé)
al : toujours vrai
( https://www.root-me.org/f[...]M-architecture-assembleur
)
eq : égal
ne : pas égal
cs/hs : plus grand ou égal (non-signé)
cc/lo : plus petit (non-signé)
hi : plus grand (non-signé)
ls : plus petit ou égal (non-signé)
mi : négatif
pl : positif ou nul
vs : overflow
vc : pas d’overflow
ge : plus grand ou égal (signé)
lt : plus petit (signé)
gt : plus grand (signé)
le : plus petit ou égal (signé)
al : toujours vrai
( https://www.root-me.org/f[...]M-architecture-assembleur
>>PipBoy
J'ai commencé à apprendre la prog à 12 ans (ruby et python) puis ça a été le début d'un long cheminement durant lequel j'ai fini par apprendre le C, je me suis documenté sur comment marchait la RAM, ce que faisait réellement l'ordinateur quand il chargait ou compilait un fichier, puis logiquement après ça vient l'apprentissage de l'assembleur, et tous les concepts relatifs à la prog bas niveau. Honnêtement ça vient tout seul faut juste être passionné, tout ce que j'ai appris c'est en autodidacte et pendant mon temps libre, y a des mines d'or d'informations sur internet
Putain je comprend rien
Vous avez commencé par quoi pour savoir tout ça?
J'ai commencé à apprendre la prog à 12 ans (ruby et python) puis ça a été le début d'un long cheminement durant lequel j'ai fini par apprendre le C, je me suis documenté sur comment marchait la RAM, ce que faisait réellement l'ordinateur quand il chargait ou compilait un fichier, puis logiquement après ça vient l'apprentissage de l'assembleur, et tous les concepts relatifs à la prog bas niveau. Honnêtement ça vient tout seul faut juste être passionné, tout ce que j'ai appris c'est en autodidacte et pendant mon temps libre, y a des mines d'or d'informations sur internet

C'est beaucoup plus facile que x86 en terme d'instructions / mnémoniques mais il faut plus de taf du coup...
Tiens, cadeau :https://www.cs.purdue.edu[...]LectureNotes/arm_inst.pdf
Tiens, cadeau :https://www.cs.purdue.edu[...]LectureNotes/arm_inst.pdf
>>TokamakTueur
Surtout que les instructions ont toujours la même taille donc au lieu de faire un bête asm() on peut facilement faire en sorte de transformer les instructions en vrai machine code, ça sera plus facile à manier
J'ai codé un petit exécuteur de machine code d'ailleurs : https://gist.github.com/P[...]245b380b32f85311dcc926f3b

C'est beaucoup plus facile que x86 en terme d'instructions / mnémoniques mais il faut plus de taf du coup...
Tiens, cadeau :https://www.cs.purdue.edu[...]LectureNotes/arm_inst.pdf
Surtout que les instructions ont toujours la même taille donc au lieu de faire un bête asm() on peut facilement faire en sorte de transformer les instructions en vrai machine code, ça sera plus facile à manier
J'ai codé un petit exécuteur de machine code d'ailleurs : https://gist.github.com/P[...]245b380b32f85311dcc926f3b

go créer le risiOS
>>kerabera
C'est pas assez développé pour mériter de s'appeler comme ça malheureusement
go créer le risiOS
C'est pas assez développé pour mériter de s'appeler comme ça malheureusement

Tiens quai, si ça t'intéresse, un plan de mémoire RAM que j'ai fait avec Logisim quand j'avais 19 ans et que j'étais déscolarisé (je me faisais chier^^) :
https://pastebin.com/9Hxdn9V1
Tu sauvegardes ça avec l'extension .circ et tu l'ouvres avec Logisim
J'ai aussi fait un CPU mais j'ai jamais terminé, il manque l'unité de contrôle...
Je fais faire un topic pour ceux que ça intéressent.
https://pastebin.com/9Hxdn9V1
Tu sauvegardes ça avec l'extension .circ et tu l'ouvres avec Logisim
J'ai aussi fait un CPU mais j'ai jamais terminé, il manque l'unité de contrôle...
Je fais faire un topic pour ceux que ça intéressent.
>>TokamakTueur
Je verrais ça khey, GG pour le boulot
Je connais pas Logisim par contre
Tiens quai, si ça t'intéresse, un plan de mémoire RAM que j'ai fait avec Logisim quand j'avais 19 ans et que j'étais déscolarisé (je me faisais chier^^) :
https://pastebin.com/9Hxdn9V1
Tu sauvegardes ça avec l'extension .circ et tu l'ouvres avec Logisim
J'ai aussi fait un CPU mais j'ai jamais terminé, il manque l'unité de contrôle...
Je verrais ça khey, GG pour le boulot

Je connais pas Logisim par contre
>>SidiNoel
Une VM ARM et t'es bon
Citation de ntm
Citation de SidiNoelC'est vrai qu'en x86 ça sera pas évident mais je peux essayer de porter mon OS sur une architecture RISC, y aura beaucoup moins d'instructions dessus, après ça sera la galère pour trouver où l'exécuter par contre
En fait mon but final c'est d'arriver à mettre en place toutes les instructions ASM dans le shell de mon petit OS, ça sert à rien mais c'est funTOUTES les instructions ? Tu vas t'amuser
Pour l'instant y a que mov eax et jmp
Au pire je fais que les instructions de base, mov jmp inc dec add etc
Une VM ARM et t'es bon
>>ntm
Après j'ai aucune idée de comment m'y prendre pour faire un OS là dessus, je pense que je vais être obligé de coder un bootloader (y a pas de grub sur ARM si?)
Citation de SidiNoel
Citation de ntmUne VM ARM et t'es bon
Citation de SidiNoelC'est vrai qu'en x86 ça sera pas évident mais je peux essayer de porter mon OS sur une architecture RISC, y aura beaucoup moins d'instructions dessus, après ça sera la galère pour trouver où l'exécuter par contre
En fait mon but final c'est d'arriver à mettre en place toutes les instructions ASM dans le shell de mon petit OS, ça sert à rien mais c'est funTOUTES les instructions ? Tu vas t'amuser
Pour l'instant y a que mov eax et jmp
Au pire je fais que les instructions de base, mov jmp inc dec add etc
Après j'ai aucune idée de comment m'y prendre pour faire un OS là dessus, je pense que je vais être obligé de coder un bootloader (y a pas de grub sur ARM si?)
Grub existe sur ARM à condition qu'il y ait le support UEFI.
Sont rares les sujets aussi intéressants ici.
>>TokamakTueur
QEMU pourra booter sur mon hypothétique port ARM du coup?
Grub existe sur ARM à condition qu'il y ait le support UEFI.
QEMU pourra booter sur mon hypothétique port ARM du coup?

Ce serait bien que des kheys m'aident un peu 
Par exemple là je sais pas trop où commencer pour l'ARM

Par exemple là je sais pas trop où commencer pour l'ARM



