




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . ;*增量式PID控制算法程序*;T、TD、TI、KP依次从30H,33H,36H,39H开始。;A,B,C的值依次存在BLOCK1,BLOCK2,BLOCK3的地址里; 这里R(k)给的是定值;ORG 0000HBLOCK1 EQU 43H ;A,B ,CBLOCK2 EQU 46HBLOCK3 EQU 49HUK EQU 4CH ;存结果UKRK EQU 50HEK EQU 53H ;存放偏差值E(k)的始址EK1 EQU 56H ;存放E(k-1)的始址EK2 EQU 59H ;存放E(k-2)的始址CK EQU 5CH ;采样数据始址BUFF EQU 60H ;暂存区BUF
2、F1 EQU 63HBUFF2 EQU 66HREC EQU 69HTEST:MOV RK,#01H ;常数Rk的BCD码浮点数MOV RK+1,#12H ;1.25MOV RK+2,#50HMOV 3CH,#01H ;常数1的BCD码浮点数MOV 3DH,#10HMOV 3EH,#00HMOV 40H,#01H ;常数2的BCD码浮点数MOV 41H,#20HMOV 42H,#00HMOV 30H,#01H ;T的BCD 码浮点数MOV 31H,#23H ;2.34MOV 32H,#40HMOV 33H,#01H ;Td的BCD码浮点数MOV 34H,#35H ;3.54MOV 35H,#4
3、0HMOV 36H,#01H ;Ti的BCD码浮点数MOV 37H,#11H ;1.12MOV 38H,#20HMOV 39H,#01H ;Kp的BCD码浮点数MOV 3AH,#12H ;1.25MOV 3BH,#50HMOV R0,#RK ;指向BCD码浮点操作数LCALL BTOF ;将其转换成二进制浮点操作数MOV R0,#3CHLCALL BTOFMOV R0,#40HLCALL BTOFMOV R0,#39HLCALL BTOFMOV R0,#36H ;指向BCD码浮点操作数TiLCALL BTOF ;将其转换成二进制浮点操作数MOV R0,#33H ;指向BCD码浮点操作数TdLC
4、ALL BTOF ;将其转换成二进制浮点操作数MOV R0,#30H ;指向BCD码浮点操作数TLCALL BTOF ;将其转换成二进制浮点操作数MOV R1, #BUFF1 ;保存30H中的值 即T值LCALL FMOVR0MOV R1, #36H ;计算A值(1+T/Ti+Td/T).KpLCALL FDIVMOV R1,#3CH ;常数1LCALL FADDMOV R0,#33H ;保存33H中的值MOV R1,#BUFFLCALL FMOVR0MOV R1,#BUFF1LCALL FDIVMOV R1,#30H ;30H里存的是T/Ti+1LCALL FADDMOV R1,#39HLC
5、ALL FMULMOV R1 ,#BLOCK1 ;将结果保存在BLOCK1中LCALL FMOVR0MOV R1,#BUFF1 ;30H恢复原值MOV R0,#30HLCALL FMOVMOV R1,#BUFF ;33H恢复原值MOV R0,#33HLCALL FMOVMOV R0,#40H ;计算B的值Kp.(1+2.Td/T)MOV R1,#33HLCALL FMULMOV R1,#30HLCALL FDIVMOV R1,#3CHLCALL FADDMOV R1,#39HLCALL FMULMOV R1,#BLOCK2 ;保存B值到BLOCK2中LCALL FMOVR0MOV R0,#39
6、H ;计算C的值Kp.Td/TMOV R1,#33HLCALL FMULMOV R1,#30HLCALL FDIVMOV R1,#BLOCK3 ;保存C值到BLOCK3中LCALL FMOVR0MOV R0,#EK1 ;将EK1,EK2设初值0LCALL FCLRMOV R0,#EK2LCALL FCLRMOV REC,#03H ;设置采样次数LOOP: MOV CK,#7eH ;采样数据暂时给了一个定值MOV CK+1,#21H ;0.002112MOV CK+2,#12HMOV R0,#CKLCALL BTOFMOV R0,#RK ;保存R(k)中的值MOV R1,#BUFFLCALL F
7、MOVR0MOV R1,#CKLCALL FSUB ;计算R(k)-C(k)的值送给E(k)MOV R1,#EKLCALL FMOVR0MOV R1,#BUFF ;恢复RK的值 释放BUFFMOV R0,#RKLCALL FMOVMOV R0,#BLOCK2 ;将B.e(k-1)的值暂存在BUFF1中MOV R1,#BUFF ;保存BLCALL FMOVR0MOV R1,#EK1LCALL FMULMOV R1,#BUFF1LCALL FMOVR0MOV R1,#BUFF ;恢复B释放BUFFLCALL FMOVMOV R0,#BLOCK3 ;将C.e(K-2)的值暂存在BUFF2中MOV R
8、1,#BUFF ;保存CLCALL FMOVR0MOV R1,#EK2LCALL FMULMOV R1,#BUFF2LCALL FMOVR0MOV R1,#BUFF ;恢复C释放BUFFLCALL FMOVMOV R0,#BLOCK1 ;A.E(k)MOV R1,#BUFFLCALL FMOVR0MOV R1,#EKLCALL FMULMOV R1,#BUFF1 ;计算Uk值A.E(k)-B.E(k-1)+C.E(k-2)LCALL FSUBMOV R1,#BUFF2LCALL FADDMOV R1,#UK ;保存结果到UK中LCALL FMOVR0MOV R1,#BUFF ;恢复A 释放BU
9、FFLCALL FMOVMOV R0,#UK ;UK转换成BCD码浮点数输出LCALL FTOBMOV R1,#EK1 ;将E(k-1)->E(k-2),E(k)->E(k-1)MOV R0,#EK2LCALL FMOVMOV R1,#EKMOV R0,#EK1LCALL FMOVLCALL DELAY ;等待采样时刻DJNZ REC,NEXT1SJMP $NEXT1: LJMP LOOPDELAY: MOV R7,#02HDELAY1: MOV R6,#0FFHDELAY2: DJNZ R6,DELAY2DJNZ R7,DELAY1RET; () 标号:FSDT 功能:浮点数格式
10、化;入口条件:待格式化浮点操作数在R0中。;出口信息:已格式化浮点操作数仍在R0中。;影响资源:PSW、A、R2、R3、R4、位1FH 堆栈需求: 字节FSDT: LCALL MVR0 ;将待格式化操作数传送到第一工作区中LCALL RLN ;通过左规完成格式化LJMP MOV0 ;将已格式化浮点操作数传回到R0中; () 标号: FADD 功能:浮点数加法;入口条件:被加数在R0中,加数在R1中。;出口信息:OV=0时,和仍在R0中,OV=1时,溢出。;影响资源:PSW、A、B、R2R7、位1EH、1FH 堆栈需求: 字节FADD: CLR F0 ;设立加法标志SJMP AS ;计算代数和;
11、 () 标号: FSUB 功能:浮点数减法;入口条件:被减数在R0中,减数在R1中。;出口信息:OV=0时,差仍在R0中,OV=1时,溢出。;影响资源:PSW、A、B、R2R7、位1EH、1FH 堆栈需求:字节FSUB: SETB F0 ;设立减法标志AS: LCALL MVR1 ;计算代数和。先将R1传送到第二工作区MOV C,F0 ;用加减标志来校正第二操作数的有效符号CLR A ; *?应加的一条语句RRC AXRL A,R1MOV C,ACC.7ASN: MOV 1EH,C ;将第二操作数的有效符号存入位1EH中XRL A,R0 ;与第一操作数的符号比较RLC AMOV F0,C ;保
12、存比较结果LCALL MVR0 ;将R0传送到第一工作区中LCALL AS1 ;在工作寄存器中完成代数运算MOV0: INC R0 ;将结果传回到R0中的子程序入口INC R0MOV A,R4 ;传回尾数的低字节MOV R0,ADEC R0MOV A,R3 ;传回尾数的高字节MOV R0,ADEC R0MOV A,R2 ;取结果的阶码MOV C,1FH ;取结果的数符MOV ACC.7,C ;拼入阶码中MOV R0,ACLR ACC.7 ;不考虑数符CLR OV ;清除溢出标志CJNE A,#3FH,MV01;阶码是否上溢? * 应为#40HSETB OV ;设立溢出标志MV01: MOV A
13、,R0 ;取出带数符的阶码RETMVR0: MOV A,R0 ;将R0传送到第一工作区中的子程序MOV C,ACC.7 ;将数符保存在位1FH中MOV 1FH,CMOV C,ACC.6 ;将阶码扩充为8bit补码MOV ACC.7,CMOV R2,A ;存放在R2中INC R0MOV A,R0 ;将尾数高字节存放在R3中MOV R3,A ;INC R0MOV A,R0 ;将尾数低字节存放在R4中MOV R4,ADEC R0 ;恢复数据指针DEC R0RETMVR1: MOV A,R1 ;将R1传送到第二工作区中的子程序MOV C,ACC.7 ;将数符保存在位1EH中MOV 1EH,CMOV C
14、,ACC.6 ;将阶码扩充为8bit补码MOV ACC.7,CMOV R5,A ;存放在R5中INC R1MOV A,R1 ;将尾数高字节存放在R6中MOV R6,AINC R1MOV A,R1 ;将尾数低字节存放在R7中MOV R7,ADEC R1 ;恢复数据指针DEC R1RETAS1: MOV A,R6 ;读取第二操作数尾数高字节ORL A,R7JZ AS2 ;第二操作数为零,不必运算MOV A,R3 ;读取第一操作数尾数高字节ORL A,R4JNZ EQMOV A,R6 ;第一操作数为零,结果以第二操作数为准MOV R3,AMOV A,R7MOV R4,AMOV A,R5MOV R2,
15、AMOV C,1EHMOV 1FH,CAS2: RETEQ: MOV A,R2 ;对阶,比较两个操作数的阶码XRL A,R5JZ AS4 ;阶码一样,对阶结束 ACC.7,EQ3;阶符互异MOV A,R2 ;阶符一样,比较大小CLR CSUBB A,R5JC EQ4EQ2: CLR C ;第二操作数右规一次MOV A,R6 ;尾数缩小一半RRC AMOV R6,AMOV A,R7RRC AMOV R7,AINC R5 ;阶码加一ORL A,R6 ;尾数为零否?JNZ EQ ;尾数不为零,继续对阶MOV A,R2 ;尾数为零,提前结束对阶MOV R5,ASJMP AS4EQ3: MOV A,R2
16、 ;判断第一操作数阶符JNB ACC.7,EQ2;如为正,右规第二操作数EQ4: CLR CLCALL RR1 ;第一操作数右规一次ORL A,R3 ;尾数为零否?JNZ EQ ;不为零,继续对阶MOV A,R5 ;尾数为零,提前结束对阶MOV R2,AAS4: F0,AS5 ;尾数加减判断MOV A,R4 ;尾数相加ADD A,R7MOV R4,AMOV A,R3ADDC A,R6MOV R3,AJNC AS2LJMP RR1 ;有进位,右规一次AS5: CLR C ;比较绝对值大小MOV A,R4SUBB A,R7MOV B,AMOV A,R3SUBB A,R6JC AS6MOV R4,B
17、 ;第一尾数减第二尾数MOV R3,ALJMP RLN ;结果规格化AS6: CPL 1FH ;结果的符号与第一操作数相反CLR C ;结果的绝对值为第二尾数减第一尾数MOV A,R7SUBB A,R4MOV R4,AMOV A,R6SUBB A,R3MOV R3,ARLN: MOV A,R3 ;浮点数规格化ORL A,R4 ;尾数为零否?JNZ RLN1MOV R2,#0C0H;阶码取最小值RETRLN1: MOV A,R3 ACC.7,RLN2;尾数最高位为一否?CLR C ;不为一,左规一次LCALL RL1SJMP RLN ;继续判断RLN2: CLR OV ;规格化结束RETRL1:
18、 MOV A,R4 ;第一操作数左规一次RLC A ;尾数扩大一倍MOV R4,AMOV A,R3RLC AMOV R3,ADEC R2 ;阶码减一CJNE R2,#0BFH,RL1E;阶码下溢否?;CLR AMOV R3,A ;阶码下溢,操作数以零计MOV R4,AMOV R2,#0C0H ; RL1E: CLR OVRETRR1: MOV A,R3 ;第一操作数右规一次RRC A ;尾数缩小一半MOV R3,AMOV A,R4RRC AMOV R4,AINC R2 ;阶码加一CLR OV ;清溢出标志CJNE R2,#40H,RR1E;阶码上溢否?MOV R2,#3FH ;阶码溢出SETB
19、 OVRR1E: RET; (4) 标号:FMUL 功能:浮点数乘法;入口条件:被乘数在R0中,乘数在R1中。;出口信息:OV=0时,积仍在R0中,OV=1时,溢出。;影响资源:PSW、A、B、R2R7、位1EH、1FH 堆栈需求:6字节FMUL: LCALL MVR0 ;将R0传送到第一工作区中MOV A,R0XRL A,R1 ;比较两个操作数的符号RLC AMOV 1FH,C ;保存积的符号LCALL MUL0 ;计算积的绝对值LJMP MOV0 ;将结果传回到R0中MUL0: LCALL MVR1 ;将R1传送到第二工作区中MUL1: MOV A,R3 ;第一尾数为零否?ORL A,R4
20、JZ MUL6MOV A,R6 ;第二尾数为零否?ORL A,R7JZ MUL5MOV A,R7 ;计算R3R4×R6R7R3R4MOV B,R4MUL ABMOV A,BXCH A,R7MOV B,R3MUL ABADD A,R7MOV R7,ACLR AADDC A,BXCH A,R4MOV B,R6MUL ABADD A,R7MOV R7,AMOV A,BADDC A,R4MOV R4,ACLR ARLC AXCH A,R3MOV B,R6MUL ABADD A,R4MOV R4,AMOV A,BADDC A,R3MOV R3,A ACC.7,MUL2;积为规格化数否? R7四
21、舍五入MOV A,R7 ;左规一次RLC AMOV R7,ALCALL RL1MUL2: MOV A,R7JNB ACC.7,MUL3INC R4MOV A,R4JNZ MUL3INC R3MOV A,R3JNZ MUL3MOV R3,#80HINC R2MUL3: MOV A,R2 ;求积的阶码ADD A,R5MD: MOV R2,A ;阶码溢出判断 ACC.7,MUL4JNB ACC.6,MUL6MOV R2,#3FH ;阶码上溢,设立标志SETB OVRETMUL4: ACC.6,MUL6MUL5: CLR A ;结果清零(因子为零或阶码下溢)MOV R3,AMOV R4,AMOV R2
22、,#41HMUL6: CLR OVRET; (5) 标号:FDIV 功能:浮点数除法;入口条件:被除数在R0中,除数在R1中。;出口信息:OV=0时,商仍在R0中,OV=1时,溢出。;影响资源:PSW、A、B、R2R7、位1EH、1FH 堆栈需求: 字节FDIV: INC R0MOV A,R0INC R0ORL A,R0DEC R0DEC R0JNZ DIV1MOV R0,#41H;被除数为零,不必运算CLR OVRETDIV1: INC R1MOV A,R1INC R1ORL A,R1DEC R1DEC R1JNZ DIV2SETB OV ;除数为零,溢出RETDIV2: LCALL MVR
23、0 ;将R0传送到第一工作区中MOV A,R0XRL A,R1 ;比较两个操作数的符号RLC AMOV 1FH,C ;保存结果的符号LCALL MVR1 ;将R1传送到第二工作区中LCALL DIV3 ;调用工作区浮点除法LJMP MOV0 ;回传结果DIV3: CLR C ;比较尾数的大小MOV A,R4SUBB A,R7MOV A,R3SUBB A,R6JC DIV4LCALL RR1 ;被除数右规一次SJMP DIV3DIV4: CLR A ;借用R0R1R2作工作寄存器XCH A,R0 ;清零并保护之PUSH ACCCLR AXCH A,R1PUSH ACCMOV A,R2PUSH A
24、CCMOV B,#10H ;除法运算,R3R4R6R7R0R1DIV5: CLR CMOV A,R1RLC AMOV R1,AMOV A,R0RLC AMOV R0,AMOV A,R4RLC AMOV R4,AXCH A,R3RLC AXCH A,R3MOV F0,CCLR CSUBB A,R7MOV R2,AMOV A,R3SUBB A,R6ANL C,/F0JC DIV6MOV R3,AMOV A,R2MOV R4,AINC R1DIV6: DJNZ B,DIV5MOV A,R6 ;四舍五入CLR CRRC ASUBB A,R3CLR AADDC A,R1 ;将结果存回R3R4MOV R4
25、,ACLR AADDC A,R0MOV R3,APOP ACC ;恢复R0R1R2MOV R2,APOP ACCMOV R1,APOP ACCMOV R0,AMOV A,R2 ;计算商的阶码CLR CSUBB A,R5LCALL MD ;阶码检验LJMP RLN ;规格化; (6) 标号: FCLR功能:浮点数清零;入口条件:操作数在R0中。;出口信息:操作数被清零。;影响资源:A 堆栈需求: 字节FCLR: INC R0INC R0CLR AMOV R0,ADEC R0MOV R0,ADEC R0MOV R0,#41HRET; (7) 标号:FZER 功能:浮点数判零;入口条件:操作数在R0
26、中。;出口信息:若累加器A为零,则操作数R0为零,否则不为零。;影响资源:A 堆栈需求: 字节FZER: INC R0INC R0MOV A,R0DEC R0ORL A,R0DEC R0JNZ ZEROMOV R0,#41HZERO: RET; (8) 标号:FMOV 功能:浮点数传送;入口条件:源操作数在R1中,目标地址为R0。;出口信息:R0=R1,R1不变。;影响资源:A 堆栈需求: 字节FMOV: INC R0INC R0INC R1INC R1MOV A,R1MOV R0,ADEC R0DEC R1MOV A,R1MOV R0,ADEC R0DEC R1MOV A,R1MOV R0,
27、ARET; (8.1) 标号: FMOV R0 功能:浮点数传送;入口条件:源操作数在R0中,目标地址为R1。;出口信息:R1=R0,R0不变。;影响资源:A 堆栈需求: 字节FMOVR0: INC R1INC R1INC R0INC R0MOV A,R0MOV R1,ADEC R1DEC R0MOV A,R0MOV R1,ADEC R1DEC R0MOV A,R0MOV R1,ARET; (24) 标号:DTOF 功能:双字节十六进制定点数转换成格式化浮点数;入口条件:双字节定点数的绝对值在R0中,数符在位1FH中,整数部分的位数在A中。;出口信息:转换成格式化浮点数在R0中(三字节)。;影
28、响资源:PSW、A、R2、R3、R4、位1FH 堆栈需求: 字节DTOF: MOV R2,A ;按整数的位数初始化阶码MOV A,R0 ;将定点数作尾数MOV R3,AINC R0MOV A,R0MOV R4,ADEC R0LCALL RLN ;进行规格化LJMP MOV0 ;传送结果到R0中; (25) 标号: FTOD 功能:格式化浮点数转换成双字节定点数;入口条件:格式化浮点操作数在R0中。;出口信息:OV=1时溢出,OV=0时转换成功:定点数的绝对值在R0中(双字节),数符;在位1FH中,F0=1 时为整数,CY=1时为一字节整数一字节小数,否则为纯小数。;影响资源:PSW、A、B、R
29、2、R3、R4、位1FH 堆栈需求: 字节FTOD: LCALL MVR0 ;将R0传送到第一工作区MOV A,R2JZ FTD4 ;阶码为零,纯小数 ACC.7,FTD4;阶码为负,纯小数SETB CSUBB A,#10HJC FTD1SETB OV ;阶码大于,溢出RETFTD1: SETB CMOV A,R2SUBB A,#8 ;阶码大于否?JC FTD3FTD2: MOV B,#10H ;阶码大于,按双字节整数转换LCALL FTD8SETB F0 ;设立双字节整数标志CLR CCLR OVRETFTD3: MOV B,#8 ;按一字节整数一字节小数转换LCALL FTD8SETB C
30、 ; 设立一字节整数一字节小数标志CLR F0CLR OVRETFTD4: MOV B,#0 ;按纯小数转换LCALL FTD8CLR OV ;设立纯小数标志CLR F0CLR CRETFTD8: MOV A,R2 ;按规定的整数位数进行右规*阶码是扩展后的值CJNE A,B,FTD9MOV A,R3 ;将双字节结果传送到R0中MOV R0,AINC R0MOV A,R4MOV R0,ADEC R0RETFTD9: CLR CLCALL RR1 ;右规一次SJMP FTD8; (26) 标号:BTOF功能:浮点BCD码转换成格式化浮点数;入口条件:浮点BCD码操作数在R0中。;出口信息:转换成
31、的格式化浮点数仍在R0中。;影响资源:PSW、A、B、R2R7、位1DH1FH 堆栈需求:字节BTOF: INC R0 ;判断是否为零。INC R0MOV A,R0MOV R7,ADEC R0MOV A,R0MOV R6,ADEC R0ORL A,R7JNZ BTF0MOV R0,#41H;为零,转换结束。RETBTF0: MOV A,R0MOV C,ACC.7MOV 1DH,C ;保存数符。CLR 1FH ;以绝对值进行转换。MOV C,ACC.6 ;扩充阶码为八位。MOV ACC.7,CMOV R0,AJNC BTF1ADD A,#19 ;是否小于?JC BTF2MOV R0,#41H ;
32、小于时以计。INC R0MOV R0,#0INC R0MOV R0,#0DEC R0DEC R0RETBTF1: SUBB A,#19JC BTF2MOV A,#3FH ;大于时封顶。MOV C,1DHMOV ACC.7,CMOV R0,AINC R0MOV R0,#0FFHINC R0MOV R0,#0FFHDEC R0DEC R0RETBTF2: CLR A ;准备将BCD码尾数转换成十六进制浮点数。MOV R4,AMOV R3,AMOV R2,#10H ;至少两个字节。BTF3: MOV A,R7ADD A,R7DA AMOV R7,AMOV A,R6ADDC A,R6DA AMOV R
33、6,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,ADEC R2JNB ACC.7,BTF3;直到尾数规格化。MOV A,R6 ;四舍五入。ADD A,#0B0H ; *加#80H,也可以CLR AADDC A,R4MOV R4,ACLR AADDC A,R3MOV R3,AJNC BTF4MOV R3,#80H ; *有进位右规一次INC R2BTF4: MOV DPTR,#BTFL;准备查表得到十进制阶码对应的浮点数。MOV A,R0ADD A,#19 ;计算表格偏移量。MOV B,#3MUL ABADD A,DPLMOV DPL,AJNC BTF5I
34、NC DPHBTF5: CLR A ;查表。MOVC A,A+DPTRMOV C,ACC.6MOV ACC.7,CMOV R5,AMOV A,#1MOVC A,A+DPTRMOV R6,AMOV A,#2MOVC A,A+DPTRMOV R7,ALCALL MUL1 ;将阶码对应的浮点数和尾数对应的浮点数相乘。MOV C,1DH ;取出数符。MOV 1FH,CLJMP MOV0 ;传送转换结果。; (27) 标号: 功能:格式化浮点数转换成浮点码;入口条件:格式化浮点操作数在R0中。;出口信息:转换成的浮点码仍在R0中。;影响资源:PSW、A、B、R2R7、位1DH1FH 堆栈需求:字节FTO
35、B: INC R0MOV A,R0INC R0ORL A,R0DEC R0DEC R0JNZ FTB0MOV R0,#41HRETFTB0: MOV A,R0MOV C,ACC.7MOV 1DH,CCLR ACC.7MOV R0,ALCALL MVR0MOV DPTR,#BFL0;绝对值大于或等于时的查表起点。MOV B,#0 ;十的次幂。MOV A,R2JNB ACC.7,FTB1MOV DPTR,#BTFL;绝对值小于时的查表起点。MOV B,#0EDH ;十的次幂。ADD A,#16JNC FTB1MOV DPTR,#BFLN;绝对值大于或等于时的查表起点。MOV B,#0FAH ;十的
36、次幂。FTB1: CLR A ;查表,找到一个比待转换浮点数大的整数幂。MOVC A,A+DPTRMOV C,ACC.6MOV ACC.7,CMOV R5,AMOV A,#1MOVC A,A+DPTRMOV R6,AMOV A,#2MOVC A,A+DPTRMOV R7,AMOV A,R5 ;和待转换浮点数比较。CLR CSUBB A,R2 ACC.7,FTB2;差为负数。JNZ FTB3MOV A,R6CLR CSUBB A,R3JC FTB2JNZ FTB3MOV A,R7CLR CSUBB A,R4JC FTB2JNZ FTB3MOV R5,B ;正好是表格中的数。INC R5 ;幂加一
37、。MOV R6,#10H ;尾数为。MOV R7,#0SJMP FTB6 ;传送转换结果。FTB2: INC DPTR ;准备表格下一项。INC DPTRINC DPTRINC B ;幂加一。SJMP FTB1 ;FTB3: PUSH B ;保存幂值。LCALL DIV3 ;相除,得到一个二进制浮点数的纯小数。FTB4: MOV A,R2 ;取阶码。JZ FTB5 ;为零吗?CLR C ;LCALL RR1 ;右规。SJMP FTB4FTB5: POP ACC ;取出幂值。MOV R5,A ;作为十进制浮点数的阶码。LCALL HB2 ;转换尾数的十分位和百分位。MOV R6,ALCALL HB2 ;转换尾数的千分位和万分位。MOV R7,AMOV A,R3 ;四舍五入。RLC ACLR AADDC A,R7DA AMOV R7,ACLR AADDC A,R6DA AMOV R6,AJNC FTB6MOV R6,#10HINC R5FTB6: INC R0 ;存放转换结果。INC R0MOV A,R7MOV R0,ADEC R0MOV A,R6MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据库中的数据去重方法试题及答案
- 行政组织与群众参与的有效性研究试题及答案
- 网络应用安全管理策略试题及答案
- 计算机三级数据库考试新题型试题及答案
- 计算机网络性能监测的关键指标试题及答案
- 计算机三级嵌入式考前动员试题及答案
- 无线网络常见问题分析与应对试题及答案
- 嵌入式设计挑战及解答试题及答案
- 行政组织网络化管理试题及答案
- 计算机网络防火墙基础试题及答案
- 河北XX钢铁2#高炉2017年扩容大修(方案)
- (精心整理)林海雪原阅读题及答案
- 19、38本翻译附件104-bs10中文版
- 培训课件-安全工器具
- 进修人员申请表浙江大学医学院
- 沟槽支护及土方开挖专项施工方案
- 应答器及地面电子单元(LEU)培资料
- 3D打印教学演讲(课堂PPT)
- T_CHES 18-2018 农村饮水安全评价准则
- 全自动立式制袋包装机
- 筹建婚庆公司项目策划书
评论
0/150
提交评论