当前位置: 网学 > 编程文档 > 汇编语言 > 正文

Casl汇编语言辅导:二、汇编语言常用子程序

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式
例2】将 GR0 中的二进制数乘以 7。

  START  
  ST GR0,REG
  SLL GR0,3
  SUB GR0,REG
  RET  
REG DS 1
  END  

4、二进制数与十进制数的转换

1)二化十:

将二进制数转换为十进制数的一种常用算法是将被转换的二进制数依次被 10i( 对 16 位二进制数,i为 4、3、2、1、0)除,所得的商即为该十进制数位的值,其余数再被下一个 10i 除。一般用减法代替除法,即一边减 10i,一边计数器加 1,直到不够减再进行下一位 10i-1。以求得十进制数的各位数。

例如:一个相当于十进制数 34635 的二进制数,可先用 10000 去减,可减 3 次,得万位数是 3;再用 1000 去减,得千位数是 4;……

【例1】将 GR0 中的二进制数转换为十进制数的ASCII 码放入字符串 STR 中。

  START    
  LEA GR1,0 ;减数表及字符串指针
  LEA GR2,5 ;循环计数器
L1 LEA GR3,48 ;该十进制位的数码预置 0 的 ASCII 码
L2 LEA GR3,1,GR3 ;数码位的 ASCII 码加 1
  SUB GR0,SNO,GR1 ;操作数减去 10
  JPZ L2 ;够减,继续
  ADD GR0,SNO,GR1 ;不够减,操作数及数码位的 ASCII 码恢复
  LEA GR3,-1,GR3  
  ST GR3,STR,GR1 ;转换好的该位 ASCII 码存入结果字符串
  LEA GR1,1,GR1 ;地址指针加 1
  LEA GR2,-1,GR2 ;循环计数器减 1
  JNZ L1 ;未结束,继续下一位
  RET    
SNO DC 10000  
  DC 1000  
  DC 100  
  DC 10  
  DC 1  
STR DS 5 ;转换结果字符串
  END    

1)十

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号