Accueil > > > CONVERSION NOMBRE -> CHAINE DE CARACTÈRE (HEXA,DEC,OCT,BIN) (16BITS,MODE RÉEL, TASM)
CONVERSION NOMBRE -> CHAINE DE CARACTÈRE (HEXA,DEC,OCT,BIN) (16BITS,MODE RÉEL, TASM)
Information sur la source
Description
Ce code est 16bits mode réel. Il permet de convertir un nombre mis dans AX vers une chaine de caractères dans DS:SI dans plusieurs bases : -> Décimale -> Hexadécimale -> Binaire -> Octale Le code a été dévellopé avec TASM.
Source
- MODEL SMALL
- STACK 100h
-
- DATA SEGMENT
- Chaine DB 25 DUP ('$')
- Prompt DB 'Conversion de $'
- ChHexa DB 'en hexa :0x$'
- ChDec DB 'en decimal :$'
- ChBin DB 'en binaire :0b$'
- ChOct DB 'en octal :0o$'
- ChNeg DB 'en negatif :$'
- CRLF DB 13,10,'$'
- DATA ENDS
-
- CODE SEGMENT
- ASSUME CS:CODE,DS:DATA
-
- TerminalChar EQU '$'
-
- ;inverse une chaine
- ;==================
- ;DS:SI : adresse du début de la chaine
- ;DS:DI : adresse de fin de la chaine (avant le caractère de terminaison de chaine)
- InverseChaine PROC
- ;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
- boucleInv:
- ;on échange [DI] <-> [SI]
- MOV AL,byte ptr [DI]
- MOV AH,byte ptr [SI]
- MOV byte ptr [SI],AL
- MOV byte ptr [DI],AH
- ;octets suivants
- DEC DI
- INC SI
- ;tant que l'on n'a pas tout inversé (SI < DI)
- CMP SI,DI
- JL boucleInv
- RET
- InverseChaine ENDP
-
- ;convertit un nombre en sa représentation décimale (chaine)
- ;==========================================================
- ;DS:SI : adresse où stocker la chaine
- ;AX : nombre à convertir
- ;CX=1 : nombre signé, CX=0 : non signé
- ChaineDec PROC
- ;sauvegarde des registres
- PUSH DX
- PUSH DI
- PUSH CX
- PUSH SI
- PUSH AX
-
- ;si le nombre est non signé
- CMP CX,0
- ;on passe à la conversion
- JE PasSigne
- ;sinon, on calcule la valeur absolue
- ;si AX est >= 0
- CMP AX,0
- JGE PasSigne
- ;valeur absolue de AX
- NEG AX
- ;on ajoute le signe
- MOV byte ptr [SI],'-'
- ;on passe au caractère suivant
- INC SI
-
- PasSigne:
- ;sauvegarde de l'offset de départ de la chaine
- MOV DI,SI
-
- ;mot de poids fort dans le dividende
- XOR DX,DX
-
- ;tant qu'il y a des chiffres à ajouter
- boucleDec:
- ;CX=AX pour le calcule du reste de division
- MOV CX,AX
-
- ;division par 10 : algo de Terje Mathisen
- ;========================================
- MOV DX,0CCCDh
- ;on divise AX par 10 : résultat dans DX
- MUL DX
- SHR DX,3
- ;========================================
-
- ;on sauvegarde de résultat dans AX
- MOV AX,DX
-
- ;on calcule le reste de la division de CX(=AX avant division)
- SHL DX,1 ;DX = quotient * 2
- SUB CX,DX ;CX = divende - quotient * 2
- SHL DX,2 ;DX = quotient * 2 * 4 = quotient * 8
- SUB CX,DX ;CX = dividende - quotient * 2 - quotient * 8 = dividende - quotient * 10 = reste
-
- ;on ajoute '0'=48 pour convertir le chiffre en code ascii correspondant
- ADD CX,'0'
-
- ;on le copie dans la chaine
- MOV byte ptr [DI],CL
-
- ;on passe au caractère suivant
- INC DI
- ;si le quotient est nul, on a fini la conversion
- CMP AX,0
- JA boucleDec
-
- ;on met un caractère de fin de chaine
- MOV byte ptr [DI],TerminalChar
-
- ;on se place avant le caractère de la fin de chaine
- DEC DI
-
- ;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
- CALL InverseChaine
-
- ;récupération des registres
- POP AX
- POP SI
- POP CX
- POP DI
- POP DX
- RET
- ChaineDec ENDP
-
- ;convertit un nombre en sa représentation héxadécimale (chaine)
- ;==============================================================
- ;DS:SI : adresse où stocker la chaine
- ;AX : nombre à convertir
- ;CX : nombre de digits
- ChaineHex PROC
- ;sauvegarde des registres
- PUSH DX
- PUSH DI
- PUSH CX
- PUSH SI
- PUSH AX
-
- ;sauvegarde de l'offset de départ de la chaine
- MOV DI,SI
-
-
- ;tant qu'il y a des chiffres à ajouter
- boucleHexa:
- ;DX=AX pour le calcul du reste de AX / 16
- MOV DX,AX
-
- ;DX = reste de la division de AX par 16
- AND DX,15 ;DX = AX and 01111b = AX mod 16
- ;on divise AX par 16 = 2 ^ 4
- SHR AX,4
-
- ;le reste DX est-il entre 0 et 9
- CMP DX,9
- ;si 9 < DX < 15
- JA LettreHexa
- ;sinon, un chiffre
- ADD DX,'0'
- JMP MetChaine
-
- ;on doit afficher une lettre Hexadécimale
- LettreHexa:
- ADD DX,'A'-10
-
- ;on met le caractère dans la chaine
- MetChaine:
- MOV byte ptr [DI],DL
-
- ;on passe au caractère suivant
- INC DI
- ;un digit affiché en plus
- DEC CX
- ;si le quotient est nul, on a fini la conversion
- CMP AX,0
- JA boucleHexa
-
- ;s'il n'y a plus de digit '0' à ajouter devant le nombre
- CMP CX,0
- ;on termine la chaine
- JLE FinChaineHexa
-
- ;sinon, on ajoute les '0' manquants
- boucle0Hexa:
- ;on met un "0"
- MOV byte ptr [DI],'0'
- ;on passe au caractère suivant
- INC DI
- ;tant que CX != 0
- LOOP boucle0Hexa
-
- ;on ajoute le caractère de fin de chaine
- FinChaineHexa:
-
- ;on met un caractère de fin de chaine
- MOV byte ptr [DI],TerminalChar
-
- ;on se place avant le caractère de la fin de chaine
- DEC DI
-
- ;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
- CALL InverseChaine
-
- ;récupération des registres
- POP AX
- POP SI
- POP CX
- POP DI
- POP DX
- RET
- ChaineHex ENDP
-
- ;convertit un nombre en sa représentation octale (chaine)
- ;==========================================================
- ;DS:SI : adresse où stocker la chaine
- ;AX : nombre à convertir
- ;CX : nombre de digits
- ChaineOct PROC
- ;sauvegarde des registres
- PUSH DX
- PUSH DI
- PUSH CX
- PUSH SI
- PUSH AX
-
- ;sauvegarde de l'offset de départ de la chaine
- MOV DI,SI
-
- ;tant qu'il y a des chiffres à ajouter
- boucleOct:
- ;on divise AX par 8 : quotient dans AX, reste dans DX (DL)
- ;calcul du reste
- MOV DL,AL ;DL=AL
- AND DL,07h ;DL = AL and 0111b = AL mod 8
- ;division par 2 ^ 3 = division par 8
- SHR AX,3
-
- ;on ajoute '0'=48 pour convertir le chiffre en code ascii correspondant
- ADD DL,'0'
-
- ;on le copie dans la chaine
- MOV byte ptr [DI],DL
-
- ;on passe au caractère suivant
- INC DI
- ;on a un digit de plus
- DEC CX
- ;si le quotient est nul, on a fini la conversion
- CMP AX,0
- JA boucleOct
-
- ;s'il n'y a plus de digit '0' à ajouter devant le nombre
- CMP CX,0
- ;on termine la chaine
- JLE FinChaineOct
-
- ;sinon, on ajoute les '0' manquants
- boucle0Oct:
- ;on met un "0"
- MOV byte ptr [DI],'0'
- ;on passe au caractère suivant
- INC DI
- ;tant que CX != 0
- LOOP boucle0Oct
-
- ;on ajoute le caractère de fin de chaine
- FinChaineOct:
-
- ;on met un caractère de fin de chaine
- MOV byte ptr [DI],TerminalChar
-
- ;on se place avant le caractère de la fin de chaine
- DEC DI
-
- ;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
- CALL InverseChaine
-
- ;récupération des registres
- POP AX
- POP SI
- POP CX
- POP DI
- POP DX
- RET
- ChaineOct ENDP
-
- ;convertit un nombre en sa représentation décimale (chaine)
- ;==========================================================
- ;DS:SI : adresse où stocker la chaine
- ;AX : nombre à convertir
- ChaineBin PROC
- ;sauvegarde des registres
- PUSH DX
- PUSH DI
- PUSH CX
- PUSH SI
- PUSH AX
-
- ;sauvegarde de l'offset de départ de la chaine
- MOV DI,SI
-
- ;tant qu'il y a des chiffres à ajouter
- boucleBin:
- ;on divise AX par 2 : quotient dans AX, reste dans DX (DL)
- ;calcul du reste
- MOV DL,AL ;DL=AL
- AND DL,1 ;DL=AL and 2 = AL mod 2
- ;division par 2
- SHR AX,1
-
- ;on ajoute '0'=48 pour convertir le chiffre en code ascii correspondant
- ADD DL,'0'
-
- ;on le copie dans la chaine
- MOV byte ptr [DI],DL
-
- ;on passe au caractère suivant
- INC DI
- ;on a un digit de plus
- DEC CX
- ;si le quotient est nul, on a fini la conversion
- CMP AX,0
- JA boucleBin
-
- ;s'il n'y a plus de digit '0' à ajouter devant le nombre
- CMP CX,0
- ;on termine la chaine
- JLE FinChaineBin
-
- ;sinon, on ajoute les '0' manquants
- boucle0Bin:
- ;on met un "0"
- MOV byte ptr [DI],'0'
- ;on passe au caractère suivant
- INC DI
- ;tant que CX != 0
- LOOP boucle0Bin
-
- ;on ajoute le caractère de fin de chaine
- FinChaineBin:
-
- ;on met un caractère de fin de chaine
- MOV byte ptr [DI],TerminalChar
-
- ;on se place avant le caractère de la fin de chaine
- DEC DI
-
- ;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
- CALL InverseChaine
-
- ;récupération des registres
- POP AX
- POP SI
- POP CX
- POP DI
- POP DX
- RET
- ChaineBin ENDP
-
- ;macro pour afficher une chaine à l'écran
- Printf MACRO Chain
- PUSH AX
- MOV AH,09h ;fonction 9 : "puts"
- LEA DX,Chain ;DS:DX : adresse de la chaine à afficher
- INT 21h ;interruption DOS
- POP AX
- ENDM
-
- ;programme principal de test
- Deb:
- ;init de DS
- MOV AX,DATA
- MOV DS,AX
-
- ;DS:SI : adresse de la chaine résultat
- LEA SI,Chaine
-
- ;nombre à afficher
- MOV AX,0FFF9h
-
- ;================
- Printf Prompt
-
- ;affichage
- ;pas de signe
- MOV CX,0
- ;conversion
- CALL ChaineDec
-
- Printf Chaine
- Printf CRLF
- ;================
- Printf ChDec
-
- ;affichage
- ;pas de signe
- MOV CX,0
- ;conversion
- CALL ChaineDec
-
- Printf Chaine
- Printf CRLF
- ;================
- Printf ChHexa
-
- ;affichage
- ;4 digits
- MOV CX,4
- ;conversion
- CALL ChaineHex
-
- Printf Chaine
- Printf CRLF
- ;================
- Printf ChOct
-
- ;affichage
- ;conversion
- CALL ChaineOct
-
- Printf Chaine
- Printf CRLF
- ;================
- Printf ChBin
-
- ;affichage
- ;16 digits
- MOV CX,16
- ;conversion
- CALL ChaineBin
-
- Printf Chaine
- Printf CRLF
- ;================
- Printf ChNeg
-
- ;affichage
- NEG AX
- ;un signe
- MOV CX,1
- ;conversion
- CALL ChaineDec
-
- Printf Chaine
- Printf CRLF
-
- MOV AL,0
- MOV AH,04Ch
- INT 21h
- CODE ENDS
- END Deb
MODEL SMALL
STACK 100h
DATA SEGMENT
Chaine DB 25 DUP ('$')
Prompt DB 'Conversion de $'
ChHexa DB 'en hexa :0x$'
ChDec DB 'en decimal :$'
ChBin DB 'en binaire :0b$'
ChOct DB 'en octal :0o$'
ChNeg DB 'en negatif :$'
CRLF DB 13,10,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
TerminalChar EQU '$'
;inverse une chaine
;==================
;DS:SI : adresse du début de la chaine
;DS:DI : adresse de fin de la chaine (avant le caractère de terminaison de chaine)
InverseChaine PROC
;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
boucleInv:
;on échange [DI] <-> [SI]
MOV AL,byte ptr [DI]
MOV AH,byte ptr [SI]
MOV byte ptr [SI],AL
MOV byte ptr [DI],AH
;octets suivants
DEC DI
INC SI
;tant que l'on n'a pas tout inversé (SI < DI)
CMP SI,DI
JL boucleInv
RET
InverseChaine ENDP
;convertit un nombre en sa représentation décimale (chaine)
;==========================================================
;DS:SI : adresse où stocker la chaine
;AX : nombre à convertir
;CX=1 : nombre signé, CX=0 : non signé
ChaineDec PROC
;sauvegarde des registres
PUSH DX
PUSH DI
PUSH CX
PUSH SI
PUSH AX
;si le nombre est non signé
CMP CX,0
;on passe à la conversion
JE PasSigne
;sinon, on calcule la valeur absolue
;si AX est >= 0
CMP AX,0
JGE PasSigne
;valeur absolue de AX
NEG AX
;on ajoute le signe
MOV byte ptr [SI],'-'
;on passe au caractère suivant
INC SI
PasSigne:
;sauvegarde de l'offset de départ de la chaine
MOV DI,SI
;mot de poids fort dans le dividende
XOR DX,DX
;tant qu'il y a des chiffres à ajouter
boucleDec:
;CX=AX pour le calcule du reste de division
MOV CX,AX
;division par 10 : algo de Terje Mathisen
;========================================
MOV DX,0CCCDh
;on divise AX par 10 : résultat dans DX
MUL DX
SHR DX,3
;========================================
;on sauvegarde de résultat dans AX
MOV AX,DX
;on calcule le reste de la division de CX(=AX avant division)
SHL DX,1 ;DX = quotient * 2
SUB CX,DX ;CX = divende - quotient * 2
SHL DX,2 ;DX = quotient * 2 * 4 = quotient * 8
SUB CX,DX ;CX = dividende - quotient * 2 - quotient * 8 = dividende - quotient * 10 = reste
;on ajoute '0'=48 pour convertir le chiffre en code ascii correspondant
ADD CX,'0'
;on le copie dans la chaine
MOV byte ptr [DI],CL
;on passe au caractère suivant
INC DI
;si le quotient est nul, on a fini la conversion
CMP AX,0
JA boucleDec
;on met un caractère de fin de chaine
MOV byte ptr [DI],TerminalChar
;on se place avant le caractère de la fin de chaine
DEC DI
;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
CALL InverseChaine
;récupération des registres
POP AX
POP SI
POP CX
POP DI
POP DX
RET
ChaineDec ENDP
;convertit un nombre en sa représentation héxadécimale (chaine)
;==============================================================
;DS:SI : adresse où stocker la chaine
;AX : nombre à convertir
;CX : nombre de digits
ChaineHex PROC
;sauvegarde des registres
PUSH DX
PUSH DI
PUSH CX
PUSH SI
PUSH AX
;sauvegarde de l'offset de départ de la chaine
MOV DI,SI
;tant qu'il y a des chiffres à ajouter
boucleHexa:
;DX=AX pour le calcul du reste de AX / 16
MOV DX,AX
;DX = reste de la division de AX par 16
AND DX,15 ;DX = AX and 01111b = AX mod 16
;on divise AX par 16 = 2 ^ 4
SHR AX,4
;le reste DX est-il entre 0 et 9
CMP DX,9
;si 9 < DX < 15
JA LettreHexa
;sinon, un chiffre
ADD DX,'0'
JMP MetChaine
;on doit afficher une lettre Hexadécimale
LettreHexa:
ADD DX,'A'-10
;on met le caractère dans la chaine
MetChaine:
MOV byte ptr [DI],DL
;on passe au caractère suivant
INC DI
;un digit affiché en plus
DEC CX
;si le quotient est nul, on a fini la conversion
CMP AX,0
JA boucleHexa
;s'il n'y a plus de digit '0' à ajouter devant le nombre
CMP CX,0
;on termine la chaine
JLE FinChaineHexa
;sinon, on ajoute les '0' manquants
boucle0Hexa:
;on met un "0"
MOV byte ptr [DI],'0'
;on passe au caractère suivant
INC DI
;tant que CX != 0
LOOP boucle0Hexa
;on ajoute le caractère de fin de chaine
FinChaineHexa:
;on met un caractère de fin de chaine
MOV byte ptr [DI],TerminalChar
;on se place avant le caractère de la fin de chaine
DEC DI
;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
CALL InverseChaine
;récupération des registres
POP AX
POP SI
POP CX
POP DI
POP DX
RET
ChaineHex ENDP
;convertit un nombre en sa représentation octale (chaine)
;==========================================================
;DS:SI : adresse où stocker la chaine
;AX : nombre à convertir
;CX : nombre de digits
ChaineOct PROC
;sauvegarde des registres
PUSH DX
PUSH DI
PUSH CX
PUSH SI
PUSH AX
;sauvegarde de l'offset de départ de la chaine
MOV DI,SI
;tant qu'il y a des chiffres à ajouter
boucleOct:
;on divise AX par 8 : quotient dans AX, reste dans DX (DL)
;calcul du reste
MOV DL,AL ;DL=AL
AND DL,07h ;DL = AL and 0111b = AL mod 8
;division par 2 ^ 3 = division par 8
SHR AX,3
;on ajoute '0'=48 pour convertir le chiffre en code ascii correspondant
ADD DL,'0'
;on le copie dans la chaine
MOV byte ptr [DI],DL
;on passe au caractère suivant
INC DI
;on a un digit de plus
DEC CX
;si le quotient est nul, on a fini la conversion
CMP AX,0
JA boucleOct
;s'il n'y a plus de digit '0' à ajouter devant le nombre
CMP CX,0
;on termine la chaine
JLE FinChaineOct
;sinon, on ajoute les '0' manquants
boucle0Oct:
;on met un "0"
MOV byte ptr [DI],'0'
;on passe au caractère suivant
INC DI
;tant que CX != 0
LOOP boucle0Oct
;on ajoute le caractère de fin de chaine
FinChaineOct:
;on met un caractère de fin de chaine
MOV byte ptr [DI],TerminalChar
;on se place avant le caractère de la fin de chaine
DEC DI
;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
CALL InverseChaine
;récupération des registres
POP AX
POP SI
POP CX
POP DI
POP DX
RET
ChaineOct ENDP
;convertit un nombre en sa représentation décimale (chaine)
;==========================================================
;DS:SI : adresse où stocker la chaine
;AX : nombre à convertir
ChaineBin PROC
;sauvegarde des registres
PUSH DX
PUSH DI
PUSH CX
PUSH SI
PUSH AX
;sauvegarde de l'offset de départ de la chaine
MOV DI,SI
;tant qu'il y a des chiffres à ajouter
boucleBin:
;on divise AX par 2 : quotient dans AX, reste dans DX (DL)
;calcul du reste
MOV DL,AL ;DL=AL
AND DL,1 ;DL=AL and 2 = AL mod 2
;division par 2
SHR AX,1
;on ajoute '0'=48 pour convertir le chiffre en code ascii correspondant
ADD DL,'0'
;on le copie dans la chaine
MOV byte ptr [DI],DL
;on passe au caractère suivant
INC DI
;on a un digit de plus
DEC CX
;si le quotient est nul, on a fini la conversion
CMP AX,0
JA boucleBin
;s'il n'y a plus de digit '0' à ajouter devant le nombre
CMP CX,0
;on termine la chaine
JLE FinChaineBin
;sinon, on ajoute les '0' manquants
boucle0Bin:
;on met un "0"
MOV byte ptr [DI],'0'
;on passe au caractère suivant
INC DI
;tant que CX != 0
LOOP boucle0Bin
;on ajoute le caractère de fin de chaine
FinChaineBin:
;on met un caractère de fin de chaine
MOV byte ptr [DI],TerminalChar
;on se place avant le caractère de la fin de chaine
DEC DI
;on inverse la chaine puisque l'on a calculé la représentation à l'envers (méthode des divisions successives)
CALL InverseChaine
;récupération des registres
POP AX
POP SI
POP CX
POP DI
POP DX
RET
ChaineBin ENDP
;macro pour afficher une chaine à l'écran
Printf MACRO Chain
PUSH AX
MOV AH,09h ;fonction 9 : "puts"
LEA DX,Chain ;DS:DX : adresse de la chaine à afficher
INT 21h ;interruption DOS
POP AX
ENDM
;programme principal de test
Deb:
;init de DS
MOV AX,DATA
MOV DS,AX
;DS:SI : adresse de la chaine résultat
LEA SI,Chaine
;nombre à afficher
MOV AX,0FFF9h
;================
Printf Prompt
;affichage
;pas de signe
MOV CX,0
;conversion
CALL ChaineDec
Printf Chaine
Printf CRLF
;================
Printf ChDec
;affichage
;pas de signe
MOV CX,0
;conversion
CALL ChaineDec
Printf Chaine
Printf CRLF
;================
Printf ChHexa
;affichage
;4 digits
MOV CX,4
;conversion
CALL ChaineHex
Printf Chaine
Printf CRLF
;================
Printf ChOct
;affichage
;conversion
CALL ChaineOct
Printf Chaine
Printf CRLF
;================
Printf ChBin
;affichage
;16 digits
MOV CX,16
;conversion
CALL ChaineBin
Printf Chaine
Printf CRLF
;================
Printf ChNeg
;affichage
NEG AX
;un signe
MOV CX,1
;conversion
CALL ChaineDec
Printf Chaine
Printf CRLF
MOV AL,0
MOV AH,04Ch
INT 21h
CODE ENDS
END Deb
Conclusion
N'hésitez pas à commenter et à noter...
Le code est commenté et optimisé (principalement DIV et MUL) dans les limites de mes connaissances...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Comment convertir une chaine de caractere en nombre [ par davidv ]
Voila,comment une chaine de caractere "12" par exemplepeut elle etre convertie en nombre 12.merci a tousdavidV
Nombre Parfait En Assembleur [ par kopindo ]
Bonjour,çava? bon,j'ai besoin de votre aide pour ce qui concerne ce exercice.et je sais pas comme dois-je commencer.merci d'avance je souhaite écrir
jeu [ par mimouth ]
stp j'ai besoin un programme en c++ de jeu "esikoridor" Esikoridor L'Esikoridor est un jeu simple de la famille des Korridor et autre cul-de-sac. Il
tasm [ par yosrasouaifi ]
DOSSEG ;Modele de segmentation DOS .MODEL SMALL ;Fixe le modele de segmentation :petit modele .STACK 100h .DATA mes
bus d'adresse [ par lp2012 ]
bonjour jai un petite question : quel est le nombre de mots adressable et la adresse haute d'une memoire possede 32 bits.puis quel est le nombre d
petit problême FPU [ par prunkdump ]
Bonjours, voilà je voudrais savoir comment afficher un nombre à vigule flottante lorsqu'il est en mémoire. Plus simplement comment convertir un nombre
conversion de nombre [ par jolindji ]
bonjour a tous... j'ai besoin d'un petit programme qui effectuerai la conversion d'un nombre entré au clavier en base 2,8,10,16ou quelque choes qui y
Ecriture de chaîne [ par Laurent1313 ]
Salut,Je cherche à modifier une chaîne en assembleur. Je prends donc un caractère, je fais un traitement dessus puis je recopie le caractère dans la c
Deconcatenation de chaîne [ par Stormy ]
Sur le site ASMFR, il y a une source récente sur la déconcaténation de chaîne. Celle-ci démontre comment obtenir une partie de chaîne seule. L'exemple
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|