十六进制转换ascii码 单片机BCD码如何转换为ASCII码?
单片机BCD码如何转换为ASCII码?
用查表法将十六进制数转换成ascⅡ代码:程序流程图:分析:也可以用计算法实现,但比较复杂。如果我们用查表法来解决这个问题,整个程序就会简单易懂。将0-F对应的ASCⅡ码从地址开始依次放入单元中,通过设置地址指针和索引指针来实现。程序和流程图如下:(R)ORG 0400h,rmov dptr,#0600h;设置地址指针,rmov a,R0;将转换值取为a,ranl a,#0Fh;屏蔽高位4位以获得地址更改地址,rmovc a,@a dptr;查表,rmov 20h,a;保存结果,rsjmp$ org 0600h,RDB 30h,31h,32H,33H,34h,RDB 35h,36h,37h,38h,39H;RDB 41h,42h,43h,44h,45h,46h
代码段假设CS:Code,DS:Code BCDuUnumber DB 45h,32H,56h,98H DW 6 dup(?)开始:push CS pop DS push CS pop es使数据段、附加段和代码段成为同一段CLD、Lea Si、BCD编号Lea di、BCD编号[8]mov CX、2 Rep movsw将这四个字节的压缩BCD代码保存到后续单元Lea Si,BCD 8字节之外的字节数u8]lea di,BCD unumber mov cx,4 BCD uascii:lodsb push cx mov cx,4 xor ah,ah shl ax,cl shr al,cl or ax,3030h xchg ah,al stosw pop cx loop BCD uascii Exit upro:mov ah,4CH end program int 21h code ends end start
如何把ASCII码转换成BCD码?
十六进制转换ascii码 bcd码转十进制 ascii码与bcd码的转换表
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。