The MASM Forum

General => The Workshop => Topic started by: mabdelouahab on September 16, 2018, 02:41:32 AM

Title: 15000 Digits of PI
Post by: mabdelouahab on September 16, 2018, 02:41:32 AM

Calc__Pi proc
XOR RAX,RAX
MOV a,RAX
MOV R12,__N
loop1:
PUSH R12
;-----------------------------------------------------
MOV d,0
MOV i,r12
Loop2:
;-------------------------------------------------
XOR R11,R11
MOV R11 ,i
ADD R11 ,R11
ADD R11 ,R11
ADD R11 ,R11
LEA RAX,r
ADD R11,RAX
MOV RAX,QWORD PTR [R11]
IMUL RAX,RAX,10000
ADD d,RAX
MOV RAX,i
ADD RAX,RAX
DEC RAX
MOV b,RAX
MOV RAX, d
CDQ
IDIV b
MOV QWORD PTR [R11], RDX
MOV RAX, d
CDQ
IDIV b
MOV d, RAX
SUB R11,8
DEC i
CMP i,0
JE _next
MOV RAX, d
IMUL RAX, i
MOV d, RAX
;-------------------------------------------------
JMP loop2
_next:
MOV RCX,10000
MOV RAX, d
CDQ
IDIV RCX
ADD RAX,a
invoke printf,"%.4d",Rax
MOV RCX,10000
MOV RAX, d
CDQ
IDIV RCX
MOV a, RDX
;-----------------------------------------------------
POP R12
SUB R12,14
CMP R12,0
JG  loop1
ret
Calc__Pi endp

Source: Computing Pi in C (https://crypto.stanford.edu/pbc/notes/pi/code.html)
Title: Re: 15000 Digits of PI
Post by: daydreamer on September 30, 2018, 06:31:00 PM
its great work :t
Title: Re: 15000 Digits of PI
Post by: hutch-- on September 30, 2018, 06:50:02 PM
mabdelouahab,

Would you stick big blocks of text like the pi results in a zip file instead, makes the forum hard to read otherwise.
Title: Re: 15000 Digits of PI
Post by: mabdelouahab on September 30, 2018, 09:30:47 PM
 :t
Title: Re: 15000 Digits of PI
Post by: hutch-- on September 30, 2018, 10:00:27 PM
Gratsie.  :t