- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AVR汇编百例浮点程序库
;范例62
.ORG $A00
EXCH: MOV R5,R8 ;两浮点数交换子程序
MOV R8,R12
MOV R12,R5
EXCH1: MOV R5,R9 ;尾数交换
MOV R9,R13
MOV R13,R5
MOV R5,R10 ;双字节交换
MOV R10,R14
MOV R14,R5
MOV R5,R11
MOV R11,R15
MOV R15,R5
RET
DP: ANDI R16,$7F ;处理积/商数符,计算积/商阶码子程序
SBRC R9,7
SUBI R16,$80
SBRC R13,7
SUBI R16,$80 ;积/商符号放在r16,7
ADD R12,R8 ;移码相加(除数阶码已求补)
LDI R17,$80
BRCC DP1
ADD R12,R17 ;移码求和有进位,将和再加上$80,再有进位为溢出
RET
DP1: SUB R12,R17 ;移码求和无进位,将和减去$80,有借位
RET ;或差为0也为溢出
NEG3: COM R15 ;3字节数据求补
COM R14 ;先求反后加1
COM R13
INC3: LDI R17,255
SUB R15,R17 ;以减去-1代替加1
SBC R14,R17
SBC R13,R17
RET
;范例63 ;浮点数比较大小子程序 X1为被减数 X2为减数
FPCP: SBRC R9,7 ;X1为正,跳行
RJMP CP1
SBRC R13,7 ;X2为正,跳行
RJMP CP2 ;X1,X2异号
FPCP1: CP R11,R15 ;X1,X2皆为正,以尾数低位字节,中位字节,高位字节和
CPC R10,R14 ;阶码的顺序(按无符号数)进行比较
CPC R9,R13 ;不等,阶码大者浮点数值也大;只有阶码和尾数对应相等,
CPC R8,R12 ;两浮点数才相等
RET ;比较结果:Z=1时X1=X2,否则C=0时X1X2,C=1时X1X2
CP1: SBRC R13,7
RJMP CP3 ;两负数比较,转
CP2: CP R13,R9 ;正数与负数比较,只比较尾数高位字节即可
RET
CP3: CP R15,R11 ;X1,X2皆为负,以尾数低位字节,中位字节,高位字节和
CPC R14,R10 ;阶码的顺序(按无符号数)进行比较
CPC R13,R9 ;但要将X1、X2交换位置后按正数比较过程进行
CPC R12,R8
CP4: RET ;比较结果:Z=1时X1=X2,否则C=0时X1X2,C=1时X1X2
;范例64
FPSU: LDI R17,$80 ;浮点减法子程序
SUB R13,R17 ;减数数符求反后作为加数
FPAD: TST R8 ;浮点加法子程序
BREQ DON1 ;被加数为0,加数为和
TST R12
BRNE FPLAD ;加数为0,取被加数为和
SAV0: MOV R12,R8 ;传送被加数取代加数
MOV R13,R9
MOV R14,R10
MOV R15,R11
DON1: RET
FPLAD: ANDI R16,$3f ;清除被加数,加数数符
SBRC R9,7
ORI R16,$80 ;被加数数符取到(R16,7)
SBRC R13,7
ORI R16,$40 ;加数数符取到(R16,6)
LDI R17,$80
OR R9,R17
文档评论(0)