5汇编语言编程举例.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5汇编语言编程举例

例5-18 对累加器A进行归一化处理。 执行指令: NORM A   执行前 执行后 A=FF FFFF F001 A=FF 8008 0000 T= 0013 T= 0013(19) 执行时,按T中的十进制数值,这里为正19,对累加器A中的值左移19位,即将在A=FF FFFF F001中的值左移19位,低位添零,高位溢出丢弃。 A=(1111 1111 1111 1111 1111 1111 1111 0000 0000 0001 )2 ←1111 1111 1111 1111 1111 1111 1111 0000 0000 0001 0000 0000 0000 0000 000   左移出去掉的19位 左移进19位添0 ←(1111 1111 1000 0000 0000 1000 0000 0000 0000 0000)2=(FF 8008 0000)16 例5-19 对累加器B中的值进行归一化处理后存入A。 执行指令: NORM B, A    执行前   执行后  A=FF FFFF F001   A=00 4214 1414  B=21 0A0A 0A0A   B=21 0A0A 0A0A  T= FFF9   T= FFF9(-7) 将B移-7位,即右移7位: B=(0010 0001 0000 1010 0000 1010 0000 1010 0000 1010)2 → 0000 000 0010 0001 0000 1010 0000 1010 0000 1010 0000 1010   右移进7位添0 去掉移出的7位 →(0000 0000 0100 0010 0001 0100 0001 0100 0001 0100)2 =(00 4214 1414)16 3.浮点数转换成定点数 转换要点 在将浮点数转换成定点数时,按指数值将尾数右移(指数为负时左移)即可。其操作与定点数转换为浮点数相反。这种相反方向的移位是通过对指数取反实现的。 使用指令 NEG A      NORM A 如指数在A中,尾数在x中,则将浮点数转换成定点数的指令为: NEG A ;指数反号 STL A,@temp ;将指数暂存在数据存储单元中 LD @temp,T ;将指数装入T寄存器 LD @x,16,A ;将尾数装入A的高16位 NORM A ;将尾数按T移位,由于T中的指数 ;是已经取反了的,所进行的移 ;位为反向移位。转换后的定点 ;数在A中。 例5-20 编写浮点乘法程序,完成x1×x2=0.3×(-0.8)运算。程序清单为: .title “float.asm” ;程序名 .def start ;定义标号 STACK: .usect “STACK”,100 ;设置堆栈 .bss x1,1 ;为被乘数x1预留1个单元的空间 .bss x2,1 ;为乘数x2预留1个单元的空间 .bss e1,1 ;为被乘数的指数e1预留1个单元空间 .bss m1,1 ;为被乘数的尾数m1预留1个单元空间 .bss e2,1 ;为乘数的指数e2预留1个单元的空间 .bss m2,1 ;为乘数的尾数m2预留1个单元的空间 .bss ep,1 ;为乘积的指数ep预留1个单元的空间 .bss mp,1 ;为乘积的尾数mp预留1个单元的空间 .bss product,1 ;为乘积留空间 .bss temp,1 ;为暂存留空间 .data ;定义数据段 table: .word 3*32768/10 ;设初值 0.3 .word -8*32768/10 ;设初值-0.8

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档