首页 汇编的八位无符号BCD数转换成二进制数的原代码

汇编的八位无符号BCD数转换成二进制数的原代码

举报
开通vip

汇编的八位无符号BCD数转换成二进制数的原代码汇编的八位无符号BCD数转换成二进制数的原代码 这是汇编的八位无符号BCD数转换成二进制数的原代码,欢迎使用。 转载时请标明作者和出处。 ;======================================================= ============================ ; Translate a eight-bit BCD code to binary code ; BCDtoBIN: Main program(source data: BCDh,BCDl; destin...

汇编的八位无符号BCD数转换成二进制数的原代码
汇编的八位无符号BCD数转换成二进制数的原代码 这是汇编的八位无符号BCD数转换成二进制数的原代码,欢迎使用。 转载时请标明作者和出处。 ;======================================================= ============================ ; Translate a eight-bit BCD code to binary code ; BCDtoBIN: Main program(source data: BCDh,BCDl; destination data: BINh, BINl) ; Multiply: Subroutine of multiplied by 10 ; Designed by mmtcyq, 23/05/2007. ; All rights reserved. ;======================================================= ============================ ; Varia××es org 0200h ; as the case may be varia××e BCDh DW 00000h ; BCD code, high word BCDl DW 00000h ; BCD code, low word BINh DW 00000h ; BIN code, high word BINl DW 00000h ; BCD code, low word Multenh DW 00000h ; Multiplier, high word Multenl DW 00000h ; Multiplier, low word ;======================================================= ============================ ; Program org 08000h ; as the case may be varia××e BCDtoBIN push R5 ; BCD digit pointer push R6 ; Content of the digit push R7 ; Temporary counter push R8 ; Temporary varia××e mov #00001h,R5 clr BINh clr BINl clr Multenh mov BCDl,R6 mov R6,R8 BtBmainloop cmp #00009h,R5 jc BtBend cmp #00005h,R5 jz BtBBCDhighword cmp #00006h,R5 jc BtBBCDhighword1 bic #0fff0h,R8 jmp BtBmulstart BtBBCDhighword mov BCDh,R6 mov R6,R8 BtBBCDhighword1 bic #0fff0h,R8 BtBmulstart mov R5,R7 mov R8,Multenl clr Multenh BtBmultimeloop cmp #00001h,R7 jz BtBupdateonedigit call #Multiply ; MultenhMultenl * 10 dec R7 jmp BtBmultimeloop BtBupdateonedigit add Multenl,BINl adc BINh add Multenh,BINh inc R5 clrc rra R6 rra R6 rra R6 rra R6 mov R6,R8 jmp BtBmainloop BtBend pop R8 pop R7 pop R6 pop R5 ret ;----------------------------------------------------------------------------------- Multiply push R5 push R6 rla Multenl rlc Multenh mov Multenh,R6 mov Multenl,R5 rla R5 rlc R6 rla R5 rlc R6 add R5,Multenl adc Multenh add R6,Multenh Multiplyend pop R6 pop R5 ret ;======================================================= ============================ Multenh DW 00000h ; Multiplier, high word Multenl DW 00000h ; Multiplier, low word 这两个数值怎么取值啊? 这是Multiply函数的变量,对它的赋值是在Multiply函数中进行的。 其值被这样使用: add Multenl,BINl adc BINh add Multenh,BINh MMTCYA 你好,谢谢你的指点,但是我还是没搞懂,Multenh DW 00000h ; Multiplier, high word Multenl DW 00000h ; Multiplier, low word 这两个数值应该怎么取呢, 作用是什么呢, 谢谢~ 这两个值是计算过程中用的中间变量,结果在BINh和BINl中。 以上代码在1.26B上通过。 BCDh和BCDl是入口数据,出口数据则是BINh和BINl。 将要转换的BCD码(最多八位)赋值给BCDh(高四位)和BCDl(低四位)。 ;----------------------------- mov #01234h,BCDh mov #04567h,BCDl call #BCDtoBIN ;----------------------------- 结果是:0BC614Eh。其中BINh=000bch,BINll=0614eh。 注:数据限定为无符号数。 MMTCYA 你好,谢谢你的指点,我今天晚上回去在调试一下您给我的程序,现在我想请问您一下,就是我用 BCD-BIN的转换是用在按键程序中的,我的按键程序是调几个数值,在调的时候BCD码是分开的,意思是假设我想调65535,但是要分开调,6,5,5,3,5,然后在合到一起65535,然后在变成二进制数,您说这个合到一起的过程应该怎么处理呢, 是6乘10000H,5乘1000H,5乘100H,3乘10H,然后在加到一起吗,如果是这样的话程序处理的过程就很长,影响速度,您能给指点一下吗, 有好的建议吗, 如果这些分开的数都是十进制的数,就先移位,后相加。 比如BCD_2 = 0x0001h,BCD_1 = 0x0002h,将这两个数相加,构成BCD数: rla BCD_2 rla BCD_2 rla BCD_2 rla BCD_2 clrc dadd BCD_1,BCD_2 结果是BCD_2 = 0x0012h 我的帐号是MMTCYQ MMTCYQ 你好,多谢你的指点,豁然开朗,我还是书看的少,很多东西凭想象是不行的~ 你的程序中这段Varia××es org 0200h ; as the case may be varia××e BCDh DW 00000h ; BCD code, high word BCDl DW 00000h ; BCD code, low word BINh DW 00000h ; BIN code, high word BINl DW 00000h ; BCD code, low word Multenh DW 00000h ; Multiplier, high word Multenl DW 00000h ; Multiplier, low word 是给变量一个地址或是附值一个数据(不知道我这样理解对不对),在3.41中这样做编译通不过,现在 很多书都是老书,都没有介绍在3。41A中如果想定义变量应该怎么做,郁闷中~ org 0200h:指定变量在RAM中的位置。 BCDh DW 00000h:定义变量BCDh,word类型(16位),初值为0。 3.41版本不熟悉。
本文档为【汇编的八位无符号BCD数转换成二进制数的原代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_995397
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:6
分类:企业经营
上传时间:2017-10-30
浏览量:38