将一个字节的二进制数转换为两位16 进制数的ASCⅡ码
扫描二维码
随时随地手机看文章
将一个字节的二进制数转换为两位16 进制数的ASCⅡ码
main: mov a,@0x9f ;二进制数为0x9f
mov 0x30,a ;二进制数存入0x30
mov a,@0x02
mov 0x10,a ;0x10 中存放转换次数
mov a,@0x31
mov 0x04,a ;0x04 中为转换后数据存放地址
mov a,0x30
B1: and a,@0x0f ;取a 低4 位
mov 0x00,a
sub a,@0x09 ;低4 位大于9 跳往B2
jbs 0x03,0
jmp B2
mov a,0x00 ;低4 位不大于9 则加0x30
add a,@0x30
mov 0x00,a ;将ASCⅡ码存入0X04 所指单元
jmp B3
B2: mov a,0x00 ;大于9 则加0X37
add a,@0x37
mov 0x00,a
B3: swapa 0x30 ;将0X30 高4 位换入A 低4 位
inc 0x04 ;存储地址加1
djz 0x10 ;循环次数减1,为0 则返回
jmp B1 ;不为0 继续转换
self: jmp self
eop