汇编语言 十进制数转变为二进制数 实例

如,将1234转变为二进制的整数。
2025-04-06 07:20:49
推荐回答(3个)
回答1:

觉得短2除法运算还麻烦了,干脆用移位。右移一位就是除以二。以下是参考代码,不懂再问。

STACKS SEGMENT
DW 40H DUP(?)
TOP LABEL WORD
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,SS:STACKS
START:
;此处输入代码段代码
MOV AX,STACKS
MOV SS,AX
LEA SP,TOP

MOV BX,1234 ;将要转换的数字给到BX,这里值可按需要更改

XOR CX,CX
L1: SHR BX,1 ;右移1位,将最低位放入标志寄存器的CF位(最低位)
PUSHF
POP DX ;标志寄存器中的值给到DX
AND DL,1 ;高位清零,保留最低位
ADD DL,30H ;从数字转换为字符
PUSH DX ;因为从最低位开始读的,所以要利用先读入后输出的机制
INC CX ;CX记录要输出的二进制数位的数量
CMP BX,0
JNE L1

;以上实现了到二进制的转换,和到字符的转换,现在我们把它输出
MOV AH,2
L2:
POP DX
INT 21H
LOOP L2 ;这里要用到上面的CX

MOV AH,4CH
INT 21H
CODES ENDS
END START

回答2:

进行2短除,每次的余数按倒序排列即为10011010010

回答3:

10011010010
其实很简单的