begin process at 2012 05 25 12:02:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Autres asm

 > 

ports PC


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

ports PC

samedi 9 octobre 2004 à 19:48:01 | ports PC

TRAX44

Bonjour,
voilà je voudrias apprendre dans le cas général à utiliser les ports PC : je sais que pour le clavier c'est 60h et 64h, pour la carte réseaux c'est C000h à C0FFh. IL ya aussi des irq à controler et des plages mémoires ?! (sous windaube, panneau de config, system, propriété du périph, ressource) Bon je veux juste savoir comment on fait en général !
Cordialement
TRAX

__________________________________________________
Les mots ont la valeurs que l'on veux bien leur accorder (TRAX)
lundi 11 octobre 2004 à 12:33:39 | Re : ports PC

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

renseigne toi sur le bus PCI.

c'est dans ces structures que tu trouvera toutes les informations que tu souhaite.

struc PCIHEADER
.vendorID: resw 1
.deviceID: resw 1
.command_reg: resw 1
.status_reg: resw 1
.revisionID: resb 1
.progIF: resb 1
.subclass: resb 1
.pciclass: resb 1
.cacheline_size:resb 1
.latency: resb 1
.header_type: resb 1
.bist resb 1
endstruc

struc PCINONBRIDGE
.base_address0: resd 1
.base_address1: resd 1
.base_address2: resd 1
.base_address3: resd 1
.base_address4: resd 1
.base_address5: resd 1
.CardBus_CIS: resd 1
.subsystem_vendorID: resw 1
.subsystem_deviceID: resw 1
.expansion_ROM: resd 1
.cap_ptr: resb 1
.reserved1: resb 3
.reserved2: resd 1
.interrupt_line: resb 1
.interrupt_pin: resb 1
.min_grant: resb 1
.max_latency: resb 1
.device_specific: resd 48
endstruc



@++
lundi 11 octobre 2004 à 22:03:16 | Re : ports PC

TRAX44

Sur le forum c++, j'ai vu kk1 qui faisait avec winsock (la dll) Mais g pas compris et l'auteur de la source ne répond pas ?
J'ai pas très bien compris le msg précedent!

Cordialement
TRAX


_________________________________________________
Les mots ont la valeurs que l'on veux bien leur accorder (TRAX)
mardi 12 octobre 2004 à 09:52:37 | Re : ports PC

patatalo

Membre Club Administrateur CodeS-SourceS

salut,

il faudrait que tu te renseigne un peu de ton coté quand meme.

Les ports winsocks et les ports de ton pc ne sont pas les memes.

