2370

heu ben non, pour les sauts relatifs définis dans le même fichier...

xdef trululu
trululu:
  badabum.b %d0
huhu:
  test.w chose
  jne huhu(%pc)
  pwic
  rts

chose fait une reloc, mais huhu, y'a pas besoin.
(tu vois l'idée...)

2371

Ouep, mais pour le savoir, faut faire une grande partie du boulot du linker, c'est à dire :
- chercher le symbole
- vérifier que c'est pas un local avec un global intercalé au milieu
- vérifier qu'on est dans la même section
- vérifier qu'il ne va pas y avoir de saut dont on connait pas encore la taille entre les deux, ce qui en plus de rendre impossible le calcul de ton offset, pourrais affecter ton opcode-même en passant d'un bcc court à un long
- j'en oublie probablement

Bref, faire faire ça à l'assembleur, déjà ça va échouer 90% du temps sans pour autant être invalide, et donc tu vas exporter le symbole et l'adressage, ensuite ça revient à écrire une très bonne partie du linker dans l'assembleur.
Donc exporter tous les adressages sans les résoudres, et les laisser pour le linker est de loin la solution la plus aisée.

Et dans ton cas, "jne", ça signifie "bne si possible, sinon on insère une macro beq / jmp à la place". Encore plus jouissif cheeky

2372

c'est une bonne idée le design que tu décris là, j'y penserai si j'en ai besoin cheeky

sinon, tu penses qu'on peut écrire un assembleur pour une plate-forme quelconque grâce à une table de description des instructions, sans tomber dans les abomifrosités de gnu as?

2373

Je me posais la question hier. Très dur d'y répondre à mon niveau, je ne pense pas, vu qu'en assembleur, il n'y a pas de notion d'abstraction qu'on trouve dans tout autre langage. Faire ça de manière générique, ie sans connaitre les instructions auxquelles on va pouvoir prétendre sur les machines cibles, ça me semble pas possible. A moins qu'on arrive à décrire ce que peuvent faire tous les procs de manière élémentaire (lire un bit, le tester, l'écrire, etc...). Ca me parait quand même usinagazesque grin

2374

squalyl (./2372) :
c'est une bonne idée le design que tu décris là, j'y penserai si j'en ai besoin mod.gif

Mon assembleur avance en ce moment, c'est pour ça que j'ai pu te répondre grin

2375

squalyl (./2372) :
sinon, tu penses qu'on peut écrire un assembleur pour une plate-forme quelconque grâce à une table de description des instructions
http://www.google.com/search?q=table-based+assembler
squalyl (./2372) :
sans tomber dans les abomifrosités de gnu as?
...alors ça par contre, c'est une question ouverte tongue
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

2376

putain de merde, on peut et ça a déja été fait.

http://www.penguin.cz/~niki/tdasm/zilogz80.tbl

je considère ça comme lisible. Plus que gas ou qu'un backend llvm, en tout cas.

2377

Ya les assembleurs de ACK (Amsterdam Toolkit) qui sont table based
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2378

ah ouais.

purée ça fait TREIZE ANS qu'on est sur yaronet. O_o

2379

Et meme un peu plus si tu etait sur le forum ti de rob avant ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2380

j'avoue que j'ai un peu oublié. Je crois que je lurkais, mais je m'étais pas encore fait de profil.

2381

Au prix où je paye le Flunch, la moindre des choses quand on entre dans une salle tout juste ouverte, c'est de trouver des tables propres et où le ménage a été fait.

BfOXeVqIIAAxtbk.jpg:large

Y'a un manager de restaurant bouillon Flunch qui va passer une sale journée demain.

2382

?

2383

squalyl (./2370) :
heu ben non, pour les sauts relatifs définis dans le même fichier...

xdef trululu
trululu:
  badabum.b %d0
huhu:
  test.w chose
  jne huhu(%pc)
  pwic
  rts

chose fait une reloc, mais huhu, y'a pas besoin.
(tu vois l'idée...)

En pratique ce n'est pas si simple, là tu peux mais en admettant que ton badabum.b référence un symbole externe, tu ne peux pas prédire la taille finale de l'instruction générée, donc tu ne peux pas générer de code valide sans passer par du linking. Donc en pratique c'est très difficile. Cela dit on peut générer toujours les instructions les plus inefficaces et grosses quand on ne sait pas quoi faire, et pas avoir ce souci. ^^
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

2384

./2382 > Le manager du Flunch venait tout juste d'ouvrir ce coin de salle, sauf qu'entre les tables tachées de vin, les chaussettes sales par terre, les bouts de bouffe au pied des tables, et même du pognon par terre, ça commence à faire beaucoup au niveau hygiène.

Sauf si le sujet du topic ne prête pas à ce genre de posts, auquel cas my bad sorry

2385

Bref, comme dans un RER J, le ménage n'est pas passé. (quoique non, dans le J, il ne passe JAMAIS)

2386

YN> C'est juste qu'à part un truc blanc par terre je ne vois rien sur ta photo. Et si c'est comme tu le décris, t'as qu'à râler en personne.

2387

2388

Tu paries bien grin

2389

Brunni ./2383 -> ./2371 ? cheeky

2390

squalyl (./2363) :
un parseur plus une table de symboles et un expandeur de macros embarrassed

T'es pas obligé d'expand les macros. Une macro, c'est un fichier source inclus, qui commence à la déclaration de la macro, et qui se termine à la directive endm (et non à EOF).

2391

et la substitution des paramètres, heing!

2392

Oui, quand tu tombes sur un \x, tu lis l'argument correspondant dans le fichier origine. Note que tu peux à nouveau ouvrir le fichier d'origine en tant que source inclus, commençant au début de l'argument, et se terminant à la fin. Comme pour une macro, on reste dans le même contexte objet et le même contexte de parsing, donc ça ne pose pas de problème. On peut même imbriquer les macros comme ça (genre une macro qui prend en argument un paramètre de la macro dans laquelle elle est appelée), suffit d'avoir un compteur de macro pour savoir si la substitution est légale.

2393

Rha suffit de faire des macro automodifiante et recursive tout simplement embarrassed
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

2394

trilovegrin

2395

2396

On a parlé du nouvel an chinois ce midi, et je viens d'apprendre mon "signe" :
金 Metal 猴 singe
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

2397

Oui, mais c'est un peu plus compliqué aussi. Ta carte astrologique dépend de la date exacte, et de l'heure où tu es né. En fait les signes s'imbriquent comme des poupées russes, ce qui fait que le nombre de combinaisons est gigantesque. Pratique pour l'astrologue qui va pouvoir piocher comme il l'entend parmi les différentes caractéristiques.

2398

Et toi Melbou, c'est quoi ton signe ? Kangourou ?
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

2399

Quelque chose qui me rend complètement trifus sous Eclipse :

RkDI

Or, la compilation se fait sans problème, du coup, je comprends vraiment pas pourquoi il me met un syntax error trifus

[précision] : si je mets les instructions entre {}, la syntax error disparaît trifus²

2400

Tiens, marrant en effet.
avatar