begin process at 2010 02 09 23:25:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Processeurs

 > 

X86

 > 

Deplacer le curseur en mode texte sans les interruptions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Deplacer le curseur en mode texte sans les interruptions

mercredi 6 mai 2009 à 19:17:18 | Deplacer le curseur en mode texte sans les interruptions

kezsolo

Bonjour à toutes & à tous

J'aimerai savoir s'il existe un moyen de deplacer le curseur en mode texte sous dos
sans utiliser les interruptions Dos / Bios ??

Tasm 4
winxp

MErci d avance et bonne prog ;-)
mercredi 6 mai 2009 à 21:21:21 | Re : Deplacer le curseur en mode texte sans les interruptions

ghuysmans99

Membre Club
T'es sous XP, alors pas question d'interruptions ou de toute autre horreur du même genre.
http://msdn.microsoft.com/en-us/library/ms648394(VS.85).aspx
Signature.gif
jeudi 7 mai 2009 à 14:47:04 | Re : Deplacer le curseur en mode texte sans les interruptions

kezsolo

Hello !!
& tout d'abord merci pour ta reponse, mais elle ne correspond pas a ce que  je cherche, mais ma demande n'etait peut etre pas tres precise.

=>Concernant SetCursorPos je suis tout a fait d'accord !!! (mais c'est une fonction windows et mon but est de na pas utiliser la librairie "standard").

Bref je m'explique : mon objectif est purement didactique et consiste a connaitre reellement le fonctionnement du pc. Je code sous dos & windows depuis 15ans (bp, tpw, tasm, delphi...) et je suis tout a fait d'accord que l'utilisation de la librairie standard est tres pratique, le resultat est rapide certe, mais j'ai toujours le meme problème : comment ca marche ?? Depuis des annees je me sert de librairies, d'api, de composants etc... qui sont ecrits par d'autres et dont je ne sait jamais (ou tres mal) ce qu'ils font reellement (tout en augmentant de maniere considerable la taille du code - cela va sans dire ;-( ).

Ma question est la suivante :

Comment est codé le curseur (en mode texte sous dos) en memoire video ???

Merci a+ & Bonne prog!!

PS : si pour toi les interruptions sont des horreurs !!???!! comment fait tu pour terminer un exe sans la 21h ?? Donne moi ta reponse je ne demande qu'a apprendre !! et c'est d'ailleurs pour ca que je me suis inscrit sur ce forum !!

(stp ne repond pas exitcode merci ;-)

jeudi 7 mai 2009 à 20:16:42 | Re : Deplacer le curseur en mode texte sans les interruptions

ghuysmans99

Membre Club
Si tu veux savoir comment fonctionne le positionnement du curseur, regarde par exemple des parties du source de Linux.

Comment quitter ??
xor (e)ax,(e)ax
ret


Les interruptions MS-DOS sont à proscrire quand on est sous Windows : on est maintenant en mode protégé, les process possèdent leur mémoire virtuelle de 4Go, n'accèdent pas à celle des autres, on ne fait plus ce que l'on veut avec les périphériques et on possède des registres 2x plus grands (16 bits => 32 bits).
Plus question d'utiliser les interruption, car tu fais appel à NTVDM, l'émulateur de DOS de Windows et, par conséquent, tu perds le plus grand avantage de l'assembleur : sa vitesse. Le vrai DOS a totalement disparu depuis Windows NT.
Et ce n'est qu'avec les APIs que tu peux exploiter toutes les possibilités de la machine !
Signature.gif
samedi 9 mai 2009 à 18:25:11 | Re : Deplacer le curseur en mode texte sans les interruptions

kezsolo

Merci pour ta reponse !!
Je vais essayer  ta combine !! Quand au source de linux je vais essayer mais je ne connait pas bien, je me sert occasionnellement de kde mais je ne suis jamais allé voir dans les sources du systeme. Quand a tes remarques sur windows je suis tout a fait d'accord mais mon objectif est simplement didactique ;-) Quand j'ai besoin de coder en asm sous xp c juste des fonctions pour delphi et là j'ai pas besoin de me preoccuper de l'affichage !

@+ & bonne prog!

PS : le dos est mort sauf chez moi !! j'ai toujours un 80286, un 80386, un 80486 et un des premiers pentiums !!

samedi 9 mai 2009 à 18:52:05 | Re : Deplacer le curseur en mode texte sans les interruptions

ghuysmans99

