Outils pour utilisateurs

Outils du site


back2root:tutoriaux:vga-avance-dac-part-3

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
back2root:tutoriaux:vga-avance-dac-part-3 [2023/01/08 00:39] fraterback2root:tutoriaux:vga-avance-dac-part-3 [2024/08/08 10:54] (Version actuelle) – [Le Code] frater
Ligne 25: Ligne 25:
 Cette instruction prends les valeurs du dernier "SetColor" (y compris la couleur) pour faire varier les intensités jusqu'aux nouvelles valeurs paramètres, et ce depuis la ligne courant jusqu'à la ligne cible. Cette instruction prends les valeurs du dernier "SetColor" (y compris la couleur) pour faire varier les intensités jusqu'aux nouvelles valeurs paramètres, et ce depuis la ligne courant jusqu'à la ligne cible.
  
-Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 0x30 LineH LineL Red Green Blue+^  Byte 0  ^  Byte 1  ^  Byte 2  ^  Byte 3  ^  Byte 4  ^  Byte 5  ^ 
 +|  0x30  |  LineH  |  LineL  |  Red  |  Green  |  Blue  |
  
 Les bytes "LineH" et "LineL" sont les octets de poids fort et faible du mot qui défini la ligne "cible", celle-ci DOIT être inférieur à copper_maxrow, sans quoi l’exécution des copper s’arrêtent avec un code d'erreur. Les bytes "LineH" et "LineL" sont les octets de poids fort et faible du mot qui défini la ligne "cible", celle-ci DOIT être inférieur à copper_maxrow, sans quoi l’exécution des copper s’arrêtent avec un code d'erreur.
Ligne 316: Ligne 317:
  
 <WRAP center round info 95%> <WRAP center round info 95%>
-A cause des limitations du x86 concernant les jump conditionnels (near) il a fallut mettre en place un structure de type switch case+A cause des limitations du x86 concernant les jump conditionnels (near)il a fallut mettre en place un structure de type switch case; car l'oppérande n'est que de 2 octets et n'est pas capable de faire de sauts conditionnel au delà d'un delta de -126 +127.
- +
-Le build-in assembler de borland C++ n'est pas capable de faire de sauts conditionnel au delà d'un delta de -126 +127; car l'oppérande n'est que de 2 octets, pour contourner ce problème il aurait fallut écrire le code assembleur .386 dans un fichier .asm et ensuite le linker au code C, ce qui aurait permis de réduire la "boucle" comme ci-dessous.+
  
 +Le build-in assembler de borland C++ utilise des instruction 'near' pour son assemblage, ce qui fait que certains sauts sont hors limite; pour contourner ce problème il aurait fallut écrire le code assembleur ''.386'' dans un fichier //.asm// et ensuite le linker au code C, ce qui aurait permis de réduire la "boucle" comme ci-dessous.
 </WRAP> </WRAP>
  
back2root/tutoriaux/vga-avance-dac-part-3.1673134749.txt.gz · Dernière modification : 2023/01/08 00:39 de frater