Langage assembleur, cheat code pour Chess |
Bienvenue invité ( Connexion | Inscription )
Langage assembleur, cheat code pour Chess |
8 Jan 2019, 21:08
Message
#1
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Bonjour ,
Ce mac book que j'attendais est enfin arrivé aussi Chess me plait bien mais un générateur de cheat code en assembleur serait top. Avec quel assembleur est-il possible de programmer sur Mac Os? Trouthie |
|
|
8 Jan 2019, 22:31
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
nasm s'installe avec homebrew par exemple https://formulae.brew.sh/formula/nasm
-------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
9 Jan 2019, 10:54
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Bienvenue Trouthie,
Pour éviter de "polluer" la machine de tous les jours avec des bibliothèques utilisées une fois puis oubliées, il peut parfois être bon de considérer Docker. (une possibilité, pas une obligation). Dans mes investigations récentes, j'ai eu besoin d'utiliser un script Python dont les prérequis étaient très différents de la version macOS installée. A partir d'une image Docker encapsulant la version qui allait bien, j'ai pu utiliser le script sans difficulté et sans déstabiliser mon macOS. @+JP |
|
|
9 Jan 2019, 13:21
Message
#4
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
nasm s'installe avec homebrew par exemple https://formulae.brew.sh/formula/nasm Ok! C'est sympa, merci! Je vais voir, les similitudes sont énormes je pense car Intel oblige, plus rien à voir avec l'époque des Apples équipés de Motorola... Développez-vous avec l'assembleur? A plus. Trouthie |
|
|
9 Jan 2019, 14:07
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 031 Inscrit : 27 Apr 2004 Membre no 18 176 |
Juste par curiosité :
Qu'est-ce qu'un générateur de cheat code pour un jeu d'échec ? Pourquoi de l'assembleur pour une application dont le code source est public et sous licence libre ? (https://opensource.apple.com/source/Chess/Chess-318/Sources/) -------------------- Membre du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste
Futur ex-macbidouilleur, sous Dell / Ubuntu depuis 2021 ! |
|
|
9 Jan 2019, 14:56
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Modérateurs Messages : 19 567 Inscrit : 22 Jul 2004 Lieu : Louvain-la-Neuve (Gaule Gelbique) Membre no 21 291 |
Juste par curiosité : Qu'est-ce qu'un générateur de cheat code pour un jeu d'échec ? Je suppose que c'est pour gagner des pièces supplémentaires… -------------------- ¶ MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS 12.6 “Monterey” ¶ MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8 ¶ Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C ¶ B-Box 3 + HP LaserJet 4000 N
¶ La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même. … Les corsaires mettent en berne… |
|
|
9 Jan 2019, 16:04
Message
#7
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Le C H E A T C O D E, il a deux fonctions principales, la première d'introduire un sujet de conversation dans le forum et ainsi d'échanger des informations avec des développeurs le cas échéants de prendre des contacts pour bosser en groupe sur un ou plusieurs projets, la deuxième fonction lorsqu'il est correctement programmé est de vous afficher un message codé sur votre écran qui n'a rien de dévastateur rassurez-vous, une fois lu il provoquera chez le joueur des effets semblables aux ptits éléphants roses qui se promènent dans la tête de celui-ci et de la sorte lui fera oublier la branlée qu'il se prend à Chess! Fonction cachée voir le Dark net peut-être...
Je n'ai plus de chocolats ici! Trouthie Juste par curiosité : Qu'est-ce qu'un générateur de cheat code pour un jeu d'échec ? Je suppose que c'est pour gagner des pièces supplémentaires… Pour les pièces supplémentaires c'est bien vu mais je crois qu'elles se négocient en AppleCoin, non? |
|
|
9 Jan 2019, 20:29
Message
#8
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Bienvenue Trouthie, Pour éviter de "polluer" la machine de tous les jours avec des bibliothèques utilisées une fois puis oubliées, il peut parfois être bon de considérer Docker. (une possibilité, pas une obligation). Dans mes investigations récentes, j'ai eu besoin d'utiliser un script Python dont les prérequis étaient très différents de la version macOS installée. A partir d'une image Docker encapsulant la version qui allait bien, j'ai pu utiliser le script sans difficulté et sans déstabiliser mon macOS. @+JP Bonsoir, Docker j´ai lu qqchose dessus, je le télécharge l´ínstalle et vois ce que je peux faire avec. Merci. A +. |
|
|
12 Jan 2019, 10:37
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Il existe une image Docker:
https://github.com/vladfau/nasm32 Pour l'utiliser, il faut : - Un compte (gratuit) sur Docker Hub qui est un repo d'images - docker pull vladfau/nasm32 - docker run -it vladfau/nasm32 bash exemples dans /usr/share/doc/examples/nasm Il faut environ 15 minutes départ-arrêté entre démarrer docker et essayer la commande nasm. Code root@e8ae58fc3611:~# nasm -f elf ./lnxhello.asm root@e8ae58fc3611:~# ld -m elf_i386 -o hello lnxhello.o root@e8ae58fc3611:~# chmod +x ./hello root@e8ae58fc3611:~# ./hello Hello, World! Pour interagir avec des fichiers sur le mac, il faut "mapper" un répertoire du mac avec un chemin existant dans l'image, par exemple /home existe mais est vide et la syntaxe est: Code docker run ... -v /Users/moi/mon répertoire de bidouille:/home ... comme : docker run -it -v/Users/jaypee/workspaces/Nasm:/home --entrypoint=nasm vladfau/nasm32 -f macho -o /home/hello.o /home/helloWorld.asm Cela dit, je n'ai pas trouvé les bonnes options pour cross-compiler pour le Mac. @+ JP Ce message a été modifié par Jaypee - 12 Jan 2019, 13:44. |
|
|
13 Jan 2019, 20:29
Message
#10
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Bonsoir, actuellement un sigle docker dans la barre du finder me dit que je suis loggé sur le Docker Hub, la page nasm32 de Vladfau est bien présente mais ensuite...? Le core I7 du mac book ne pourra pas accepter de mover un qword dans rax non?
|
|
|
13 Jan 2019, 21:03
Message
#11
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Je me demandais justement si Masm était disponible avec Visual Studio 2017 Mac?
|
|
|
14 Jan 2019, 10:35
Message
#12
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Bonsoir, actuellement un sigle docker dans la barre du finder me dit que je suis loggé sur le Docker Hub, la page nasm32 de Vladfau est bien présente mais ensuite...? ... suivre les instructions du cadre à droite: git pull vladfau/nasm32 puis git run -it vladfau/nasm32 bash comme dans ma réponse. Citation Le core I7 du mac book ne pourra pas accepter de mover un qword dans rax non? L'assembleur dispose de directives d'assemblage, des instructions avent le début du code pour définir le contexte, il existe une directive CPU https://www.nasm.us/doc/nasmdoc6.htmlOn retrouve certaine des directives dans les options comme le -f macho32 ou -f macho64 Apparemment, la documentation de NASM a des chapitre vide pour ces formats MACH-O pour Mac. Soit ils ne sont pas encore supportés, soit les détails sont encore dans la tête des concepteurs. Note que les exemples de codes sur Développez.com ne sont pas des code génériques, mais des codes liés à MS-DOS (même pas Windows) basés sur l'interruption n°21 qui sur un IBM PC de 1981, permettait d'appeler l'OS, après avoir chargé un numéro de fonction dans le registre ah (la bible pour ce type de code était le Livre du MS/PC-DOS de F.Piette dans les années 80) Au final, il faudra bien comprendre comment le code produit sera utilisé, Quelques réponses dans ce poste sur StackOverflow: https://stackoverflow.com/questions/5256361...tion-using-cmak @+JP Ce message a été modifié par Jaypee - 14 Jan 2019, 10:47. |
|
|
14 Jan 2019, 20:36
Message
#13
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Je vais suivre précisément toutes vos indications, ce n'est pas simple de passer sur Mac après 30 années passés sur Pc...ah ah les livres des années 80-90 comme PSI des mines d'or! Mon impression est que la programmation est rendue compliquée de nos jours, bref du rétro pédalage en quelque sorte! Voir ce lien : https://flatassembler.net/download.php
Ce message a été modifié par baron - 14 Jan 2019, 23:48.
Raison de l'édition : Correction des balises
|
|
|
14 Jan 2019, 21:32
Message
#14
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Il existe une image Docker: https://github.com/vladfau/nasm32 Pour l'utiliser, il faut : - Un compte (gratuit) sur Docker Hub qui est un repo d'images - docker pull vladfau/nasm32 - docker run -it vladfau/nasm32 bash exemples dans /usr/share/doc/examples/nasm les deux commandes ont été exécutées dans terminal par contre il est impossible de trouver le répertoire examples et encore moins de le créer! |
|
|
16 Jan 2019, 09:24
Message
#15
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
oui, j'ai interverti deux niveaux de répertoires, désolé :
Code root@4ec88d7655c0:/# ls -l /usr/share/doc/nasm/examples total 592 -rw-r--r-- 1 root root 144 May 24 2012 _file_.asm -rw-r--r-- 1 root root 84 May 24 2012 _version.asm -rw-r--r-- 1 root root 273 May 24 2012 a32offs.asm -rw-r--r-- 1 root root 336 May 24 2012 absolute.asm .... Idem pour fasm, il existe une image docker : https://hub.docker.com/r/guitmz/fasm/ Bonne bidouille ! J-P PS: Deux commandes de remise à zéro des données docker : plus d'images, ni de process qui tournent, plus d'image en cache, retour à l'état "juste après l'install", avant d'arrêter le service (l'icône de la baleine): 1. docker rm -f $(docker ps -aq) 2. docker rmi -f $(docker images -aq) Ce message a été modifié par Jaypee - 16 Jan 2019, 09:54. |
|
|
16 Jan 2019, 23:26
Message
#16
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Il existe une image Docker: https://github.com/vladfau/nasm32 Pour l'utiliser, il faut : - Un compte (gratuit) sur Docker Hub qui est un repo d'images - docker pull vladfau/nasm32 - docker run -it vladfau/nasm32 bash exemples dans /usr/share/doc/examples/nasm <= /usr/share/doc/nasm/examples : ok pour les répertoires Il faut environ 15 minutes départ-arrêté entre démarrer docker et essayer la commande nasm. Code root@e8ae58fc3611:~# nasm -f elf ./lnxhello.asm root@e8ae58fc3611:~# ld -m elf_i386 -o hello lnxhello.o root@e8ae58fc3611:~# chmod +x ./hello root@e8ae58fc3611:~# ./hello Hello, World! Pour interagir avec des fichiers sur le mac, il faut "mapper" un répertoire du mac avec un chemin existant dans l'image, par exemple /home existe mais est vide et la syntaxe est: Code docker run ... -v /Users/moi/mon répertoire de bidouille:/home ... comme : docker run -it -v/Users/jaypee/workspaces/Nasm:/home --entrypoint=nasm vladfau/nasm32 -f macho -o /home/hello.o /home/helloWorld.asm Cela dit, je n'ai pas trouvé les bonnes options pour cross-compiler pour le Mac. @+ JP root@e8ae58fc3611:~# nasm -f elf ./lnxhello.asm <= nasm: fatal: unable to open input file `./lnxhello.asm Pour le mappage avec des répertoires personalisés il me retourne une erreur! le fichier hello.asm doit se trouver dans quel répertoire en fait? Désolé pour le temps passé la-dessus. J suis un boulet... |
|
|
17 Jan 2019, 11:35
Message
#17
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
je ne suis pas encore familiarisé avec Terminal, l'époque du shell de cet Amiga 3000 remonte maintenant à une trentaine d'années...vive unix!
Voilà ce que j'obtiens: Code Admins-Air:~ admin$ docker run -it -v/Users/admin/RepBidouilles/Nasm:/home --entrypoint=nasm vladfau/nasm32 -f macho -o /home/hello.o /home/helloWorld.asm nasm: fatal: unable to open input file `/home/helloWorld.asm' Je pense que le fichier helloWorld.asm n'est pas dans le répertoire souhaité! Mais comment l'y mettre? à plus, Trouhie |
|
|
17 Jan 2019, 12:52
Message
#18
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
On fait un pas en arrière et on admire le tableau
- L'objectif c'est d'assembler des fichiers sources qui existent sur le mac - On ne veut pas polluer le mac avec les dépendances requises par un outil spécifique, donc on utilise une image Docker qui tourne dans un process isolé appelé container. Donc le besoin est de permettre à ce process d'accéder aux fichiers du mac. Heureusement il existe une option du démarrage du container qui permet ça. Et il se trouve que l'image a été définie avec un répertoire vide /home. Donc, imaginons que tu travailles dans un répertoire /Users/admin/RepBidouilles/Nasm, grâce à cette option de démarrage, ce répertoire du mac va être associée à /home dans l'image. Donc ce sera le répertoire partagé entre le mac et le container. 1. On va récupérer le fichier lnxhello.asm. On démarre le container simplement avec l'option -v qui partage le dossier, et on invoque "bash" pour avoir un shell, qui nécessite l'option -i et -t ou -it. Code docker run -it -v /Users/admin/RepBidouilles/Nasm:/home vladfau/nasm32 bash # maintenant on est dans le shell du container cp /usr/share/doc/nasm/examples/lnxhello.asm /home/helloWorld.asm ==> on copie et on renomme le source de l'exemple dans le dossier partagé ctrl-D ==> pour quitter 2. On examine que le fichier est bien disponible sur le mac dans le répertoire de bidouille : Code cd /Users/admin/RepBidouilles/Nasm ls -l ./helloWorld.asm 3. On est prêt à appliquer la recette Là on a vu comment sortir un fichier source du container pour le rendre visible sur le mac. A l'inverse, si tu crées un nouveau source .asm dans ton répertoire sur mac, l'assembleur qui tourne dans le container le verra comme un des fichiers de son /home J-P Ce message a été modifié par Jaypee - 17 Jan 2019, 13:15. |
|
|
17 Jan 2019, 14:20
Message
#19
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
C'est pédagogique!
Voualà à quel stade de la recette j'en suis: Code Admins-Air:Nasm admin$ cd /Users/admin/RepBidouilles/Nasm Admins-Air:Nasm admin$ ls -l total 32 -rw-r--r-- 1 admin staff 972 17 Jan 12:54 helloWorld.asm -rw-r--r--@ 1 admin staff 9087 17 Jan 11:12 helloworld.asm.rtf Admins-Air:Nasm admin$ nasm -f elf ./helloWorld.asm nasm: error: unable to find utility "nasm", not a developer tool or in PATH Une recette mouuuai... Code Admins-Air:Nasm admin$ docker run -it -v /Users/admin/RepBidouilles/Nasm:/home vladfau/nasm32 bash root@689b5c1e9a57:/# nasm -f elf ./helloWorld.asm nasm: fatal: unable to open input file `./helloWorld.asm' Je pensais que deux shell ouverts cela était possible! Pour la recette ici son nom se laisse presque deviner... en 5 lettres: L.... |
|
|
17 Jan 2019, 16:39
Message
#20
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
Bonne nouvelle, c'est tout bon!
Code root@ed2aac7c2b4d:/# exit Admins-MacBook-Air:Nasm admin$ docker run -it -v /Users/admin/RepBidouilles/Nasm:/home vladfau/nasm32 bash root@480da47c4874:/# cd /Users/admin/RepBidouilles/Nasm bash: cd: /Users/admin/RepBidouilles/Nasm: No such file or directory root@480da47c4874:/# ls bin boot dev etc home lib lib32 lib64 media mnt opt proc root run sbin selinux srv sys tmp usr var root@480da47c4874:/# cd .. root@480da47c4874:/# cd .. root@480da47c4874:/# ls bin boot dev etc home lib lib32 lib64 media mnt opt proc root run sbin selinux srv sys tmp usr var root@480da47c4874:/# cd /home/ root@480da47c4874:/home# ls helloWorld.asm helloworld.asm.rtf root@480da47c4874:/home# nasm -f elf ./lnxhello.asm nasm: fatal: unable to open input file `./lnxhello.asm' root@480da47c4874:/home# nasm -f elf ./helloWorld.asm root@480da47c4874:/home# ld -m elf_i386 -o hello helloWorld.o root@480da47c4874:/home# chmod +x ./hello root@480da47c4874:/home# ./hello Hello, World! root@480da47c4874:/home# La recette dans le bon récipient! Pour la L..... à voir! A plus et merci. Trouthie |
|
|
17 Jan 2019, 20:29
Message
#21
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Bravo ! Je garderai un œil sur cette discussion au cas où tu aurais d'autres questions.
@+JP |
|
|
18 Jan 2019, 08:33
Message
#22
|
|
Adepte de Macbidouille Groupe : Membres Messages : 66 Inscrit : 26 Oct 2017 Membre no 203 568 |
|
|
|
Nous sommes le : 23rd September 2024 - 20:37 |