begin process at 2012 05 25 11:39:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Système d'exploitation

 > 

Unix

 > 

nombre premier en nasm


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

nombre premier en nasm

samedi 26 juin 2010 à 00:46:07 | nombre premier en nasm

YAWLY




MED.MERZOUG
salut tout le monde
vous pouvez m'aider
si j le compile sa affiche chaque fois le nbr est non premeir
<<le programme permet de lire un entier et affiche s'il est un nbr premier ou non>>
le code est :
Section .date
chaine1 dw 'veulliez saisir un entier ',0xA,0xA
long1 equ $-chaine1

chaine2 dw 'premier ',0xA
long2 equ $-chaine2
chaine3 dw'no premier',0xA
long3 equ $-chaine3

Section .bss

x resb 3
Section .text

global _start

_start :

mov eax, 4
mov ebx, 1
mov ecx, chaine1
mov edx, long1
int 80h

mov eax, 3
mov ebx, 0
mov ecx, x
mov edx, 2
int 80h

mov eax,[x]
cmp eax,3
jbe premier
mov ebx,eax
sub ebx,2

division:
cmp ebx,1
JE premier

push eax
mov edx,0
div ebx
pop eax
cmp edx,0
JE no_prem
dec ebx
JMP division

premier:
mov eax, 4
mov ebx, 1
mov ecx, chaine2
mov edx, long2
int 80h

no_prem:
mov eax,4
mov ebx,1
mov ecx,chaine3
mov edx,long3
int 80h

mov eax, 1
mov ebx, 0
int 80h

samedi 26 juin 2010 à 02:14:13 | Re : nombre premier en nasm

patatalo

Membre Club Administrateur CodeS-SourceS
salut,


commente ton prog car si tu crois qu'on va s'amuser à traduire les syscalls pour ta pomme, tu te gourres.

@++
samedi 26 juin 2010 à 22:31:24 | Re : nombre premier en nasm

ghuysmans99

Membre Club
Réponse acceptée !
@patatalo :

Si t'as pas envie de trop te fatiguer il te suffit de faire (ou prendre) un code en assembleur, le compiler et regarder ce que ça donne ... Et c'est pas plus honnête que de demander sur un forum de faire son devoir.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
dimanche 27 juin 2010 à 02:47:34 | Re : nombre premier en nasm

patatalo

Membre Club Administrateur CodeS-SourceS
Ca pourra t'aider
mercredi 14 juillet 2010 à 03:20:48 | Re : nombre premier en nasm

YAWLY




MED.MERZOUG

Salut tout le monde j'ai besoin de votre aide mon programme ne marche pas toujours
je demande l'aide sur un programme pour effectuer toutes les operations addition mulip ,soustrac ,division
mercredi 14 juillet 2010 à 21:48:35 | Re : nombre premier en nasm

ghuysmans99

Membre Club
Compile ça et modifie le code pour que ça ressemble à un truc que t'as fait toi-même (là c'est un des trucs que j'ai posté un type qui avait au moins fait un effort ) :
Code C/C++ :
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

void calculette()
{
	int n1, n2, res;
	char op;

	system("cls");
	printf("Calculatrice simplifiee\nPar ghuysmans99 (CodeS-SourceS), 2010.\n\n");
	printf("Premier nombre  : "); scanf("%d",&n1);
	printf("Deuxieme nombre : "); scanf("%d",&n2);
	do
	{
		printf("Operateur +-*/  : ");
		fflush(stdin); scanf("%c",&op);
	} while (op!='+' && op!='-' && op!='*' && op!='/');
	puts("");

	switch(op)
	{
		case '+': res=n1+n2; break;
		case '-': res=n1-n2; break;
		case '*': res=n1*n2; break;
		case '/': res=n1/n2; break;
	}
	printf("%d%c%d=%d\n\n",n1,op,n2,res);
}

int main(int argc, char* argv[])
{
	char continuer;

	do
	{
		calculette();
		printf("Tapez 'x' pour quitter ... "); fflush(stdin); scanf("%c",&continuer);
	} while (continuer!='x');

	return 0;
}


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
jeudi 15 juillet 2010 à 01:59:15 | Re : nombre premier en nasm

YAWLY




