给楼主一段程序参考!
;二、八、十、十六进制任意进制数字之间的转换(限制16位二进制,即最大十进制的65535)。
;输入数字放在VAL中,二进制后加B,十进制省略,16进制后加H。
;转换成的进制类型放在B中,2为二进制,8为八进制,10为十进制, 16为十六进制
DATA SEGMENT
VAL DW 1100100B
B DW 10
BUF DB 16 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
LEA SI, BUF
MOV CX, 16
MOV AX, VAL
L1: MOV DX, 0
DIV B
MOV [SI], DL
INC SI
DEC CX
JNZ L1
MOV SI, OFFSET BUF
MOV BX, SIZE BUF
ADD SI, BX
DEC SI
MOV CX, 16
L2: MOV DL, [SI]
CMP DL, 10
JC L3
ADD DL, 7H
L3: ADD DL, 30H
MOV AH, 02H
INT 21H
DEC SI
DEC CX
JNZ L2