1

voila j'ai un programme en C pour PC et je veux faire une fonctions permettant de changer de mode graphique j'ai:
void setmode(unsigned int mode)
{
  asm(
  "MOV AX, mode"
  "INT 0x10"
  );
}

mais ca fait:
Error: Too many memory references for MOV
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

2

* tu utilises quel compilo ?
* il faut utiliser "WORD mode" (entier 16 bits) et pas "uint mode" (entier 32 bits, en tout cas sous Win32 -- je doute que tu programmes pour Win 3.1 ou DOS 16 bits embarrassed)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

3

Déjà c'est certainement pas du Win32 vu la fonction. ça serait plutôt du DOS.
Mais l'assembleur, il ne ressemble ni a du GNU, ni à du MS confus
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

4

c avec Dev C++
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

5

si je vais sous visual c++ ca fait:
C:\Documents and Settings\Administrator\My Documents\c++\2d3dfx\2dchap1\2dchap1.cpp(47) : error C2443: operand size conflict

  __asm {
	   MOV AX, mode
	   INT 0x10
	 };


à la ligne de INT
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

6

g mis l'argument en unsigned short et ca marche mais par contre ca fait une erreur à l'exécution:
The instruction at "0x0040104c" referenced memory at "0xffffffff". The memory could not be "read".
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

7

limmt
: c avec Dev C++

Ce n'est pas de l'assembleur inline GCC valide.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

1. Ta syntaxe est mauvaise dans tous les sens. Je voudrais bien l'adapter, mais:
2. Tu ne peux pas appeler des interruptions sous Win32 (ni sous DJGPP, donc pas la peine d'essayer ça comme alternative). Donc je préfère ne pas perdre mon temps pour quelque chose qui de toute façon ne marchera pas.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

je fait comment alors pour changer de mode graphique?
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

10

Tu lis les docs ^^
Et au passage, Kevin, on peut appeler des interruptions sous win32, ça ne marchera que sous win9x, mais on peut le faire tongue
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

11