Les ports winsocks sont des ports virtuels ( utilisés afin d'avoir plusieurs requete simultanées sur le peripherique réseau ) alors que les ports de ton pc sont des ports reels.

le fonctionnement de ces ports n'est pas dépendant de ta carte mere mais du materiel qui est rattaché derrière.

si tu veux une information concernant un de ces ports, tu dois trouver la documentation du materiel connecté a ce port.

l'acces aux ports E/S se fait par les commandes processeur "in" et "out"

@++
mercredi 13 octobre 2004 à 17:36:55 | Re : ports PC

TRAX44

Oui pardon, je me suis tromper entre les réponses de deux messages différents. J'ai effectivement faits mes recherche mais je ne trouve pas d'explication en général, que des exemples. J'ai pas très bien compris les redirection d'irq

Cordialement
TRAX
___________________________________________________
Les mots ont la valeurs que l'on veux bien leur accorder (TRAX)
vendredi 15 octobre 2004 à 14:41:38 | Re : ports PC

patatalo

Membre Club Administrateur CodeS-SourceS
re,

ce n'est plus tout a fait la meme question.

alors, tu va voir que c tres simple et qu'une redirection d'irq equivaut a une redirection de fonction.

en mode réel ( 16 bits ) il y a un tableau de 256 pointeurs far vers les fonctions d'interruption a l'adresse 0000:0000 et qui occupe 4*256 = 1024 octets

0000:0000 = pfintr[256]
0000:0400 = ?

lorsque le processeur rencontre une interruption, il empile les registres flags,cs et ip puis jump vers le pointeur donné par le tableau et le N° d'interruption ( de 0 a 255 ).

simule_int:;(iid:DWORD)
pushf
push cs
call pfintr[iid]

une redirection d'interruption va donner:
on lit la valeur du pointeur donné par le tableau "pfintr" et le n° d'interruption que l'on veut rediriger.
on sauvegarde cette valeur dans une variable que l'on appelera "pfold"
on change la valeur du pointeur "pfintr[iid]" pour que l'interruption aille vers notre fonction et voilà, le tour est joué, l'interruption est redirigée.

si tu veux appeler le gestionnaire original, tu n'as plus qu'a cleaner ta pile et finir ton handler par un jmp far [pfold]

quand tu quitte ton programme, tu dois restorer le vecteur d'interruption original.

@++
vendredi 15 octobre 2004 à 14:43:38 | Re : ports PC

patatalo

Membre Club Administrateur CodeS-SourceS
scuse,

simule_int:
pushf
call far pfintr[iid]

ca marchera mieux.

@++
vendredi 15 octobre 2004 à 15:40:20 | Re : ports PC

TRAX44

Bonjour,

j'ai trouvé ce code




mov al, 0x20
out 0x20, al

cli
xor cx, cx
testloop:
in al, 64h
test al, 1
loopz testloop
jz pascar
mov ah, 1
in al, 60h
jmp fin
pascar:
xor ax, ax
fin:
sti


je comprends pas les deux première ligne

Les mots ont la valeurs que l'on veux bien leur accorder (TRAX)
vendredi 15 octobre 2004 à 15:41:22 | Re : ports PC

TRAX44

g oublié l'adresse du code

http://www.asmfr.com/forum.v2.aspx?ID=135983

Les mots ont la valeurs que l'on veux bien leur accorder (TRAX)
vendredi 15 octobre 2004 à 15:58:25 | Re : ports PC

patatalo

Membre Club Administrateur CodeS-SourceS
re,

tu viens de trouver la commande EOI du pic ( END OF INTERRUPTION )

lorsque ton peripherique a quelque chose a dire, il declenche sa ligne d'IRQ.
le pic detecte la ligne irq du peripherique et declenche l'irq aupres du processeur.

ce code:
mov al,0x20; = commande EOI
out 0x20,al; = Envoi sur le port rattaché au pic la commande EOI

permet de dire au pic qu'il peut mettre sa requette d'interruption sur 0 (OFF) afin de pouvoir accepter d'autre requetes d'interruption auprès d'autres ou du meme peripherique.

je pense que tu devrais pouvoir trouver des informations sur le fonctionnement du pic assez facilement car c'est vieux et connu.

@++


Cette discussion est classée dans : pc, général, ports, trax


Répondre à ce message

Sujets en rapport avec ce message

exercice [ par susur2002 ] afficher le contenu du registre du didact 68000 sous forme de 1 et de 0 sur l'ecran du pc en utilisant le port 3 du didact.on utilisera ce registre di VESA et ports [ par gblade ] je voulais savoir quels sont les ports utilisés pour le mode VESApis si qqun connaissait un site qui traite de la prog VESA sans l'int 10h ça serait s logiciel boot [ par TRAX44 ] Salut, je voudrai faire booter mon pc sur un logiciel fait en asm et qui n'aurai pas besoin de windows ni de ms-dos afin d'utiliser toute la capacité asm en général [ par king171717 ] Bonjour a tousj'aimerai savoir si vous ne connaissez pas l'endroiou je pourrais trouver un site ou il y a un tutorial du langage asm complet ????merci RS-232 [ par Benjalien ] Bonjour à tous, je cherche activement qqn qui pourrait m'aider à créer un lien entre 2 pc par ce fameux RS-232. Je sais qu'il y a une source qui a l'a Rs-232 [ par Benjalien ] Bonjour à tous, je cherche activement qqn qui pourrait m'aider à créer un lien entre 2 pc par ce fameux RS-232. Je sais qu'il y a une source qui a l'a Relancer un PC éteint électriquement ? [ par alimz ] BonjourJ'aurais besoin d'une technique logiciel me permettant de rebooter un PC éteint électriquement.C'est un PC destiné à la production, il est inst emulateur bochs [ par TRAX44 ] salut,j'ai des petits problèmes à configurer mon émulateur bochs pour qu'il charge mon os ya kk1 ki peut m'aider?MerciTRAXtrax is alive Creation commande port série [ par hypotamtam ] Bonjours, je suis novice dans l'electronique et je voudrais savoir si quelqu'un pourrais m'aide ou me donner des liens internet.Je souhaiterai juste s affichage du contenu d'un registre général [ par did2604 ] Bonsoir,Quel est le code qui permet d'afficher le contenu d'un registre général (bx par exemple). Exemple, le registre BX contient la valeur 3F8 et j'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,842 sec (4)

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