• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

gamerX

Factorial de um numero em assembly

4 mensagens neste tópico

Boas!

Estou com alguns problemas em colocar a funcionar um programazito que calcula o factorial de um determinado numero e agradecia se alguém me pudesse ajudar...Eis o código:


...

   numero db 5
   factorial db ?

...

  mov ax,dados
  mov ds,ax
  mov ax,b800h
  mov es,ax
  mov dl,numero
  xor ax,ax
  mov al,numero
  mov cx,ax

ciclo:
      dec dl
      mov al,factorial
      mul dl
      mov factorial,al
      loop ciclo

mov dl,factorial
mov bx,0000h
mov byte ptr es:[bx],dl

mov ah,4ch				
int 21h

...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem eu tenho esse programa em assembly mas é em arquitectura MARIE... se quiseres diz qualquer coisa...

Cumps....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

Qualquer dúvida ou erro, apita, ja não mexo nisto hà uns tempinhos.

start:
	xor ax, ax			; 
	mov al, 5			; carregar o numero e passa a funcao
	call fact			; 

	mov ah, 4ch			;
	int 21h				; sair
	ret				;

fact:
	test al, al			; verifica se o parametro e zero
	jnz carregar			;

		mov ax, 1		; !0 = 1	
		ret			;

carregar:			
	mov cx, ax			; 
	dec cx				; 

ciclo:
	jz sair_ciclo			;
	mul cx				;
	loop ciclo			;

sair_ciclo:	
	ret				; retorna da funcao, com o valor em ax

Outra forma será através do FPU (Floating-Point Unit).

Inté

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora