网站布局优化营销型网站设计特点
2026/4/18 14:42:33 网站建设 项目流程
网站布局优化,营销型网站设计特点,电商网站建设公司排名,wordpress cdn登录概述#xff1a;用汇编语言编制计算程序并不是强项#xff0c;特别是在涉及到浮点计算时#xff0c;但汇编的一个好处就是速度快#xff0c;所以在整数计算时可以试一下。本文的理论基础来自是电脑杂志1996年第10期#xff0c;作者郭继展发表的一篇文章#xff0c;作者提…概述用汇编语言编制计算程序并不是强项特别是在涉及到浮点计算时但汇编的一个好处就是速度快所以在整数计算时可以试一下。本文的理论基础来自是电脑杂志1996年第10期作者郭继展发表的一篇文章作者提出一个公式PI16arctg(1/5)-4arctg(1/239)在展开成两个级数之和然后整理得到PI16x(1/5-1/(5^3/3)1/(5^5/5)-1/(5^7/7)...)-4x(1/239-1/(239^3/3)1/(239^5/5)-1/(239^7/7)...)4x(4x5/25-239/57121)/1-4x(4x5/25^2-239/57121^2)/34x(4x5/25^3-239/57121^3)/5-...我对以上公式和推导一看就头疼但根据它编出的程序却可以在4分钟内算出圆周率的小数点下8万位!在P5/200上想当年祖冲之算了一生才算到3.14159265十九世纪英国人香克思用了一生才算到小数点下707位。本程序的难点就是如何达到小数点下这么多位的精度这个办法就是在计算机中一个 WORD 可以表示0到65535我们可以在内存定义一个字来表示五位数如果要算到小数点下10000位则定义2000个字来表示它如计算239/57121时可以用23900000/57121得到小于五位的结果存到第一个字中然后用余数乘以100000再除57121得到小于五位的结果存到第二个字中依此类推。为了计算时不至于溢出本程序动用一个双字来表示五位数再用一个段64K来表示一个高精度数共可以表示65536/4*5 共有小数点下 81920 位。一共用到三个段第一个段存储4*4*5/25^n第二个段存储4*239/57121^n第三个段存储最后的结果即 PI。本程序的意义就在于提出了一个表示高精度数的办法如果内寸足够的话理论上可以进行任何精度的计算。这里是编译好的可执行文件pi.com计算结果8万位的PI值pi.txt还有本程序要用到的两个公用子程序 scanf.asm 和 printf.asm用于读入键盘数字输入和屏幕数字输出。引用本程序时请注明出处并请勿改动版权信息源程序.386CODE SEGMENT USE16ASSUME CS:CODE,DS:CODEORG 100Hstart:jmp installHANDLE DW ?_MIN DW ?_SEC DW ?_SEC1 DW ?_A DD ?_B DD ?_FS_POINT DW 0_GS_POINT DW 0_DIV DD 1FLAG DB ? ;1 DIGITAL DD 5000 ;how many points want to calculatePOINT DW ? ;total point /5NUM_POINT DW ? ;total point /5 * 4_COUNT DD ?TMP_NUM0 DD ?TMP_NUM DD 10 dup (?)KEY_BUFF DB 6,0,6 dup (0)D_SAVE DB Saving result to file %c ...,0DW 80hD_SAVE_OK DB 8,8,8,8,, OK !,0dh,0ah,0D_SAVE_ERR DB 8,8,8,8,, error !,0dh,0ah,0D_TIME DB 0dh,0ah,Total %ld points, time used %d:%02d.%03d, db calculate %ld times.,0dh,0ah,0dw digital,_min,_sec,_sec1,_divD_SCAN DB PI calculater Dec 18, 1996,0dh,0ahDB Copyright(C) by Luo Yun Bin, phone 0576-4114689,0dh,0ah,0ahDB How many points (10-80000): ,0D_ABORT DB User pressed Esc, calculate aborted !%20r ,0dh,0ah,0D_CAL DB Calculating, please waiting ... (Esc to cancel),0dh,0D_CAL1 DB %d %% calculated, please waiting ... (Esc to cancel),0dh,0DW PERCENTPERCENT DW ?D_STR1 DB PI %1ld.%c,0dh,0ah,0DW tmp_num0,d_sub_strD_STR2 DB %5ld : %cDB 0dh,0ah,0DW _count,d_sub_strD_SUB_STR DB %05ld %05ld %05ld %05ld %05ld DB %05ld %05ld %05ld %05ld %05ld,0DW tmp_num,tmp_num4,tmp_num8,tmp_num12,tmp_num16DW tmp_num20,tmp_num24,tmp_num28,tmp_num32,tmp_num36install:mov si,offset d_scancall printfmov ah,0Ahmov dx,offset key_buffint 21hmov si,offset key_buff2call scanfmov eax,dword ptr scan_nummov digital,eaxmov si,offset d_calcall printfxor ax,axmov ds,axmov ax,ds:[046ch]push cspop dsmov _sec,axmov ax,csadd ax,1000h ;result of 4*4*5/25^nmov fs,axadd ax,1000h ;result of 4*239/57121^nmov gs,axadd ax,1000h ;total resultmov bp,axmov ax,fscall init_nummov dword ptr fs:[4],4*239*100000mov ax,gscall init_nummov dword ptr gs:[4],4*4*5*100000mov ax,bpcall init_numcall precall calcxor ax,axmov ds,axmov ax,ds:[046ch]push cspop dsmov _sec1,axpush pointcall num_outpop pointmov ax,_sec1sub ax,_secmov cx,55mul cxmov cx,1000div cxmov _sec1,dxmov cx,60xor dx,dxdiv cxmov _min,axmov _sec,dxmov si,offset d_timecall printfmov si,81hmov di,80hcmd_lop:lodsbcmp al,0dhjz cmd_endcmp al,20hjbe cmd_lopcmp al,ajb cmd_storecmp al,zja cmd_storesub al,20hcmd_store:stosbjmp short cmd_lopcmd_end:xor al,alstosbmov si,80hcmp byte ptr ds:[si],0jz quitmov si,offset d_savecall printfmov ah,3chxor cx,cxmov dx,80hint 21hjb file_errmov handle,axmov std_out,offset write_filecall num_outmov std_out,offset prt_to_scrmov si,offset d_save_okcall printfmov ah,3ehmov bx,handleint 21hint 20hfile_err:mov si,offset d_save_errcall printfint 20hquit:int 20hWRITE_FILE PROCpushamov ah,40hmov flag,almov bx,handlemov cx,1mov dx,offset flagint 21hpoparetWRITE_FILE ENDPPRE PROCmov eax,digital ;total 65536*5/4 pointscmp eax,(65536/4-3)*5 ;comp max pointsjbe pre_1mov eax,(65536/4-3)*5pre_1:cmp eax,10 ;comp min pointsjae pre_2 ;must 10 and 81915mov eax,10pre_2:xor edx,edxmov ecx,5div ecxmov ebx,eaxinc ebxmov point,bx ;point for print controlmul ecxmov digital,eax ;mov eax,ebxinc eaxmov ecx,4mul ecxmov num_point,ax ;max used memoryretPRE ENDPCALC PROCmov es,bpc_lop0:mov ah,1int 16hjz calc_0xor ah,ahint 16hcmp al,1bhjnz calc_00push cspop esmov si,offset d_abortcall printfint 20hcalc_00:xor eax,eaxmov ax,_gs_pointmov ecx,500mul ecxmov ecx,4div ecxxor edx,edxdiv digitalmov percent,axmov si,offset d_cal1push cspop escall printfmov es,bpcalc_0:xor eax,eaxmov ecx,100000mov _a,eaxmov _b,eax

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询