|  | | 
	
		 
			
		
		Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
	 
			 
				Mensajes - Guybrush_Treepwood
			
			Páginas: [1] 
		 
			
				
				
					1 
						
						« en: Jueves 12 de Enero de 2006, 13:02 »
					 
					Buenas:
 Sigo con mi problema, pero algo he conseguido avanzar, ya he conseguido que me reconozca si son primos o no los numeros que introduzco por teclado, pero tiene un fallo y es que al introducir por ejemplo el numero 65 me dice que es primo o el 25, os dejo el codigo del programa tal y como esta ahora, si me podeis ayudar os lo agradeceria mucho:
 
 
 Dosseg
 .model small
 .stack 100h
 .data
 numero db 30h,30h,30h
 factor db 10
 primo db 'Es primo',10,13,'$'
 noprimo db 'No es primo',10,13,'$'
 .code
 convertir proc
 sub al, 30h
 ret
 convertir endp
 
 Inicio:
 mov ax, @data
 mov ds, ax
 mov ah,1
 int 21h
 call convertir
 mov numero,al
 int 21h
 call convertir
 mov numero[1],al
 int 21h
 call convertir
 mov numero[2],al
 
 
 mov bh,numero[0]
 mov bl,numero[1]
 mov cl,4
 shl bl,cl
 shr bx,cl
 
 xor dl,dl
 mov dl,2
 bucle:
 cmp dl,bl
 jz esprimo
 xor ax,ax
 mov al,bl
 mov cl,dl
 div cl
 cmp ah,0
 jz noesprimo
 inc dl
 jmp bucle
 
 
 noesprimo:
 mov ah, 9
 lea dx, noprimo
 int 21h
 jmp fin
 esprimo:
 mov ah, 9
 lea dx, primo
 int 21h
 
 
 fin:
 mov ah, 4Ch
 int 21h
 end inicio
 
 Un saludo
 
			
				
				
					2 
						
						« en: Miércoles 11 de Enero de 2006, 18:30 »
					 
					Buenas:
 Tengo un problemilla y es que no se como calcular correctamente, usando ensamblador, el como saber si un numero introducido por teclado es o no un numero primo.
 
 El codigo que tengo escrito es el siguiente:
 
 dosseg
 .model small
 .stack 100h
 .data
 numero db 30h,30h,30h
 factor db 10
 primo db 'Es primo',10,13,'$'
 noprimo db 'No es primo',10,13,'$'
 .code
 
 convertir proc
 sub al, 30h
 ret
 convertir endp
 
 
 inicio:
 mov ax,@data
 mov ds,ax
 
 mov ah,1
 int 21h
 call convertir
 mov numero,al
 int 21h
 call convertir
 mov numero[1],al
 int 21h
 call convertir
 mov numero[2],al
 
 
 mov bh,numero[0]
 mov bl,numero[1]
 mov cl,4
 shl bl,cl
 shr bx,cl
 
 mov cl,bl
 xor ax,ax
 et1:
 div cl
 cmp ax,0
 jnz esprimo
 dec cx
 jcxz noesprimo
 jmp et1
 
 noesprimo:
 mov ah, 9
 lea dx, noprimo
 int 21h
 jmp fin
 esprimo:
 mov ah, 9
 lea dx, primo
 int 21h
 
 
 fin:
 mov ah, 4Ch
 int 21h
 end inicio
 
 Si me podeis hechar una mano os lo agradeceria muchisimo.
 
 Un saludo
 
			Páginas: [1] 
		 | 
 |  |