压缩型bcd码的转化 压缩BCD码转换成ASCII码?
压缩BCD码转换成ASCII码?
代码段假定CS:Code,DS:Code BCD编号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字节之外的字节数[8]lea di,BCDunumber mov cx,4 BCDuascii: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 BCDuascii Exituproc:mov ah,4CH end program int 21h code ends end start
BCD表示二进制编码的十进制数
!]用十六进制表示二元时,方便,4位二进制缩写为1位十六进制)
用十六进制表示10元时,因为最小单位通常是1字节(8位)
例如,10元数15的十六进制是0f(8位),所以f之前的0是浪费的。
这是未压缩的BCD代码,对于915意味着090f,而压缩的BCD代码使用4位。例如915直接表示为9F
看,不同的是BCD码是8位的,4位的浪费用0填充,压缩的BCD码是4位的,没有浪费
BCD码代表十进制数,非压缩的BCD码代表8位,其实只有4位低位,4位高位都是0。
例如,十进制数字36用未压缩BCD代码表示为:0000001100000110,即两个字节。
压缩BCD代码,省略0的高位四位,用一个字节表示两个BCD代码。
或者,十进制数字36,用压缩BCD代码表示:00110110,只有一个字节。已保存一个字节。
压缩型bcd码的转化 十进制转bcd码在线转换 26的压缩bcd码
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。