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

Catarrunas

Assembler - coprocessador matematico - duvida

4 mensagens neste tópico

Este e o codigo que envolve o coprocessador matematico ( acho)  e obviamente nao funciona e gostava de saber se alguem me podia ajudar.

finit                                      ;Inicia o coprocessador matematico
fild valr                        ;Puxa o valor da raio para os registos internos do coprocessador "st(0)"
fild vala			;Puxa o valor da altura para os registos internos do coprocessador "st(1)"
fild 4				  ;  st(2) - > 2 
fild 2 				  ;st(3) -> 4
fild 3.14			; st(4) -> 3,14

       	fmul st(0), st(2)            ; Executa a multiplicação por  4	-    raio*4				
wait                              ;Aguardo que o coprocessador execute a sua tarefa
fmul st(0), st(4)	    ; Executa a multiplicação do st(0) pelo 3.14   -   ( raio*4) * 3.14
wait                 
    	fmul st(1), st(2)           ;Executa a multiplicação do st(1) por 2   - 2*h
wait                             ;Aguardo que o coprocessador execute a sua tarefa
fadd st(0),st(1)	; Faz a conta total   -  4*raio*3.14  + 2*h 
fist valr                      ;Puxa o valor da largura x largura x altura do registo internos do coprocessador "st(0)" para a variavel valr

A conta que procuro fazer e 4*raio*3.14 + 2 h  - onde raio e h sao introduzidos pelo utilizador.

O meu problema (penso eu) esta inicialização dos valores que nao se alteram como o 4 o 2 e o 3.14, tendo o agravamento da virgula no 3.14

Se me puderem dar umas dicas agradecia imenso. Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isto é para que processador? e ja agora qual o assembler que tas a usar? Digo isto pq nunca vi assembly com estas keywords... e provavelmente é esse o facto de ng te ter respondido...

cya

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