Vous n'êtes pas identifié.
Bon je mettrais dans ce sujet toutes mes questions concernant l'assembleur.
D'abord, serait-il possible kon m'explique clairement le fonctionnement des commandes :
sar et rcl.
Aussi j'ai vu dans run-mat de la graph 100 la commande xnor...
1 xnor 1 -> 1
1 xnor 0 -> 0
0 xnor 0 -> 1
Cela revient donc a faire par exemple :
xor ax,bx
not ax ...
Seulement est-ce que cette commande existe en assembleur?
Hors ligne
a ce que j'ai pu tester :
0 xnor 1 = -1
1 xnor 1 = -2
1 xnor 0 = -1
0 xnor 0 = -2
cette fonction ne sert a rien... elle est completement debile... on peut absolument tout faire simplement avec les 4 seules fonctions qui existent : NOT , AND , OR , XOR .
ce qui nous donne six tableaux : and or xor nand nor nxor. pour terminer tous les cas il suffit de penser au fait que l'on est pas obligé de mettre not en sortie mais on peu aussi le mettre sur l'une des deux entrées (12 cas au total + 2 cas triviaux : inchangé et inversé... et ya 2 cas doubles(-2) et 4 cas ce raportant à une seule entrée ça fait les 16 possibilitées de remplissage d'un tableau 2x2)...
Hors ligne
Alors vala...
G un pitit probleme :
Imaginons que j'ai :
unsigned char donnee[2][4]={ { 0xFF,0xFF,0xFF,0xFF }, { 0x7E,0x7E,0x7E,0x7E }}; void fonction(void* data0, void* data1); void main() { fonction(donnee[0],donnee[1]); } void fonction(void* data0, void* data1) { asm{ mov si,data0 mov al,ds:[si] mov si,data1 mov ah,ds:[si] // ... etc }
En fait, je ne sais pas comment faire pour ds contienne a la fois data0 et data1 (d'abord les donnees de data0 puis celles de data1)...
Sinon je ne sait tj pô me servir de sar et de rcl...
Merci de me repondre.
Hors ligne
sert toi du registre es pour mémoriser data1 par exemple et ensuite du mettra es dans ds
Hors ligne
ATTENTION : certaines fonctions on besoin d' un ES sur le segment d' affichage pr fonctionner, donc fo faire tres gaffe !!!
Hors ligne
oui et le segment ds chie (pour moi en tou cas..)
Hors ligne
Pourquoi pas...
Je vais essayer
...........
Arf, en fait non, ca peut pô marcher!
J'utilise ES aussi ds la mm fonct, et pas que pour le segment
Hors ligne
Hors ligne
Alors voila...
J'ai besoin de connaitre les valeurs des registres en hexadecimal (pour faire des opérations sur un seul bit grace aux fonction du nec)...
Je sais deja que:
bh=0xC7
bl=0xC3
cl=0xF
Pouvez vous me completer ces donnees avec ch, al, ah, dl, dh
Merci
Hors ligne
Ah oui...
J'oubliais :
Est-ce qu'on pourrait m'en dire plus sur le mode D7 (ou C7)...
Dans le tuto de Whyp, il est signalé que l'écran est grandement aggrandi, mais c'est tout ce que je sais...
Hors ligne
Je c pa si tu va trouver bonheur mais regarde par la : http://forum.graph100.com/viewtopic.php?t=630
Hors ligne
Pour ceux que ca interesse, j'ai modif nasm pour qu'il supporte les instructions NEC (set1, clr1, not1, test1, ins et ext)
Dans ton cas, ca pourrait etre utile : tu fait un prog avec juste l'instruction que tu veux et tu l'ouvre avec un edit hexa.
Sinon regarde dans la doc de nec, tout y est
http://tonton1664.free.fr/files/nasm-g100.rar
Hors ligne
J'ai une question tres importante donc je vous prie de me répondre (quelle belle formule de politesse).
Imaginons que j'ai besoin prendre les données d'une image sans avoir a la dessiner, du style :
mov si,BmpTab
Si je veux prendre l'octet 15 de cette image, comment dois-je faire exactement?
J'ai deja essayé :
mov si,0xF mov al,ds:[si]
mais ca marche pô...
Hors ligne
argh !!!!
C'es beaucoup trop lent...
J'enleve lodsb et autre de toute mes fonctions...
Ma fonction qui se faisait en 1/2 seconde cse fait avec lodsb en 2.5 secondes...
Ya pas moyen de faire autrement ??
Hors ligne
Bon voila la bonne nouvelle...
Je me sentais en forme pour programmer, donc g décidé de me réattaquer à la fonction de DB-Lib qui me posait problème (3 bugs en tous)...Et hop, après plus d'un mois sans résoudre ces bugs (ou sans chercher), aujourd'hui enfin j'y arrive...
En fait cette "magnifique narration", veut dire que DB-Lib va sortir d'ici quelques jours, le temps que je fasses les explications.
Voilou, enfin débarrassé de cette foutue fonction...
Hors ligne