MED.MERZOUG
Salut ça peut marcher en c .j'aimerai savoir comment ça peut marcher en nasm (assembleur ) si vous pourriez me montrer comment je pourrai faire un programme en utilisant le code c en assembleur avec nasm .

je faisais tenter de realiser un programme assembleur qui lit deux entier saisis par clavier et affiche leur somme .
le code est:
extern printf
global main
segment .data
;value1 dd 1h
;value2 dd 2h
chaine1 dw 'veulliez saisir un entier1 ',0xA,0xA
long1 equ $-chaine1
chaine2 dw 'veulliez saisir un entier 2',0xA,0xA
long2 equ $-chaine2
format_d db '%d', 10, 0
Section .bss

x1 resb 8
x2 resb 8




section .text

main:


mov eax, 4
mov ebx, 1
mov ecx, chaine1
mov edx, long1
int 80h

mov eax, 3
mov ebx, 0
mov ecx, x1
mov edx, 2
int 80h
mov eax, 4
mov ebx, 1
mov ecx, chaine2
mov edx, long2
int 80h

mov eax, 3
mov ebx, 0
mov ecx, x2
mov edx, 2
int 80h

mov EAX, [x1]
add EAX, [x2]
push EAX
push format_d
call printf
pop EAX
pop eax

ret

quant je le compile et je fais saisir par exemple 4 et 1 ,il affiche 5221
aussi de mem si : 2 et 5 il affiche 5223

je suis debutant en assembleur jne connais pas becou
jeudi 15 juillet 2010 à 15:27:38 | Re : nombre premier en nasm

ghuysmans99

Membre Club
Compile avec GCC, décompile avec NDISASM qui est fourni normalement avec NASM.

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question


Cette discussion est classée dans : mov, premier, eax, edx, ebx


Répondre à ce message

Sujets en rapport avec ce message

# Export Table - Kernel32.dll - GetProcessAddress # [ par joanna ] Voici le code qui devrait récupérer l'adresse de la fonction "GetProcessAddress" connaissant l'ImageBase du module "kernel32.dll".Malheureusement à la # Export Table --- Kernell32.dll --- GetProcAddress # [ par joanna ] Voici le code qui devrait récupérer l'adresse de la fonction "GetProcessAddress" connaissant l'ImageBase du module "kernel32.dll".Malheureusement à la Différences ??? [ par Arecibo ] Voila je debute en assembleur et j'aimerais savoir quelles sont les différences entre :-> mov eax, ebx et mov eax, [ebx]-> mov esi, eax et mov [esi], LecteurEstDvd asm inline [ par AlexMAN ] Bonjour, Voila j'ai un ptit pb au nivo, je pense, de l'appel de la fonction DeviceIoControl, le code : //Fonction Cint __stdcall LecteurEstDvd(char *p j'ai un prob avec mon buffer ; ya pas d'amuses gueules (masm32) [ par papiboff ] bj si je mets le buffer "somme " en dd avec charge eax et que j'ajoute deux 'dec ebx ' , ben , marche pas correctement ; (pêrqué ???? = en french) sv [linux] read and open [ par sheorogath ] Bonjour,je débute un peu en assembleur et j'essaie de faire un programme qui lit le début d'un fichier dont le nom est entré par l'utilisateur.Voici l Petit problème pour comparer (cmp) [ par smok1360 ] Bonjour à tous,Pour commencer, j'espère de ne pas avoir choisis le mauvais lieu pour poster, j'ai un petit peu hésité Donc, j'ai décidé d'apprendre l' inverser une chaine [ par MrdJack ] salut, je suis sur un projet de calculatrice me permettant de faire des calculs avec des nombres tres grands. chaque nombre est stocké dans la memoire Inversion de chaîne [ par Bidou ] Bonjour à tous,A vrai dire je suis plutôt nouveau en asm et pas très bon lol. Mais bon, faut bien commencer un jour hein. Pour me faire la main, j'ai Aligner des données pour le SSE [ par epineurien ] Bonjour à tous !J'ai un petit problème avec du code dont je mesure la vitesse: suivant la compilation, la vitesse varie du simple au double .J'expliqu


Nos sponsors


Sondage...

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 : 1,279 sec (3)

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