logo Homepage
+  NewbieContest
Username:
Password:
  Voir les messages
Pages: [1] 2 3 ... 6
1  Programmation / Langages compilés / Re : Une erreur d'assembleur ? le: 11 Août 2012 à 22:24:48
Maintenant si quelqu'un a des conseil pour coder un noyau.. ?!


Merci à vous !
2  Programmation / Langages compilés / Re : Une erreur d'assembleur ? le: 08 Août 2012 à 21:42:03
YEA !


Bon, le secteur de boot, problème réglé, il s'assemble et j'obtiens mon fichier bin de 512 mo

Alors, la correction :

Code:
                                                                 
    mov eax, 0x00007c00                                             
    mov ds, eax                                                     
    mov es, eax                                                     
    mov eax, 0x80000                                                 
    mov ss, eax                                                     
    mov esp, 0x8F000    ; stack de 0x8F000 -> 0x80000               
                                                                   
; affiche un msg                                                   
    mov si, msgDebut                                               
    call afficher                                                   
                                                                   
                                                                   
end:                                                               
    jmp end                                                         
                                                                   
                                                                   
;--- Variables ---                                                 
    msgDebut db "Hello world !", 13, 10, 0                         
;-----------------                                                 
                                                                   
;---------------------------------------------------------         
; Synopsis: Affiche une chaine de caracteres se terminant par 0x0   
; Entree:   DS:SI -> pointe sur la chaine a afficher               
;---------------------------------------------------------         
afficher:                                                           
    push ax                                                         
    push bx                                                         
.debut:                                                             
    lodsb         ; ds:si -> al                                     
    cmp al, 0     ; fin chaine ?                                   
    jz .fin                                                         
    mov ah, 0x0E  ; appel au service 0x0e, int 0x10 du bios         
    mov bx, 0x07  ; bx -> attribut, al -> caractere ascii           
    int 0x10                                                       
    jmp .debut                                                     
                                                                   
.fin:                                                               
    pop bx                                                         
    pop ax                                                         
    ret                                                             
                                                                   
;--- NOP jusqu'a 510 ---                                           
    times 510-($-$$) db 144                                         
    dw 0xAA55                                                       


Lorsque je le compilais, nasm me faisait remarquer un problème d'espace pour les données, donc j'ai remplacé les registres 16b par des 32 (e-), et cela a résolu mon problème
3  Programmation / Langages compilés / Re : Une erreur d'assembleur ? le: 08 Août 2012 à 17:10:14
Alors, j'ai décidé de retourner aux sources, et quelque chose de curieux est apparu :

mon process de test fonctionne, je le vois dans le gestionnaire des tâches, mais la console n'apparait pas sur mon écran ..


Par exemple :

Code:

.386
.model flat, stdcall
option casemap : none

include C:\masm32\include\masm32rt.inc


.code

salut :

print "Essai d'affichage de texte", 13, 10
inkey "Appuyer sur une touche pour continuer..."
exit


end salut

La console avec mon print n'apparait pas, mais dans mes processus, il apparait..
4  Programmation / Langages compilés / Re : Une erreur d'assembleur ? le: 07 Août 2012 à 22:48:24
Alors, j'ai lu -dans le tas de doc, ça va me revenir- qu'un bootloader commence avec un décalage 100h, donc j'ai mis :

