`
nannan408
  • 浏览: 1784118 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一字节BCD码转ASCII码的算法及源码

阅读更多
   一字节压缩BCD码是两位0~9的数字,4位二进制数对应一位BCD码。所以关键是要将两个4位二进制数分离开来。“分离”可以用移位指令和逻辑运算指令来实现,然后用加30H的加法,便可以得到相应的ASCII码。
    1. 这里有个问题,30H从哪里来?很简单,ASCII都是固定的,起始数字0对应的ASCII是30H,数字1对应的ASCII码数21H,数字2对应的ASCII码数22H......所以单个数字的ASCII码对应在30H和39H之间,而1位BCD(四位二进制数)码对应的高位和低位,存放的刚好已经是0H~9H的值,刚好是对应数字1-9,所以直接加上30H就好了。
    2.需要注意高低位的移位操作就可以了。
    3.汇编代码如下:
     DATA SEGMENT
     BCCD-BUF DB 96H
     ASC-BUF DB 2DUP (?)
     DATA ENDS
     CODE  SEGMENT
         ASSUME CS:CODE,DS:DATA
     START:MOV AX,DATA
           MOV DS,AX
           MOV AL,BCD-BUF
           MOV BL,AL
           MOV CL,4
           SHR AL,CL
           ADD AL,30H
           MOV ASC-BUF,AL
           AND BL,0FH
           ADD BL,30H
           MOV ASC-BUF+1,BL
    CODE ENDS
         END START
    

   
 
 
0
4
分享到:
评论

相关推荐

    BCD码转ASCII码的汇编程序

    通过子程序段间调用实现BCD码转ASCII码,经典汇编实例

    BCD_ASCII转换工具

    1. **BCD码转ASCII码**:对于数字,BCD码转ASCII码主要是将BCD码转换为对应的十进制数,然后根据ASCII码表找到对应的字符。例如,0101(8421BCD的5)对应ASCII码35('5'字符)。 2. **ASCII码转BCD码**:首先,读取...

    8421BCD码、ASCII码、二进制码原理以及相互之间的转换

    8421BCD码、ASCII码、二进制码原理以及相互之间的转换

    数字电子技术课程设计--将8421BCD码转换成5421BCD码的电路设计.docx

    《数字电子技术课程设计——8421BCD码到5421BCD码转换电路》 在数字电子技术领域,数据编码是至关重要的环节。8421BCD码(Binary-Coded Decimal,二进制编码的十进制数)是一种广泛使用的十进制数的二进制表示方式...

    C++如何实现BCD码和ASCII码互转

    C++实现BCD码和ASCII码互转 本文主要介绍了C++实现BCD码和ASCII码互转的方法,通过使用C++语言实现了BCD码和ASCII码之间的互转。下面是相关知识点的详细介绍: 一、BCD码和ASCII码的概念 BCD码(Binary-Coded ...

    BCDBCD码转换BCD码转换

    BCD码转换,BCD码转换BCD码转换BCD码转换

    十进制数转换成BCD码(源码)

    标题中的“十进制数转换成BCD码(源码)”指的是一个程序或算法,其目的是将十进制数字转换为对应的BCD码表示。这个转换过程通常在编程中涉及,例如在使用西门子的1200系列PLC和TIA Portal(博图)软件开发工业应用...

    数字电子技术课程设计--将8421BCD码转换成5421BCD码的电路设计.pdf

    本课程设计的主题是将8421BCD码转换成5421BCD码的电路设计,这一任务对于理解和掌握数字逻辑电路及其应用至关重要。8421BCD码和5421BCD码都是二进制编码的十进制数表示方式,它们之间的转换是数字电路设计中的常见...

    51单片机实用子程序库(包含HEX与BCD及ASCII码之间的转换)

    - **多字节BCD码左移十进制一位(BRNL)**:此子程序实现了多字节BCD码的左移操作,即将每个字节的数值乘以10,并将移出的最高位保存在指定寄存器中。 #### 四、子程序库的集成方式 子程序库有两种主要的集成方式...

    ascii-bcd.rar_ASCII BCD_ASCII BCD_BCD ASCII_ascii 转换_bcd

    在IT领域,ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)和BCD码(Binary Coded Decimal,二进制编码的十进制数)是两种常见的数字表示方式。ASCII码主要用于文本数据的...

    日期时间转换成ASC码或者BCD码

    ASC码(ASCII码)和BCD码(二进制编码的十进制数)是两种常见的编码方式,用于将日期和时间转换为数字格式,便于计算机处理。下面将详细介绍这两种编码方式以及它们在日期时间转换中的应用。 首先,ASCII码...

    数字字符串转BCD码转字符串C函数

    数字字符串转BCD码,BCD码转字符串C函数,定义好的函数下载即可使用无需更改。

    ASCII 与 bcd 和 str 之间的转换

    ASCII 与 bcd 和 str 之间的转换

    BCD码转换成16进制

    在深入探讨BCD码转换为十六进制的过程之前,我们首先需要理解BCD(Binary-Coded Decimal)码和十六进制的基本概念。BCD码是一种将十进制数字编码为二进制形式的方法,其中每个十进制数字由四位二进制数表示,即每一...

    单片机-多字节二进制码转压缩BCD码示例(修正内容)

    本篇文章主要讨论了在51单片机环境下,如何将多字节的二进制数转换为压缩BCD(Binary-Coded Decimal,二进制编码的十进制数)码,并给出了详细的代码示例和注释说明。BCD码是一种用二进制编码表示十进制数字的方法,...

    八位二进制转bcd码

    **八位二进制转BCD码** 在数字电子技术中,二进制编码十进制(Binary-Coded Decimal,简称BCD码)是一种将十进制数字转换为二进制表示的方法,常用于计算机系统中处理数值数据,特别是在显示和打印数字时。BCD码的...

    BCD关于BCD码在PLC数据转换

    4. **BCD与ASCII码的转换**:在需要与人机界面(HMI)交互时,BCD码可能需要转换为ASCII码以便显示,反之亦然。 **四、BCD码的优缺点** 优点: - 提供精确的十进制数字表示。 - 适合处理金融和计量数据。 - 简化与...

    二进制转换成BCD码

    二进制转换成BCD码 本资源是一个将二进制数转换成BCD码的VHDL代码,提供32位转换,可以自行扩展。下面是对该代码的详细解释和知识点总结: 二进制和BCD码 在计算机科学中,二进制是最基本的数制,使用0和1两个...

    bcd2asc_demo.rar_BCD ASC_BCD 转 ASC||_bcd2asc_bcd码变asc码_bcd码转换asc

    标签中的“bcd_asc”、“bcd_转_asc”、“bcd2asc”等关键词进一步明确了这个程序的核心功能——将BCD编码的数据转换成ASCII编码。这可能涉及到解析BCD码,将其转换为相应的十进制数,然后再转换为ASCII字符。 ...

Global site tag (gtag.js) - Google Analytics