2580

Erf, OK, content que tout aille bien cheeky

2581

pencil, ça confirme que Folco, c'est une marque de matos professionnel à toute épreuve top

(dommage que ça ne soit pas une IRM cérébrale, je me demande si on aurait vu le 68k qu'il y a dans ta tête ?)
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

2582

(Ah oué pas con, demain je vais essayer de m'atomiser le crâne pour vérifier ton assertion grin)

2583

Content que tu t'en sois tiré Folco.
avatar
"- Nigga you know what the fuck I want, nigga: I want your motherfuckin' Daytons, and your motherfuckin' stereo! And I'll take a double burger with cheese!
- WHUT?"
I LOVE TO HATE/I HATE YOUR LOVE -AND I CAN'T FEEL AFFECTION FOR PEOPLE LIKE YOU!
CAALGOOONNNNN [TELLMESOMETHINGIDONTKNOW SHOWMESOMETHINGICANTUSE PUSHTHEBUTTONS CONNECTTHEGODDAMNDOTS] (Si Dieu existe il doit me détester...)

2584

epee
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

2585

^2
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

2586

Ayé, c'est plus transparent : la fonction s'occupe toute seule de gérer la récursivité des macros, c'est plus à l'appelant de se rendre compte qu'il retombe sur un argument de macro après avoir déjà demandé une "substitution".
Et les arguments \0 sont bien gérés, j'avais mal compris leur fonctionnement. D'ailleurs, ça a dû être ajouté après ce truc, parce que c'est assez bancale : on pouvaoit déjà passer des tailles en argument...
Ah, et les chaines de caractères argument sont maintenant échappées, des fois qu'on croit pas qu'une virgule au milieu soit un séparateur d'argument
macros
;===============================================================================
;
;	MacroArgBegin
;
;	Begin the parsing of a macro argument, by adding the file of the argument
;	in the files list
;
;	in	a2	Point to "\xxx"
;		a5	FILE*
;
;	out	a2 updated. Org a2 will point after the arg replaced
;		updated a5
;
;	destroy	std + sp is modified
;
;	TODO: when parsing args, strings are not escaped, but they should be
;
;===============================================================================

MacroArgBegin:

	move.w	MACRO_ARG_REF_COUNT(fp),d2	; Counter (dbf) to find the FILE which contains the arg
	addq.w	#1,MACRO_ARG_REF_COUNT(fp)	; Update arg counter
	cmp.w	MACRO_REF_COUNT(fp),d2
	beq	ErrorInvalidOutOfMacro		; We are sure to avoid an underflow when browsing the files list

	;----------------------------------------------------------------------
	;	Get the rank of the arg to replace
	;----------------------------------------------------------------------

	addq.l	#1,a2				; Skip \
	movea.l	a2,a0
	bsr	ReadIntBase10			; Get #arg in d0
	tst.b	d1
	bne	ErrorInvalidMacroArg		; Overflow or NAN

	move.l	d0,d1				; Save arg rank
	movea.l	a0,a2				; Move the cursor after the macro arg
	bsr	SaveCursor			; Save current FILE state

	;----------------------------------------------------------------------
	;	Get the file which contains the macro arguments
	;	This is the file which is before the Macro file
	;	It can be any previous file of the list
	;----------------------------------------------------------------------

	movea.l	a5,a0
\Loop:	cmpi.w	#FILE.Type.Macro,FILE.Type(a0)
	beq.s	\Macro
		addq.w	#1,d2
\Macro:	movea.l	FILE.Parent(a0),a0
	dbf.w	d2,\Loop

	;----------------------------------------------------------------------
	;	Add the file to the list and initialize it
	;----------------------------------------------------------------------

	movea.l	(sp)+,a1				; Save return value
	lea	-FILE.sizeof(sp),sp			; Create FILE
	pea	(a1)					; Restore return value
	move.l	sp,FILE.Child(a5)			; Save child in parent
	move.l	a5,FILE.Parent(sp)			; Save parent in child
	movea.l	sp,a5					; Set new current FILE
	move.w	FILE.Handle(a0),FILE.Handle(a5)		; Create a copy of the file which contains the macro args
	move.w	FILE.CursorOffset(a0),FILE.CursorOffset(a5)
	move.w	FILE.NumLine(a0),FILE.NumLine(a5)
	move.w	#FILE.Type.MacroArg,FILE.Type(a5)
	clr.l	FILE.Child(a5)

	;----------------------------------------------------------------------
	;	Special case: \0
	;----------------------------------------------------------------------

	bsr	RestoreCursor

	tst.w	d1
	bne.s	\Not0

	cmpi.b	#'.',(a2)+
	bne	ErrorInvalidMacroArg
	bra.s	\End					; Size could be another macro argument

	;----------------------------------------------------------------------
	;	If the macro call has a size, a2 points to the dot. Then we can find another macro arg (\xxx) or a size
	;	If there is not size, a2 point to the first char after the macro: we have just to skip blanks
	;----------------------------------------------------------------------

\Not0:	movea.l	a2,a0
	cmpi.b	#'.',(a0)+
	bne.s	\SkipSpaces

	;----------------------------------------------------------------------
	;	We must skip a macro arg or a size
	;----------------------------------------------------------------------

	cmpi.b	#'\',(a0)+
	bne.s	\SkipSpaces				; This is a size, we know that it is valid, skip it then skip spaces

		bsr	ReadIntBase10			; We know that this int is valid, just skip it

\SkipSpaces:
	jsr	SKIP_SPACES(fp)
	movea.l	a0,a2

	;----------------------------------------------------------------------
	;	Find the right argument
	;	To get the next argument, we skip chars until a comma, but some chars are forbidden
	;----------------------------------------------------------------------

\SkipArgLoop:
	subq.w	#1,d1
	beq.s	\End
\NextChar:
	move.b	(a2)+,d0
	beq	ErrorInvalidMacroArg
	IF_D0	',',\SkipArgLoop			; Args are separated with a comma
	IF_D0	EOL,ErrorInvalidMacroArg
	IF_D0	HTAB,ErrorInvalidMacroArg
	IF_D0	SPACE,ErrorInvalidMacroArg
	IF_D0	ASM_COMMENT_CHAR,ErrorInvalidMacroArg
	IF_D0	'"',\SkipString
	IF_D0	DOUBLE_QUOTE,\SkipString
	bra.s	\NextChar

\SkipString:
	lea	-1(a2),a0				; Point to the simple or double quote
	bsr	SkipString
	move.l	a0,d0
	beq	ErrorInvalidMacroArg
	movea.l	a0,a2
	bra.s	\NextChar

\End:	cmpi.b	#'\',(a2)
	beq	MacroArgBegin				; Replacement data is also a macro argument, so start again the procedure
	rts


;===============================================================================
;
;	MacroArgEnd
;
;	Called when the parsing of a macro argument is terminated
;	Can be called even if we are not parsing a macro argument
;	Remove all levels of recursion
;
;	in	nothing
;
;	out	updated a5 and a2
;
;	destroy	a0. sp is modified
;
;===============================================================================

MacroArgEnd:

	movea.l	(sp)+,a0
\Loop:	tst.w	MACRO_ARG_REF_COUNT(fp)
	beq.s	\End

		subq.w	#1,MACRO_ARG_REF_COUNT(fp)
		movea.l	FILE.Parent(a5),a5			; Drop current FILE
		lea	FILE.sizeof(sp),sp
		bra.s	\Loop

\End	pea	(a0)
	bra	RestoreCursor

2587

avatar
"- Nigga you know what the fuck I want, nigga: I want your motherfuckin' Daytons, and your motherfuckin' stereo! And I'll take a double burger with cheese!
- WHUT?"
I LOVE TO HATE/I HATE YOUR LOVE -AND I CAN'T FEEL AFFECTION FOR PEOPLE LIKE YOU!
CAALGOOONNNNN [TELLMESOMETHINGIDONTKNOW SHOWMESOMETHINGICANTUSE PUSHTHEBUTTONS CONNECTTHEGODDAMNDOTS] (Si Dieu existe il doit me détester...)

2588

hihi ^^

2589

Bon j'ai 500 slides de cours à me faire dans la nuit pour l'avant dernier exam de ma scolarité.

Et j'ai pas envie de les lire :/

La fin c'est dur quand même. tongue

2590

J'ai déjà fait ça, à la fin c'est un slide par seconde, ça se fait bien trioui
(Bon courage top)

2591

Pen^2 (./1776) :
=> http://fr.wikipedia.org/wiki/%C3%89dith_Cresson tripo

t1 quel pedigree celle-là, fille d'inspecteur des finances, dirigeante de banques de dépôts, bosse pour schneider, occupe tous les postes de ministres possibles et j'en passe, tiens tiens tiens...

2592

Putain un de mes disque de mon NAS est passe de 5 secteurs realloué en octobre a 59 il y a quelque jours :/
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.

2593

C'est l'inflation, tout augmente.
avatar
"- Nigga you know what the fuck I want, nigga: I want your motherfuckin' Daytons, and your motherfuckin' stereo! And I'll take a double burger with cheese!
- WHUT?"
I LOVE TO HATE/I HATE YOUR LOVE -AND I CAN'T FEEL AFFECTION FOR PEOPLE LIKE YOU!
CAALGOOONNNNN [TELLMESOMETHINGIDONTKNOW SHOWMESOMETHINGICANTUSE PUSHTHEBUTTONS CONNECTTHEGODDAMNDOTS] (Si Dieu existe il doit me détester...)

2594

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.

2595

Donnez une arme à un homme et il pourra voler une banque
Donnez une banque à un homme et il pourra voler l'humanité !
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

2596

Ouais enfin, il coûte pas si cher l'Huma embarrassed

2597

#badumtsss#
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

2598

./2596 > Donc par transitivité, donnez un flingue à un homme et il volera l'humanité ?
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

2599

Oui c'est ce qui c'est passe avec l'autre dingue qui etait aller dans des journeaux avec une arme
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.

2600

GoldenCrystal (./2598) :
./2596 > Donc par transitivité, donnez un flingue à un homme et il volera l'humanité ?

Ben ouais, si t'as pas de thunes pour t'acheter le journal et que tu es pourtant un lecteur assidu sad

dehors

2601

^^

2602

Bonne résolution de l'année en cours: perdre 5 kg.

Courage, plus que 7.
avatar
Spartine, la fille que ce soir elle dîne en enfer: http://www.spartine.com

Pockett Videogames, le site de toutes les consoles portables!: http://www.pockett.net

J'aime beaucoup faire des dessins aux petites filles! C'est ma passion.

2603

2604

grin

2605

grin

2606

(d'autant plus que t'as pas besoin de perdre de kilos du tout 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

2607

C'est une question de point de vue. Ce que je vois, c'est que tu as perdu -2kg, bel effort.
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

2608

Encodage des méthodes d'adressage dn, an, (an)+, -(an), sr, ccr, usp terminé.

2609

purée, 2 jours au lab à poncer le sol au disque diamanté dans la poussière rose. J'ai décapé plus de 25 m^2 de béton imbibé d'encre rose à moi tout seul. Flemme de poster la photo ce soir zzz
Heureusement qu'on a des outils Protool (encore de la récup de fin de stock) qui tiennent le rythme.

pendant ce temps des gars ont récupéré 8 chiottes, des portes, et des mètres de gros câble dans un squat qui sera démoli dans 1 semaine, c'est avec ce genre d'astuce qu'on s'en sort grin

2610

Astuce ? j'appelle ça du recyclage, c'est un geste citoyen oui
avatar
« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique