一个关于十六进制转二进制的程序,求助
帮帮忙排错啊。。
;enter 4 hexidecimal number, and than print the corresponding binary number.
STA SEGMENT STACK
DB 100H DUP(?)
TOP LABEL WORD
STA ENDS
DATA SEGMENT
ARRAY DB 100H DUP(?)
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,SS:STA,DS:DATA
START:
MOV AX,STA ;初始化
MOV SS,AX
LEA SP,TOP
MOV AX,DATA
MOV DS,AX
XOR SI,SI
XOR AH,AH
MOV CX,4
L1: MOV AH,01H ;输入,暂存在数组ARRAY中。
INT 21H
MOV ARRAY[SI],AL
INC SI
LOOP L1
MOV CL,4
XOR SI,SI
L2: MOV AL,ARRAY[SI] ;二重循环转换二进制。
SUB AX,30H
MOV BX,4
ROL AL,1
ROL AL,1
ROL AL,1
ROL AL,1
L3: XOR DL,DL
RCL AL,1
ADC DL,30H
MOV AH,02H
INT 21H
DEC BX
CMP BX,0
JNZ L3
LOOP L2
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END START
;enter 4 hexidecimal number, and than print the corresponding binary number.
STA SEGMENT STACK
DB 100H DUP(?)
TOP LABEL WORD
STA ENDS
DATA SEGMENT
ARRAY DB 100H DUP(?)
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,SS:STA,DS:DATA
START:
MOV AX,STA ;初始化
MOV SS,AX
LEA SP,TOP
MOV AX,DATA
MOV DS,AX
XOR SI,SI
XOR AH,AH
MOV CX,4
L1: MOV AH,01H ;输入,暂存在数组ARRAY中。
INT 21H
MOV ARRAY[SI],AL
INC SI
LOOP L1
MOV CL,4
XOR SI,SI
L2: MOV AL,ARRAY[SI] ;二重循环转换二进制。
SUB AX,30H
MOV BX,4
ROL AL,1
ROL AL,1
ROL AL,1
ROL AL,1
L3: XOR DL,DL
RCL AL,1
ADC DL,30H
MOV AH,02H
INT 21H
DEC BX
CMP BX,0
JNZ L3
LOOP L2
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END START
...全文
相关推荐
对网友求助问题的几个回帖展示之三十七
在本例中,求助者希望实现两个循环的交替执行,并将它们分别放入不同的子程序中。主程序负责循环调用这两个子程序。
Java程序十进制转二进制,八进制,十六进制
); }}```当运行这个程序并输入一个十进制数时,它会输出相应的二进制、八进制和十六进制表示。
C++十六进制转二进制
本文将深入探讨如何在C++中进行十进制到十六进制以及十六进制到二进制的转换,这对于我们理解和处理计算机内部的数据表示至关重要。首先,让我们从十进制转十六进制开始。
labview十六进制转二进制
labview十六进制转二进制,输入字符串控件是十六进制显示!不是正常显示那种超级简单的转换!
二进制转十六进制
RAPTOR是一种基于流程图的可视化程序设计环境。而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令。这是基于raptor软件制作的一个二进制转十六进制的程序。