Membre Club
J'ai aussi un 486 DX 4 avec la carte-mère et la carte son.
Signature.gif
dimanche 10 mai 2009 à 23:01:44 | Re : Deplacer le curseur en mode texte sans les interruptions

bofur

Réponse acceptée !
pour pouvoir déplacer le curseur en mode texte, il faut pouvoir modifier des registre de la carte video

la carte video comprend la position du curseur comme une adresse (num du caractère + num de ligne x nombre de collonne)

voici le code pour faire ça (il faut au préalable mettre dans bx la position du curseur):
mov dx,3D4h     ;sav pos cur 
mov al,0Eh
out dx,al  
mov dx,3D5h
mov al,bh
out dx,al  
mov dx,3D4h
mov al,0Fh
out dx,al  
mov dx,3D5h
mov al,bl
out dx,al

G.I.G.O.
lundi 11 mai 2009 à 15:03:31 | Re : Deplacer le curseur en mode texte sans les interruptions

kezsolo

Hello bofur
et Merci pour ta réponse !!
Je vais examiner ton code & le tester dès que possible !! A priori c'est exactement ce que je cherchait !! =;-) Comme quoi c'etait à priori bien possible !!
Je me souvient maintenant avoir lu un truc y'a des annees sur le DAC de la carte video (de memoire je pense que c'est ca). C'est ce que ton code utilise ou ca n'a rien a voir ?

Merci pour tout a+ & bonne prog ;-)

lundi 11 mai 2009 à 15:51:06 | Re : Deplacer le curseur en mode texte sans les interruptions

kezsolo

A priori je croit bien que ca n'a rien n'a voir !!
Ne serait-ce pas les ports du crtc ?

@+ et merci d'avance

mardi 12 mai 2009 à 23:46:57 | Re : Deplacer le curseur en mode texte sans les interruptions

bofur

oui c'est les port du crtc (cathodic? ray tube controleur), c'est les ports de la carte EGA ou CGA il me semble, le dac c'est pour changer les couleurs du mode 256 couleurs (et ptet meme 16 couleurs)

le pti bout de code ne peut que marcher je l'ai uttilisé dans un os-maison

G.I.G.O.

1 2

Cette discussion est classée dans : texte, curseur, deplacer, mode, interruptions


Répondre à ce message

Sujets en rapport avec ce message

debug et le mode texte par 0B800h [ par ShareVB ] bonjour à tous,j'ai vu qu'il fallait lancer l'utilitaire debug dans la fenêtre console avant de lancer l'exe (16bits mode réel) pour pouvoir voir les Interruptions en mode protégé [ par djqb ] Bonjour tout le monde 8D, je programme depuis pas longtemps en assembleur. J'ai réussi à faire une routine d'effacement d'écran en mode protégé mais m mode protégé + nasm [ par dodo76 ] Bonjour,je suis en train de développer un programme pour le mettre dans une eprom. Pour l'instant je programmais en mode réel mais là j'ai besoin d'ut macro avec parametre [ par mat74 ] salut a ts , voila j'essaie de créer une fonction , un macro en fait qui permetrait d'afficher le msg passer en parametre j'ai fait qqs essaies et sa Recuperer le mode Video [ par FearBlue ] Slt a tous !!!!!!!Je souhaite recupérer le mode video g lus dans une doc ca :Cette fonction retourne le numéro de code du mode vidéo en cours et tient Interruptions.hlp [ par sirozz ] Bonjour, en lisant les posts de ce forum NEWBII, j'ai remarqué que pas mal de débutants comme moi cherchent des infos sur les interruptions. Je sais q Tasm sous win2000 et xp ? Comment programmer en mode protégé ? [ par hamburger_de_dinde ] Y a-t-il moyen de programmer en assembleur sous win2000 ou xp ?Le problème se pose quand je veux accéder à certains emplacements mémoire (0B800h par e Code HUFFMAN en asm 68000 [ par arnaud gasnier ] salut,je voulais savoir si qqun pouvait m'aider pour trouver comment coder en ASM 68000 l'algo de huffman pour compresser un petit texte. le tout débu lcd 2x8 en mode 4 bit [ par tsii22 ] Bonjour ,je cherche comment programmer en assembleur avec un pic16f57, un lcd DMC-50448N-E-AE, qui est un lcd 2x8 en mode 4bit. Je veux afficher des c routines d'interruptions sous XP [ par vecchio56 ] Bonjour, j'aimerais savoir s'il est possible de connaitre l'adresse des routines d'interruptions (j'ai entendu parler de vecteur d'interruptions), et


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales