Devenir membre club
Connectez vous
Aide & règlement
Votre 1ère visite
Le règlement
Contacter les admins
Contacter le webmaster
Questions & réponses
Comment soutenir CodeS-SourceS
Comment faire un lien vers CodeS-SourceS
Autres questions
A propos & don
A propos du réseau
Les modérateurs
Remerciements
Faire un don
Le livre d'or
Tous les livres
Les dernières parutions
Les plus consultés
Les critiques
Le top des ventes
Le top favoris des membres
Recevoir des livres blancs
Tous les thèmes
Les derniers messages
Les nouveaux messages
Poser une question
Le Chat - IRC
Tous les tutoriels
Ajouter un tutoriel
Les tutoriels en vidéo
Les formations vidéos
Tous les codes
Ajouter un code
Filtrer par catégorie
Filtrer par date
Les plus récents
Les mis à jour
Les codes par jour
Filtrer par niveau
Niveau débutant
Niveau initié
Niveau expert
Filtrer par type
Les codes avec capture
Les codes avec zip
Filtrer par qualité
Les plus populaires
Les plus populaires du mois
Les plus téléchargés
Les mieux notés
Top par catégorie
Top des favoris
Filtrer par auteur
Tous les auteurs
Le top des membres
Les snippets
Déposer votre CV
Consulter les offres d'emploi ou de stage
Consulter les CVs
Déposer une offre d'emploi ou de stage
Modèles de CV et lettres
Trouver une convention collective
Les écoles d'informatique
Toutes les écoles
Ajouter une école
Les outils
Outils pour développeurs
Trouver des ressources
Base de données de CodeS-SourceS
Télécharger les meilleurs logiciels
Comparer les prix
Envoyer des ecards
Création de bannières
Annuaire de la prog
Tous les sites
Ajouter votre site
Le dico de la prog
Toutes les définitions
Ajouter une définition
Les évènements
Tous les évènements
Les évènements à venir
Ajouter un évènement
Téléchargements
CodeS-SourceS Toolbox
CodeS-SourceS Toolbar
Toolbar pour FireFox
Fonds d'écran
Les compil's
Nos partenaires
Magazine Programmez
Frontier.fr
Xiti
ProgOnline
Winwise
Editions Eyrolles
Toute la liste
Les RFC
CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
begin process at 2012 05 24 05:34:26
Accueil
Codes
Tutoriels
Forum
Livres
Emploi
Services
Connexion
Trouver un code source :
dans
Tout le site
Codes
Tutoriels
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Veuillez saisir votre recherche... Ex: smtp, lire un fichier, rs232
Options de recherche :
27 commentaire(s) de sajaris
sur des sources sur
asmfr
Déposé sur
Torito loader & isoemul
bonjour,
je voulais signaler que mes erreurs ont disparu, c'etais en fait a cause d'adresse mal gerer (je mettais des [] qui donne la valeur alors que je voulais utiliser les adresses a ces emplacement).
Donc tout va bien, quand j'acrive les inteeruption apres initilaistation des PIC et IDT, aucun plantage.
Maintneant l'interruption clavier ne donne pas et l'horloge ne semble pas fonctionner.
Posté le :
17/06/2008 12:19:55
Déposé sur
Torito loader & isoemul
salut,
cela fait un bail. je reviens avec un probleme que je rencontre depuis 3 semaine avec mon passage en mode protege et l'initialisation de mon IDT. franchement je bute. j'ai tester toutes les combinaison possibles.
je donne le code et je le detaille pour etre mieu compris:
*************************** LE BOOT: ****************************
jmp start:
gdt:
db 0,0,0,0,0,0,0,0
gdt_cs:
db 0xFF,0xFF,0h,0h,0h,10011011b,11011111b,0h ;type=11 pous cs
gdt_ds:
db 0xFF,0xFF,0h,0h,0h,10010011b,11011111b,0h ;type=3 pour ds
gdt_ss:
db 0xFF,0xFF,0h,0h,0h,10010111b,11011111b,0h ;type=7 pour ss
gdt_end:
gdt_ptr:
dw 0000h
dd 0
start:
PRINT_TXT kerLoadLabel ;on affiche chargement de kernel
;---------------------initialisation de la structure de la GDT(limite,base)
;----Calcul de la Limite de la GDT
mov ax,gdt_end
mov bx,gdt
sub ax,bx
mov word[gdt_ptr],ax
;-------calcul de la base de la GDT segment*16 + offs
xor eax,eax ;init reg 32 bit
xor ebx,ebx
mov ax,ds ;recuperation du seg en decimal
shl eax,4 ;seg*16
mov bx,gdt
add eax,ebx
mov dword[gdt_ptr+2],eax
;--------------FIN DE LA FABRICATION DE LA GDT---
cli
lgdt [gdt_ptr]
;passage en mode protegé. Il faut mettre le bit 1 du registre cr0 a 1
mov eax,cr0
or ax,1
mov cr0,eax
jmp 08h:2000h;saut vers la memoire ou le nouyau a ete charger
voila c'est finit pour le boot, j'espere avoir bien commenté. jusque la ca va pour le boot, je le donne au cas ou vous avez d'autres suggestion, ou si je m'y suis mal pris. au passage je dirai que j'initialisait les segment ds,es,... avec leur adresse selecteur (10h) avant le saut vers le noyau, mais ce n'est pas indispensable car ca marche apres dans le kernel meme si je ne le fait pas(ce n''est pas indispensable car dans le kernel je refais tout)
On passe au noyau(que j'appel kernel).
**************************** NOYAU 32 BITS *********************
[BITS 32] ; instruction sur 32 bit
[org 0x2000] ; offset de depart
jmp start
%define IDTBASE 0h
%define GDTBASE 800h
%define INT_FLAG 0x8E
%define TRAP_FLAG 0x8F
%define COM_FLAG 0x80
%include "utils/pic.inc" ; initilaise le PIC.
%include "utils/macro.inc" ; pour utilisit la fonction gateInit
;initiazlise les selecteur apres saut a partir du boot
start:
mov ax,10h ; la gdt_ds
mov ds,ax
mov es,ax
mov fs,ax
mov gs,ax
cli ; on desactive tout
;
;-------initialisation de la structure de la GDT(limite,base)
;----Calcul de la Limite de la nouvelle GDT
mov ax,gdtmp_end
mov bx,gdtmp
sub ax,bx
mov word[gdtmp_ptr],ax
xor ecx,ecx
;-------base de la GDT
mov ecx,dword[GDTBASE]
mov dword[gdtmp_ptr+2],ecx
;--------------TRANSFERT GDT (on copie gdtmp a GDTBASE)
xor ecx,ecx
mov cx,word[gdtmp_ptr]
xor esi,esi
xor edi,edi
lea si,[gdtmp]
lea di,[GDTBASE]
rep movsb
lgdt [gdtmp_ptr]; on charge la GDT
jmp 08h:next1 ; petit saut d'initialisation
next1:
mov ax,10h ;
mov ds,ax
mov es,ax
mov fs,ax
mov gs,ax
;---------------initialisation de la structure de la IDT(limite,base)
;----Calcul de la Limite de la IDT
mov ax,800h ; je reserve l'espace pour les 256 interruption
mov word[idt_ptr],ax ; j'ai l'impression que ca plante ici.car si je met un jmp $ avant cette instrtuction, il n'y pas plantage
xor ecx,ecx
;-------base de la IDT
mov ecx,[IDTBASE]
mov dword[idt_ptr+2],ecx
;---------------TRANSFERT IDT
xor ecx,ecx
mov cx,word[idt_ptr]
xor esi,esi
xor edi,edi
lea si,[idt]
lea di,[IDTBASE]
rep movsb
lidt [idt_ptr]; on charge l'IDT
initPIC ; appel de la fonction initPIC contenu dans le fichier pic.inc ci dessous
gateInit 8h,interrupt,INT_FLAG,0,IDTBASE+8h*112 ; appel de la fonction gateInit definti dans le fic
sti
ker:
mov byte[0xB8002],'E'
mov byte[0xB8003],57h
mov byte[0xB8004],'L'
mov byte[0xB8005],57h
mov byte[0xB8006],'L'
mov byte[0xB8007],57h
mov byte[0xB8008],'O'
mov byte[0xB8009],57h
mov byte[0xB800A],' '
mov byte[0xB800B],57h
mov byte[0xB800C],'W'
mov byte[0xB800D],57h
mov byte[0xB800E],'O'
mov byte[0xB800F],57h
mov byte[0xB8010],'R'
mov byte[0xB8011],57h
mov byte[0xB8012],'L'
mov byte[0xB8013],57h
mov byte[0xB8014],'D'
mov byte[0xB8015],57h
jmp $
;-------------LES DONNEES UTILISEES
gdtmp:
db 0,0,0,0,0,0,0,0
gdtmp_cs:
db 0xFF,0xFF,0h,0h,0h,10011011b,11011111b,0h ;type=11 pous cs
gdtmp_ds:
db 0xFF,0xFF,0h,0h,0h,10010011b,11011111b,0h ;type=3 pour ds
gdtmp_ss:
db 0xFF,0xFF,0h,0h,0h,10010111b,11011111b,0h ;type=7 pour ss
gdtmp_end:
gdtmp_ptr:
dw 0000h
dd 0
;---------------------- IDT
idt:
times 256 dw 0,0,0,0
idt_end:
idt_ptr:
dw 0000h
dd 0h
interrupt: ; utiliser pour initialiser les interruption
mov al,20h
out 20h,al
iret
************************** INITAILISATIOn DU PIC APPELELE DANS LE KERNEL ***********
%macro initPic 0
;---MAITRE
;-----Initilaise le maitre
mov al,11
out 20h,al
jmp .1
.1
;------La base des interruptions. Ici 32=20h. On laisse en fait 32 interruption exception
mov al,20h
out 21h,al
jmp .2
.2
mov al,04h
out 21h,al
jmp .3
.3
mov al,1h
out 21h,al
jmp .4
.4
mov al,0h
out 21h,al
;---SLAVE
;-----Initilaise l'esclave
mov al,11
out 0A0h,al
jmp .5
.5
;------La base des interruptions. Ici 112=70h. On laisse en fait 112 interruption exception
mov al,70h
out 0A1h,al
jmp .6
.6
mov al,02h
out 0A1h,al
jmp .7
.7
mov al,1h
out 0A1h,al
jmp .8
.8
mov al,0FFh
out 0A1h,al
;masquage des IRQ
mov al,0h
out 21h,al
%endmacro
********************GATEINIT: FONCTION D'INITIALISATION DE LA IDT ***************
%macro gateInit 5 ;selecteur(16), offset(32),type(8), wx(5/8), adresse(32)
push eax
;selecteur
mov word[%5+2],%1
;offset
mov eax,%2
mov word[%5],ax
shr eax,16
mov word[%5+6],ax
;type
mov byte[%5+5],%3
;wc
mov byte[%5+4],%4
and byte[%5+4],00011111b
pop eax
%endmacro
****************************** FIN ********************
Bon voila ce que je n'ai pas fait ou fait:
--->je n'ai pas initilaiser toutes les interruptions
---> j'ai d'abord initlisaer la GDT apvant l'IDT
Voila, si vous pouvez me donner mes erreurs et comment bien procéder pour gerer les interruption.
MERCI
Posté le :
12/06/2008 18:45:50
Déposé sur
Torito loader & isoemul
salut patatalo, cel fiat deux jours ;)
Encore une fois tu fais des merveilles, moi je pietine sur la table d'interruption apres passage en mode bios, je sais pas trop comment refaire ma table ou plutot j'en ai fait mais qui ne marche pas (alors j'ai pas su bien faire)
Mais cool pour toi. je demanderai encore de tes services, je continue de chercher d'abord(bah oui il faut d'abord soufrir pour trouver soi meme) si je n'aaarive pas alors je te pince ;)
A toute!
Posté le :
01/05/2008 20:50:15
Déposé sur
Torito loader & isoemul
Edfed rien n'est impossible, mais c'est vraiment refaire plein de routines, tu sais, mais pourquoi pas! le coté intéressant de la chose c'est de se familiarisé avec la basse couche total et comprendre plein de truc actuel.
Au fait patatalo, j'ai compris les macros que tu as envoyé, et c'est bon j'arrive à reperer mes données sur le CD-rom, en fait j'interprétais mal la constitution des répertoires. Je sais pas que la déclaration d'un enregistrement de répertoire se faisait dans son repertoire parent et AUSSI que chaque répertoire n'est jamais vide mais avait au moins un repertoire parent et courant
Posté le :
15/03/2008 16:20:25
Déposé sur
Torito loader & isoemul
PATALTALO:"<ici, http://www.singlix.com/trdos/specs.html tu trouveras plein de trucs interessant et notement le fichier IntroductionToIso9660.pdf>"
je l'ai parcouru, juste une chose, c'est un MUST, merci vraiment PATATALO. sans blague, j'ai vraiment appris en moins d'un mois beaucoup avec toi.
Courage et continue dans cette lancée.
j'espere pouvoir construire quelque LIVE CD plus tard avec toi, pour l'instant j'avance bien.
Posté le :
13/03/2008 13:24:01
Déposé sur
Torito loader & isoemul
SAlut, bah je sais pas quoi dire de plus sinon merci humblement a toi.
Au fait une précision. J'avais dit dans un un post plus haut, que le chargement de mon noyau ne marchait pas, et avec une erreur. et en changeant la memoire de chargement (segment et offset) tout etait rentré dans l'ordre. Hé bien en fait je gravais mon image produit sur cd-rom, et la gravure se faisait mal en fait (mon graveur etait HS mais le gravage marquait avec succes!!), en fait tout marchait depuis longtemps pour le chargement du noyau. j'utilise maintenant VMWare.
Je sais pas comment tu trouve des infos sur tout ceci, mais tu les trouve en tout cas.
voici un autre site (que tu connais déjà je crois) sur les spécifications usb,plug n play et autres. le site de phoenix:http://www.phoenix.com/en/Customer+Services/White+Papers-Specs/PC+Industry+Specifications.htm
Merci en tout cas, j'ai de quoi ne pas m'ennuyer pendant plusieurs temps.
J'ai telecharger et utiliser ton image ca marche parfaitement ,je vais essayer de comprendre maintenant. ;)
Posté le :
13/03/2008 09:33:46
Déposé sur
Torito loader & isoemul
Content de ton retour!!!
je me demandais effectivment ou t'etais passé !!!
DOMMAGE QUE TU ES OUBLIE TA CLE USB !! j'attends impatiemment ces scripts, impatiemment !!!!
Merci pour cette précision pour les accès mémoires !
Posté le :
12/03/2008 09:38:49
Déposé sur
Torito loader & isoemul
re:
salut,
bon maintenant ca va , tout marche bien.en fait j'ai juste changer l'adresse memoire de chargement dans le dap, avant j'utilisait 0100:0 et lorsque j'ai changer a 0:1000 (en rensignant les bon champ de mon DAP) tout a marcher, le kernel est charger en memoire. je pensais que 0100h:0h et 0:1000h pointait sur la meme zone, donc il ne devait pas y avoir de probleme, bah je comprend pas trop, mais avec la perseverance on arrive a tout, jamais baiiser les bras.
En tout cas merci PATATALO, tu a ete une source d'inspiration et j'ai reussi a faire un mini-os bootable sur CD avec 5 commandes test (reboot,clrscr,..) et tout ceci a base de ton tuto.merci bien
Posté le :
11/03/2008 09:07:02
Déposé sur
Torito loader & isoemul
j'ai finalement capturé la sortie de l'erreur qui se trouve dans AH en cas d'erreur de lecture.
Losrque j'affiche le numero de l'erreur et je me referre a sa signification (sur google) voici ce que je trouve, que ce soit avec ton projet ou avec ma fonction de lecture:
incorrect drive type stored in CMOS (Compaq)
Posté le :
08/03/2008 13:15:21
Déposé sur
Torito loader & isoemul
Re:
j'ai regardé de plus pres ta fonction. je crois avoir compris, mais le mien ne marche toujours pas.
En somme:
avant l'appel de ta fonction: tu tu sauvegarde les parametres nbrsec,seg,lbahi,lbalo,lecteur dans la pile.
puis tu prepare la zone pous la strucutre dap dans la pile (sub sp,16)
Ensuite tu lie le un secteur a partir du secteur 16 (sur le disque ca corresponde au primary volume).
tu essai la lecture au moins 5 fois (push byte 5). si ca marchhe toujours pas tu sort avec un message d'erreur. sinon tu continue la lecture en verifiant de ne pas depasser la taille d'un segment.
Si j'essai de comprendre ton xint13, c'etait en fait pour voir ou MOI j'ai cloché, le eprom fait au moins 9k0 (environs 5 secteur de cd). Mon kernel ne fait que 86octet(un test). alors je charge juste un secteur.
bah merci d'avoir essayé en tout cas.
Posté le :
08/03/2008 12:45:10
1
2
3
Nos sponsors
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALE
IMAGINE CUP 2012, MAKE A SIGN EN FINALE
par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article
par junarnoalg
KINECT 1.5 IS OUT !
KINECT 1.5 IS OUT !
par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article
par Vko
LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI)
LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI)
par richardc
Mise à jour des Web API du 14 Mai Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris Mise à jour de Team Foundation Service MechCommander 2 sur Windows 8 Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article
par richardc
REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER
REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER
par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article
par Groc
SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES
SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES
par junarnoalg
Dernièrement, nous avons migré le site myTIC vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs. Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article
par junarnoalg
La suite
RSS
Forum
RE : BUS D'ADRESSE
RE : BUS D'ADRESSE
par PYRHON
Cliquez pour lire la suite
par PYRHON
PROGRAMMATION DES PIC 16F876 ET 16F877
PROGRAMMATION DES PIC 16F876 ET 16F877
par mailor
Cliquez pour lire la suite
par mailor
UN PROGRAMME ELM327 POUR INTERFACE DIAGNOSTIC OBD-II (ASSEMBLEUR OU UNE AUTRE LANGAGE...)
UN PROGRAMME ELM327 POUR INTERFACE DIAGNOSTIC OBD-II (ASSEMBLEUR OU UNE AUTRE LANGAGE...)
par wassfi
Cliquez pour lire la suite
par wassfi
RE : ENREGISTREMENT DE TRAME DE TELECOMMANDE DANS UNE PIC
RE : ENREGISTREMENT DE TRAME DE TELECOMMANDE DANS UNE PIC
par rawigoto
Cliquez pour lire la suite
par rawigoto
GéNéRATION DE SIGAUX
GéNéRATION DE SIGAUX
par benzevy
Cliquez pour lire la suite
par benzevy
La suite
RSS
Côté IT
Utiliser Office 365 pour un projet d?équipe - PART 2
Utiliser Office 365 pour un projet d?équipe - PART 1
SharePoint 2007 : Installation du Service Pack 3 de MOSS
SharePoint 2007 : Installation du Service Pack 3 de WSS V3
Installation de SQL Server DENALI CTP3
Mise à jour de Windows 2003 R2 vers Windows 2008 R2
Upgrade de SQL Server 2005 vers SQL Server 2008 R2
La suite
RSS
Offres d'emploi
Recherche Développeur PHP
Recherche Développeur Sharepoint
Recherche Développeur C++
Recherche Recherche développeur web ASP et ASP.Net
Recherche Analyste Programmeur Adélia
Recherche Développeur eZ Publish confirmé
Recherche AP (H/F) ACCESS EXCEL VBA
Déposer une offre
La suite
RSS
Formations Video
Dreamweaver CS6 : Les fondamentaux
Photoshop CS6 : Les fondamentaux
Photoshop CS6 : Les nouveautés
Flash CS6 : Les nouveautés
Dreamweaver CS6 : Les nouveautés
Illustrator CS6 : Les nouveautés
InDesign CS6 : Les nouveautés
La suite
RSS
Appels d'offres
Creation d-un site ecommerce de vente en ligne de chaussures femmes
Budget :
5 000€
URGENT - Recherche d-un webmaster
Budget :
4 800€
Creation d-un site web ancien etudiant avec Job board
Budget :
1 800€
La suite
RSS
Logiciels
974 Application Server (12.2.4.0)
974 APPLICATION SERVER (12.2.4.0)
Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc...
Cliquez pour télécharger 974 Application Server
vPicture (1.4.2.1)
VPICTURE (1.4.2.1)
Avec vPicture, hébergez vos images facilement et rapidement. vPicture est un utilitaire simple, ...
Cliquez pour télécharger vPicture
Easy-Planning (2.2.1.6)
EASY-PLANNING (2.2.1.6)
Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au...
Cliquez pour télécharger Easy-Planning
COM-BACKUP (2.0)
COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
mySongBook Player (1.0.0)
MYSONGBOOK PLAYER (1.0.0)
mySongBook Player est un logiciel gratuit permettant l'accès à une archive de tablatures/partitio...
Cliquez pour télécharger mySongBook Player
+ de logiciels à télécharger
Vidéos drôles
Halloween Party
Terry Tate Office Linebacker Superbowl 2003
Jeu vidéo instructif
C'est un véritable vol !
Banana Song
Comment attraper la grippe A
Parodie Pub Window 7
La suite
RSS
Sondage...
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Statistiques
1 902 599
membres
34
nouveaux aujourd'hui
16 193
membres club
Comparez les prix
Apple iPad 2 (16 GB) Wi-Fi White Tablet PC
Entre 639€ et 639€
Visiter le guide achat
CalendriCode
Mai
2012
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Consulter la suite du CalendriCode
Photothèque
Visiter la photothèque
CS Tool Box
A découvrir