十六进制转换成二进制(汇编)用汇
这是我曾经写的一个程序,这段代码的作用是循环4次输入4位16进制数,我把它转换位2进制数,方法就是对于每一位数(现在是ASCII码)转化为0——9或a——f的数,然后左移4位,放到一个变量里面,循环就行了,也就是16进制转换为2进制的基本算法,左移4位,不断的进行。 。
XOR BX,BX ;BX里面放输入后经转换的2进制数
MOV CL,04 ;转换的时候移位次数
MOV AH,01
MOV DI,4 ;循环4次输入
LP1: SHL BX,CL ;由于最高位也只移3个4位,所以就放在前面。
INT 21H
SUB AL,30H ;输入的1位数与0的ascii比较
CMP AL,9...全部
这是我曾经写的一个程序,这段代码的作用是循环4次输入4位16进制数,我把它转换位2进制数,方法就是对于每一位数(现在是ASCII码)转化为0——9或a——f的数,然后左移4位,放到一个变量里面,循环就行了,也就是16进制转换为2进制的基本算法,左移4位,不断的进行。
。
XOR BX,BX ;BX里面放输入后经转换的2进制数
MOV CL,04 ;转换的时候移位次数
MOV AH,01
MOV DI,4 ;循环4次输入
LP1: SHL BX,CL ;由于最高位也只移3个4位,所以就放在前面。
INT 21H
SUB AL,30H ;输入的1位数与0的ascii比较
CMP AL,9
JBE DEAL1 ;不小于9的为A,B,C等值
SUB AL,7 ;根据位置关系再减7
DEAL1: ADD BL,AL ;转换后的数存入BL
DEC DI
CMP DI,0
JNZ LP1
。
收起