ORG 100h
(BITS n'est apparemment pas essentiel)
Depuis, je n'ai plus d'erreur. Il n'empêche qu'à priori, les segments sont pas au bon endroit.. Donc je continue à enfiler la doc, et les bootloader d'autres programmeurs afin de cerner mon erreur
5  Programmation / Langages compilés / Re : Une erreur d'assembleur ? le: 07 Août 2012 à 22:18:10
Yep, bon, j'ai résolu le problème des BITS / ORG.

Maintenant, les erreurs block segments, je sais pas d'où elles sortent..
6  Programmation / Langages compilés / Re : Une erreur d'assembleur ? le: 07 Août 2012 à 18:29:55
Bien, tu as raison
J'ai un fichier "boot" de 1 ko .. Après utilisation de la ligne de commande que tu m'as conseillé

Code:
C:\Users\Ackermann Q\Desktop\ASM\boot sector\boot.asm(1) : error A2008: syntax error : BITS
Donc, à priori, cela me cause une erreur. Je ne comprends pas, j'ai essayé avec [], sans, avec ""... Bizarre
7  Programmation / Langages compilés / Re : Une erreur d'assembleur ? le: 07 Août 2012 à 16:59:02
Je compile avec RadAsm, plus simple, car je ne peux plus voir de lignes de commande -.-, et c'est lui qui me sort ces erreurs, en réponse à harvey. De plus, avec ta commande, il ne se passe .. Rien..

Je ne sais pas par rapport à ta remarque. Je sais juste qu'il me sort une jolie erreur.

("BITS 16") : Ce serait pas juste une chaine de caractère, identifiée par les guillemets ?



Geo : Merci pour la correction, la coquille n'était pas intentionnelle. Je pense que tu as raison. Aurais-tu les restes de docs t'ayant servie il y a quelques mois ?
8  Programmation / Langages compilés / Une erreur d'assembleur ? le: 07 Août 2012 à 12:16:38
Bonjour à tous.
Depuis peu, l'assembleur et moi vivons des choses .. Extrêmement désagréables. Je m'explique :

Je cherche à faire un secteur boot, donc en asm. Cependant, n'étant que débutant, je m'inspire d'un site : a.michelizza.free.fr/pmwiki.php?n=TutoOS.Bootsect


Voici le code :

Code:
[BITS 16]  ; indique a nasm que l'on travaille en 16 bits
[ORG 0x0]

; initialisation des segments en 0x07C00
    mov ax, 0x07C0
    mov ds, ax
    mov es, ax
    mov ax, 0x8000
    mov ss, ax
    mov sp, 0xf000    ; stack de 0x8F000 -> 0x80000

; affiche un msg
    mov si, msgDebut
    call afficher


end:
    jmp end


;--- Variables ---
    msgDebut db "Hello world !", 13, 10, 0
;-----------------

;---------------------------------------------------------
; Synopsis: Affiche une chaine de caracteres se terminant par 0x0
; Entree:   DS:SI -> pointe sur la chaine a afficher
;---------------------------------------------------------
afficher:
    push ax
    push bx
.debut:
    lodsb         ; ds:si -> al
    cmp al, 0     ; fin chaine ?
    jz .fin
    mov ah, 0x0E  ; appel au service 0x0e, int 0x10 du bios
    mov bx, 0x07  ; bx -> attribut, al -> caractere ascii
    int 0x10
    jmp .debut

.fin:
    pop bx
    pop ax
    ret

;--- NOP jusqu'a 510 ---
    times 510-($-$$) db 144
    dw 0xAA55


Bon, pour :
Code:
[BITS 16]  ; indique a nasm que l'on travaille en 16 bits
[ORG 0x0]


Vu que ce doit être une spécificité de nasm, on peut retirer la première ligne.

Je lance avec RadAsm, et il me sort .. Une multitude d'erreurs : [ est une balise non-reconnue, et les lignes : 3, 4, 5, 6, 7, 8, 9, 10, et 11 "must be in segment block."

Ligne 15 : missing operand after unary operator


Donc, outre résoudre ces problèmes, j'ai une autre question :

Code:
; initialisation des segments en 0x07C00
    mov ax, 0x07C0
    mov ds, ax
    mov es, ax
    mov ax, 0x8000
    mov ss, ax.. etc


Pourquoi initialise t'on les segments en 0x07C00 ? C'est aléatoire ? Y'a une raison précise ? Comment choisit-on l'adresse d'initialisation ?


Merci à vous !
9  Programmation / Langages compilés / Re : Python le: 21 Mai 2012 à 21:49:36
Mon code est de la forme :

Code:
>>> a = 10
>>> if ( a > 5 ):
...     print "a supérieur à 5"
... else:
...     print "a est inférieur à 5"
...
a supérieur à 5

Normalement, je crois que c'est sensé fonctionner ..
10  Programmation / Langages compilés / Re : Python le: 16 Mai 2012 à 12:01:24
Bon. Bah je vais chercher un peu. Mais comme je l'ai dit, les syntaxes peuvent changer avec les évolutions de version de python. Ce qui fonctionne chez toi ne fonctionnera peut-être pas chez moi.
11  Programmation / Langages compilés / Re : Python le: 16 Mai 2012 à 11:54:33
Pourquoi ne pas poser la question sur le site du zéro ? Et surtout, surtout : pourquoi ne pas poster un bout de script qui montre le problème et le message d'erreur associé ?

Navré, ma première référence reste NewbieContest, il est vrai que j'aurai dû poster sur le site du zéro en premier.
Effectivement, c'est ma faute :
Code:
a = 5
if a > 0:
    print("a est supérieur à 0.")
else:
    print("a est inférieur ou égal à 0.")


Voici un exemple de code me retournant "syntaxe error" en surlignant le else :]
12  Programmation / Langages compilés / Python le: 15 Mai 2012 à 21:33:22
Bonsoir à tous !
N'ayant pas trouvé de section "Langage interprétés" à côté de langage compilé, j'ai préféré mettre ce sujet ici.

Je débute dans python à l'aide des cours du site du zéro. J'ai un problème : lorsque je veux entrer la commande else ou elif, l’interpréteur me renvoie une erreur de syntaxe qui ne semble pas être présente dans les exemples du site.
Ainsi, j'en ai déduis que les syntaxes on dû évoluer dans les versions supérieures à celle présentée sur le site.
Donc, je demande de l'aide : toutes les syntaxes connues sont-elles à délaisser ? Pouvez-vous me donner les nouvelles syntaxes ?
Merci aux développeurs python qui passeront par ici pour donner un coup de main ! :]]
13  Challenges / Aide Hacking / Re : Hacking - Grand sondage hebdomadaire le: 14 Mai 2012 à 10:39:15
Yep, le problème est réglé :]
14  Challenges / Aide Hacking / Re : Hacking - Grand sondage hebdomadaire le: 13 Mai 2012 à 15:09:07
Est-il normal d'avoir une erreur 403 ? :>
15  Challenges / Aide Logique / Re : Logique - Jeu télévisé le: 13 Mai 2012 à 14:43:43
Bonjour ! Et désolé pour le déterrage.
Je voulais savoir s'il fallait faire appel à des notions mathématiques dans cette épreuve de suite.

Merci ! )
Pages: [1] 2 3 ... 6