diff options
| -rw-r--r-- | samples/Makefile.samples | 2 | ||||
| -rw-r--r-- | samples/boucle.s | 3 | ||||
| -rw-r--r-- | samples/drawline.s | 2 | ||||
| -rw-r--r-- | samples/instructions.txt | 13 | ||||
| -rw-r--r-- | samples/p4.s | 7 | 
5 files changed, 24 insertions, 3 deletions
| diff --git a/samples/Makefile.samples b/samples/Makefile.samples index 4085bb9..a638986 100644 --- a/samples/Makefile.samples +++ b/samples/Makefile.samples @@ -10,7 +10,7 @@  	chmod 755 $@  	rm tmp.o -all: helloworld hello recherche rechcara sommeentiers testtout p4 +all: helloworld hello recherche rechcara sommeentiers testtout boucle p4 drawline  helloworld: fichier1.s fichier2.s  	../src/compilo fichier1.s fichier1.o diff --git a/samples/boucle.s b/samples/boucle.s new file mode 100644 index 0000000..d513146 --- /dev/null +++ b/samples/boucle.s @@ -0,0 +1,3 @@ +.text +.start +BOUCLE:	JMP BOUCLE diff --git a/samples/drawline.s b/samples/drawline.s index 3ab76dc..aebb3bf 100644 --- a/samples/drawline.s +++ b/samples/drawline.s @@ -27,7 +27,7 @@ Locate:		MOV,	[0xffffff04], LocateMsg1  ;DrawLinePrim1:  ; Dessine une ligne entre (R6, R7) et (R8, R9) (sous la forme (ligne, colonne)) -; +;4~  ; R10 = x, R11 = y, R12 = ddx, R13 = ddy, R14 = e diff --git a/samples/instructions.txt b/samples/instructions.txt index 6034e0d..d3a454b 100644 --- a/samples/instructions.txt +++ b/samples/instructions.txt @@ -59,15 +59,23 @@ I:DIV c2=.Pr,.I=.C;op=0x3;e=0x1  I:AND c1=.Pr,c2=.Pr,c3=.Pr;op=0x4;e=0x0  I:AND c1=.Pr,c2=.Pr,.I=.C;op=0x4;e=0x1 +I:AND c2=.Pr,c3=.Pr;op=0x4;e=0x0;c1=c2 +I:AND c2=.Pr,.I=.C;op=0x4;e=0x1;c1=c2  I:OR c1=.Pr,c2=.Pr,c3=.Pr;op=0x5;e=0x0  I:OR c1=.Pr,c2=.Pr,.I=.C;op=0x5;e=0x1 +I:OR c2=.Pr,c3=.Pr;op=0x5;e=0x0;c1=c2 +I:OR c2=.Pr,.I=.C;op=0x5;e=0x1;c1=c2  I:SHL c1=.Pr,c2=.Pr,c3=.Pr;op=0x6;e=0x0  I:SHL c1=.Pr,c2=.Pr,I=.C;op=0x6;e=0x1 +I:SHL c2=.Pr,c3=.Pr;op=0x6;e=0x0;c1=c2 +I:SHL c2=.Pr,I=.C;op=0x6;e=0x1;c1=c2  I:SHR c1=.Pr,c2=.Pr,c3=.Pr;op=0x7;e=0x0  I:SHR c1=.Pr,c2=.Pr,.I=.C;op=0x7;e=0x1 +I:SHR c2=.Pr,c3=.Pr;op=0x7;e=0x0;c1=c2 +I:SHR c2=.Pr,.I=.C;op=0x7;e=0x1;c1=c2  # Transferts @@ -109,6 +117,11 @@ I:JLE c1=.Pr,c2=.Pr,.I=.O;op=0xa;e=0x3  I:JG c2=.Pr,c1=.Pr,.I=.O;op=0xa;e=0x2  I:JGE c2=.Pr,c1=.Pr,.I=.O;op=0xa;e=0x3 +p:JNL=JGE +p:JNLE=JG +p:JNG=JLE +p:JNGE=JL +  I:JO .I=.O;op=0xa;e=0x10  I:JZ .I=.O;op=0xa;e=0x14  I:JS .I=.O;op=0xa;e=0x18 diff --git a/samples/p4.s b/samples/p4.s index 95bb76e..28340fc 100644 --- a/samples/p4.s +++ b/samples/p4.s @@ -32,7 +32,7 @@ MsgDrawJ1	DS	"|\e[31mO\e[0m"  MsgDrawJ2	DS	"|\e[34mO\e[0m"  MsgDrawWall	DS	"|\n"  MsgsDraw	DD	MsgDraw, MsgDrawJ1, MsgDrawJ2, MsgDrawWall -MsgDrawBegin	DS	"\e[2J 1 2 3 4 5 6 7\n" +MsgDrawBegin	DS	"\e[2J\e[0;0H 1 2 3 4 5 6 7\n"  MsgDrawEnd	DS	"+-+-+-+-+-+-+-+\n"  MsgEndl		DS	"\n" @@ -249,6 +249,10 @@ Has4:		PUSH	R10  		CALL	Has4V  		JNE	R12, R0, SortieHas4 +		SUB	R11, 1 +		CALL	Has4V +		JNE	R12, R0, SortieHas4 +		  		MOV	R9, R0  SortieHas4:	POP	R12  		POP	R11 @@ -305,6 +309,7 @@ BoucleJeu:	CALL	AfficheP4  		MOV	R2, 2  SautBoucleJeu:	SUB	R3, 1  		JNE	R3, R0, BoucleJeu +		CALL	AfficheP4  		MOV,	[0xffffff04], MsgEgalite  		RET  Gagne:		CALL	AfficheP4 | 
