ZKX's LAB

汇编程序 十六进制数转换成ASCII码 汇编ascii转换为16进制原理

2021-04-25知识2

用8086汇编语言编写 把16进制数转化为ASCII码 如是一个字节,分两步:1、先将该字节循环左移四位,留低四位并加30H,然后判断该值是否大于39h,如是,则再加07H输出;否则直接输出。2、再将原低四位做同样处理输出。

怎么将16进制转换成ASCII码? 每个数字+0x30,每个字母+0x37就成了。比如开头五个fad1e:f的16进制是1111,加0x37即1111+00110111=01000110=0x46;a的16进制是1010,加0x37即1010+00110111=01000001=0x。

汇编语言 十六进制转换为ASCII码 请关注最后的注意点子程序如下:;假设之前已经有LEA SI,BUF和LEA DI,MASPUSHATRANS:MOV DX,2LODSBMOV AH,ALMOV CL,4SHR AH,CLCMP AH,0AHJB SAHADD AH,07HSAH:ADD AH,30HCHL AH,CLAND AL,0FHCMP AL,0AHJB SALADD AL,07HSAL:ADD AL,30HOR AL,AHMOV[DI],ALINC SIINC DIDEC DXJNZ TRANSPOPARETEND-注意点一:BUF为“字”,即十六位二进制数,分为四个十六进制数,则各数据各为四位二进制数。保证不超过0FH了。那么也就是十六进制数字的转换。注意点二:0~9这十个数的ASCII码与数字本身相差为30H,而A~F则是相差了37H,中间的7个是‘,’‘.’‘+’之类的符号。主程序只需将BUF与MAS的地址关联,然后调用CALL TRANSLATE就可以了。

#16进制转ascii码程序#汇编ascii转换为16进制原理#16进制转换成ascii#ascii码值转换为16进制

随机阅读

qrcode
访问手机版